We are trying to mount the s3 storage( S3 compatible DataCore (caringo)) bucket on elastic 9.3.0 using the below command and we are getting "s3_exception: A header you provided implies functionality that is not implemented. (Service: S3, Status Code: 501, Request ID: 286BE1B0D952065D) (SDK Attempt Count: 1)"
I agree that the analyze repository tool that @stephenb linked would be a good thing to try. It might give you a more useful error message. I suspect that DataCore doesn't support if-none-match headers on a put object request, and that you'll need to set unsafely_incompatible_with_s3_conditional_writes to true for your repository. I've never used DataCore though, so I don't know if that will actually help, or if you'll run into other problems after that.
Might be worth noting this option is now marked as deprecated, exactly one minor release after it was Generally Available.
Personally, I'd take very careful note of the wording in the documentation.
(boolean) Elasticsearch uses AWS S3's support for conditional writes to protect against repository corruption. If your repository is based on a storage system which claims to be S3-compatible but does not accept conditional writes, set this setting to true to make Elasticsearch perform unconditional writes, bypassing the repository corruption protection, while you work with your storage supplier to address this incompatibility with AWS S3. Defaults to false.
Are you really working with DataCore on this specific incompatibility with S3 ?
I'm thinking this might be a bug in the documentation. The setting is not marked as deprecated in the code. I'm trying to track where this deprecation came from. The name of the setting though definitely implies that this is not our first choice in how we want to interact with a repository.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.