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

New changes in EI 2.2.1 queuing up events in Event-handler threads causes events lost if EI crashes or restarts. #469

Open
tobiasake opened this issue Jun 29, 2020 · 0 comments
Labels
bug Something is wrong and needs fixing.

Comments

@tobiasake
Copy link
Contributor

tobiasake commented Jun 29, 2020

Description

A potential critical issue can occur in the new EI 2.2.1 when number of SubscriptionHandler threads has been changes from unlimit to limit number of aggregation process.
This causes events process is stuck in waiting state in EventHandler threads if SusbcriptionHandler Queue is full and QueueCapacity is reached.
If EI crashes or restarts events/aggrations will be lost.
If QueueCapacity is reached, then event and aggregations might be lost as well, depending on if threads is blocking or not blocking when trying to add aggregationobject to the SubscriptionHandlerThread queue.
Most of the events might have been aggregated and some not, but no SubscriptionHandler thread will never be created for those Events aggregations and no matching with Subscriptions will never be made.

Better to remove those two ThreadHandlers and use only one Threadhandler and ThreadPool, and let Events to be handled in AMQP queue instead of the Java application memory.

Or revert the 2.2.1 version changes.

Motivation

Avoid loss of Events/Aggregation and keep the persistent of events in the AMQP queue.

Exemplification

Benefits

Persistence of un-processed events and aggregations.
Memory consumption by EI will probably be reduced.
Other resource consumption will probably be reduced also, due to less threads and queue threads in memory.
Load on MongoDb will might be decreased.
Processing number of events from AMQP queue will probably be the same.

Possible Drawbacks

@tobiasake tobiasake changed the title New changes in EI 2.2.1 queuing up events in Event-handler threads and is lost if EI crash or restarts. New changes in EI 2.2.1 queuing up events in Event-handler threads causes events lost if EI crashes or restarts. Jun 29, 2020
@tobiasake tobiasake added the bug Something is wrong and needs fixing. label Jun 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something is wrong and needs fixing.
Projects
None yet
Development

No branches or pull requests

1 participant