You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the reaper pulls an expired group which is then considered for reaping after acquiring a lock. By the time the lock is acquired, the group could have changed; this means we have to re-fetch the group.
MessageGroupStore currently does not support simply obtaining just a group's lastModified time, so in both cases, the whole group is pulled.
Improvements can be made to this algorithm by adding ```
MessageGroupStore.getLastModified(Object groupId)
Also, the AbstractCorrelatingMessageHandler now supports the LockRegistry. With a global lock implementation of the registry, these reaper changes would support group reaping across a distributed environment.
The AbstractCorrelatingMessageHandler.forceComplete(MessageGroup) now re-fetch the group for its actual data during the lock. See the comment in the source code for more info.
Gary Russell opened INT-2754 and commented
Currently, the reaper pulls an expired group which is then considered for reaping after acquiring a lock. By the time the lock is acquired, the group could have changed; this means we have to re-fetch the group.
MessageGroupStore currently does not support simply obtaining just a group's lastModified time, so in both cases, the whole group is pulled.
Improvements can be made to this algorithm by adding ```
MessageGroupStore.getLastModified(Object groupId)
Affects: 2.2 M4
Issue Links:
The text was updated successfully, but these errors were encountered: