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

Fix/stabilizing-observers #1677

Merged
merged 9 commits into from
Jan 25, 2025
Merged

Fix/stabilizing-observers #1677

merged 9 commits into from
Jan 25, 2025

Conversation

einari
Copy link
Contributor

@einari einari commented Jan 25, 2025

Fixed

  • Adding fail safe error handling for ConnectionService during keep alive. If it fails within the keep alive loop, it will keep on going and not just die. Added logging if this occurs.
  • Added more error handling for AppendedEventsQueue to ensure the queue task is always alive, and if it stops it will be recreated. Logging the errors if they occur.
  • If a call to Handle() on the Observer fails, the AppendedEventsQueue will catch this and retry indefinitely. Any failures happening within the Observer should be handled by itself and rais failed partitions. But not being able to reach the Observer should not mean we move on to the next event. This might need a circuit breaker. For now we consider this scenario as a transient failure.
  • Observers will now not handle any events unless it is in the Active state. This is to prevent handling happening while transitioning between states.
  • Projections clean up after themselves by unregistering for definition changes.

@einari einari added the patch label Jan 25, 2025
@einari einari merged commit 2cf1d61 into main Jan 25, 2025
16 of 17 checks passed
@einari einari deleted the fix/stabilizing-observers branch January 25, 2025 07:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant