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
Custom expiry timeouts may not be replicated #108
Comments
Reported by @brianoliver |
@prbaal77 said: |
@brianoliver said: The fix is to take notice of the DECO_EXPIRY, including making allowances for the special "default" and "never" expire flags. |
@brianoliver said: |
Marked as fixed by @brianoliver on Tuesday, September 2nd 2014, 12:52:16 pm |
This issue was imported from JIRA COHINC-108 |
Prior to an BinaryEntry being placed in the underlying Event Distribution framework custom decorations are removed. This unfortunately means DECO_EXPIRY may also be removed, which ultimately means any custom expiry time-outs on a BinaryEntry will be lost.
Instead of clearing/remove all custom decorations, we need to be a bit more selective, especially for DECO_EXPIRY. In the case of DECO_EXPIRY we need to do the following:
Prior to providing the BinaryEntry to the Event Distribution framework:
i). if the DECO_EXPIRY is NEVER or DEFAULT, leave it on the BinaryEntry.
ii). if the DECO_EXPIRY is a custom value, subtract Cluster time from the value and store that on the BinaryEntry (it should be >= 0).
iii). if the DECO_EXPIRY doesn't exist, ignore it.
Prior to updating the BinaryEntry on the remote site (see: com.oracle.coherence.patterns.eventdistribution.channels.cache.EntryEventProcessor):
i). get and remove the DECO_EXPIRY from the incoming BinaryEntry
ii). if the DECO_EXPIRY doesn't exist, ignore it.
iii). if the DECO_EXPIRY is NEVER or DEFAULT, call BinaryEntry.expire(...) using the specified value.
iv). if the DECO_EXPIRY is a custom value (>=0), add Cluster time to the value and then call BinaryEntry.expire(...)
Obviously we need to introduce new expiry-based tests for this improved functionality.
The text was updated successfully, but these errors were encountered: