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: pooled event processor - coordination tasks not scheduled when releaseClaim throws exception #2224

Closed
wants to merge 2 commits into from

Conversation

fabio-couto
Copy link
Contributor

Basic information

  • Axon Framework version: 4.5.x
  • JDK version: 11.0.13

Steps to reproduce

When using a RDBMS as Event Store, Event Bus and Token Store, and the database goes offline, the scenario below occurs:

  1. The CoordinationTask from Pooled Event Processor cannot read more events from stream, so it starts the abortAndScheduleRetry logic;
  2. In abortAndScheduleRetry, the application tries to release claim in token store, but as the database is offline, this throws another exception;
  3. The completable future chain are not handling exceptional completation, and because it, the task reschedule and the wait back off logic are not being executed;
  4. When the database comes online again, as the reschedule is not happening, the application does not recover by itself, requiring a restart of the JVM.

Expected behaviour

The coordination task reschedule should execute always (respecting the error wait back off intervals).
So, when the DB comes online again, the application can reconnect and continue processing events.

Actual behaviour

The application does not recover by itself, does not throw exceptions, and does not generate a log record reporting this situation. Also, the related event processors don't handle the new events, requiring a restart of the service.

@CLAassistant
Copy link

CLAassistant commented May 14, 2022

CLA assistant check
All committers have signed the CLA.

@smcvb smcvb added Type: Bug Use to signal issues that describe a bug within the system. Priority 2: Should High priority. Ideally, these issues are part of the release they’re assigned to. Status: Obsolete Use to signal this issue is no longer necessary. labels May 17, 2022
@smcvb smcvb added this to the Release 4.5.10 milestone May 17, 2022
@smcvb smcvb self-requested a review May 17, 2022 11:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority 2: Should High priority. Ideally, these issues are part of the release they’re assigned to. Status: Obsolete Use to signal this issue is no longer necessary. Type: Bug Use to signal issues that describe a bug within the system.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants