-
Notifications
You must be signed in to change notification settings - Fork 17
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
Create new cursor file if existing one is corrupt #2
Comments
I've implemented this in my fork: https://github.com/juni-b-queer/jetstream With these updates,
|
This is neat, I'm glad to see people getting some use out of Jetstream and am sorry you're running into these issues. TBH I think I'd rather figure out why/how the cursor file is being corrupted when saving and fix that rather than add a cursor backup feature at the moment. If possible I'd want to keep the complexity of the service down and I think backups feel like they address the symptoms of a reliability problem and it'd be neat to fix the reliability problem at the root. I'll dig into it a bit and see if I can find anything but if you've got any logs from an improper shutdown or anything like that, I'd be interested to see if the cursor manager logs a failure or how the program might be getting killed in such a way that it can't take the few milliseconds it needs to shutdown safely. If it's being interrupted mid-write it makes me thing somehow we're not waiting properly for the program to exit or something is hard killing the process while it's in the process of shutting down. |
I've had a number of times where, for some reason, my jetstream container stops abruptly without saving the cursor file properly. So when it restarts, the cursor file exists, but it's empty/corrupt, so jetstream throws an error when trying to start its subscription. This prevents the container from coming back online without manual intervention (removing the cursor file).
I'll likely implement this is my fork, but it would be helpful if
I'm going to try to implement this, but I have very very little go experience.
The text was updated successfully, but these errors were encountered: