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
ehcache3 Client side code Ignoring hash invalidation requests when not fully constructed #2437
Comments
Note that the above was seen in a version that was 1 week old. Testing is in progress on the latest version to see if it still exists. |
Some more analysis data:
|
From the above set of comments, looks like the following is happening: Client 1 completed its lifecycle, created its cache and did a putIfAbsent... In the meantime, client 2 started its lifecycle causing platform to think that another client is connected to this entity. Now this client is not yet ready to accept messages (its response listeners are not setup)..So it totally ignores the ClientInvalidationHash message. Client 1 times out waiting for the ClientInvalidationDone message Myself and @AbfrmBlr chatted a bit about this and both of us feel this is where the window exists. |
just confirmed that this happens with the latest version as well. |
… response listeners
… response listeners
… response listeners
… response listeners
… response listeners
… response listeners
… response listeners
… response listeners
… response listeners
Fix #2437 : Wait for the client entity to complete init while processing server messages
This issue was not properly addressed as it was later realized that the core may re-order a fetchEntity response with the clientInvalidateHash and after this it was also realized that it is a single threaded SEDA stage, which means a wait inside responselistener is not correct. |
The following messages are still occassionally seen on ehcache3 clients:
This looks like a race condition situation as after this message typically the client timesout awaiting the hash invalidation message.
The text was updated successfully, but these errors were encountered: