-
Notifications
You must be signed in to change notification settings - Fork 180
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Amazon Complaining about Missing Date Header When Creating/Fetching S3 Repository #233
Comments
I'm also experiencing this issue using Docker+Elasticsearch 1.4 container and
|
Seems to be related to some change in the Docker base images: aws/aws-sdk-java#484 |
It seems the required change is to use Amazon SDK v1.10.11 for any version of OpenJDK 1.8u60 and above (in the case of the base Docker images, 1.8u66 is the new base version used for 1.8). I'm not exactly sure how to go about testing this or if there is something else that needs to be done to get this change into all of the versions, but I tried modifying the pom.xml file in v1.5 branch and run a "mvn clean install", but get the following error: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.2:testCompile (default-testCompile) on project elasticsearch-cloud-aws: Compilation failure |
@lusid Thats because that class no longer implements all the methods present in the AmazonS3. I've actually implemented them, packaged a new version with the latest Amazon SDK dependency but it still gives the same error. Upon inspecting the generated zip, I saw that it still includes Forcing to use the latest joda-time will issue an runtime error on ES:
I think Elasticsearch is not loading the joda-time present in the plugin, so I think Elasticsearch's joda-time needs to be updated to use the latest version. |
dadoonet linked here on my pull request where they updated the aws-sdk in ES 5 days ago to 1.10.10: elastic/elasticsearch#12859 I guess we are just waiting then at this point. |
Seeing this too. I'd say this is pretty urgent given people wanting to recover into a new cluster can't because they can't create the repository to recover from. |
Requests to recover shards from S3 are also failing:
Our workaround for this was to downgrade to a JVM version before 1.8u60 (thanks to @lusid for the tip). In our case we went back to 1.7.0_80. The cause appears to be a compatibility issue between JodaTime and later versions of java 8. See http://stackoverflow.com/questions/32058431/aws-java-sdk-aws-authentication-requires-a-valid-date-or-x-amz-date-header |
My workaround was similar. Downgrading to 1.8u45 solves it as well. |
Due to these: This bug: elastic/elasticsearch-cloud-aws#233 Example Fix: https://github.com/18F/docker-elasticsearch/pull/9/files
Any chance this fix will be applied to java version "1.8.0_73" ? Running |
@rodriguezsergio 2.4.3 won't be released so you have two options IMO:
Also, you could think of upgrading to 2.x which is even better but requires more work probably on your end. |
@dadoonet Yeah, we're trying to play catch-up with you Elastic guys. Stop releasing so much 😛. Will upgrade to 1.7. Thanks. |
I'm currently using v2.5.1 of this plugin successfully on one of my servers (running inside the official ES Docker image) to create and snapshot to an S3 repository. I recently started a new instance of ES in a new Docker container on the same server with the same exact configuration with the intention of restoring a snapshot, but noticed I could not create repositories or fetch listings of snapshots that exist in those repositories from the new instance. On the original instance, everything still works as expected, but now I'm scared to shut down that Docker container since it is working correctly at the moment. As a side note, I did this exact same process just a couple days ago with success, so I'm not sure what has changed since Wednesday.
This is the error I'm getting:
Any idea what would be causing this? Thanks in advance!
The text was updated successfully, but these errors were encountered: