Skip to content

Improve MessageGroupStoreReaper Algorithms [INT-2754] #6730

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

Closed
spring-operator opened this issue Sep 18, 2012 · 1 comment
Closed

Improve MessageGroupStoreReaper Algorithms [INT-2754] #6730

spring-operator opened this issue Sep 18, 2012 · 1 comment

Comments

@spring-operator
Copy link
Contributor

spring-operator commented Sep 18, 2012

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)


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.

Affects: 2.2 M4

Issue Links:

@spring-operator
Copy link
Contributor Author

Artem Bilan commented

After introducing a MessageGroupFactory strategy: https://docs.spring.io/spring-integration/docs/current/reference/html/system-management.html#message-group-factory we don't load the whole group with its messages from the store by default: only metadata.

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.

Therefore I treat this ticket as fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants