Skip to content
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

Temporary File Cleanup Can Cause Kinesis Producer to Fail #81

Closed
pfifer opened this issue Nov 22, 2016 · 4 comments
Closed

Temporary File Cleanup Can Cause Kinesis Producer to Fail #81

pfifer opened this issue Nov 22, 2016 · 4 comments
Assignees
Labels
Milestone

Comments

@pfifer
Copy link
Contributor

pfifer commented Nov 22, 2016

The Kinesis Producer, by default, stores native files in a directory in /tmp. This includes the executable, and certificates used to access Kinesis itself. Temporary cleanup cron jobs can remove these files, and while the Kinesis Producer will still run it will be unable to make TLS connections due to a missing certificates.

Failures of the KPL will include an error similar to below

[AWS Log: ERROR](CurlHttpClient)Curl returned error code 60

If you're affected by this the current best fix is to restart the parent Java process. This will restore the missing files, and return the KPL to normal.

There are a couple of temporary workarounds:

  • Disable your temporary file cleanup job
  • Keep the certificate file alive with a recently modified date
    Adding this as a cron job should keep the certificate file from being cleaned up
touch /tmp/amazon-kinesis-producer-native-binaries/b204d74a.0
  • Restart the Java process on a regular schedule
    After each restart the Java process should replace the files.
@pfifer pfifer added the bug label Nov 22, 2016
@pfifer pfifer self-assigned this Nov 22, 2016
@pfifer pfifer added this to the v0.12.3 milestone Nov 22, 2016
pfifer added a commit that referenced this issue Nov 25, 2016
* The Java process will periodically reset the last modified times for
  native components. This will help to ensure that these files aren't
  deleted by automated cleanup scripts.
  * Fixes Issue #81
@pfifer
Copy link
Contributor Author

pfifer commented Nov 25, 2016

Released new version 0.12.3 that fixes this.

@pfifer pfifer closed this as completed Nov 25, 2016
@felipe-vvoosh
Copy link

I'm having this issue even using 0.12.5...

@umatrangolo
Copy link

Still happening for me with 0.12.7.

2018-05-15 03:17:10,316 [kpl-daemon-0003] ERROR com.amazonaws.services.kinesis.producer.LogInputStreamReader - [2018-05-15 03:17:10.316354] [0x00002ce9][0x00007faf8548370
0] [error] [AWS Log: ERROR](CurlHttpClient)Curl returned error code 60

Bouncing the JVM will fix but is not ideal having downtime for this.

@buremba
Copy link

buremba commented Jun 14, 2018

I'm using 0.12.6 and recently run into this problem. The CPU load was around 15% the errors are similar to what @umatrangolo had. I had to restart the JVM to fix the problem but we had downtime because if this bug.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants