-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
Oleg Zhurakousky opened INT-2013 and commented
The expireMessageGroups(long timeout) - is called by the MessageGroupStoreReaper which is invoked by the scheduler. The issue is that the partial release timeout specified on the Reaper is absolutely meaningless since it will only be checked on each scheduled Reaper run.
For example
<task:scheduled ref="reaper" method="run" fixed-rate="60000"/> - Reaper will run every 1 min
<property name="timeout" value="3000" /> - timeout property of the Reaper is set to 3 sec
The 3 seconds becomes meaningless since partial release can happen no earlier than 1 min.
Obviously one can tune up the Reaper scheduling times but it may only get you closer to what you intended but never what you really intended.
IMHO we should get rid of the Reaper all together and simply schedule a one-time task every time a MessageGroupStore is created or partially released and ONLY if send-partial-result-on-expiry is set to 'true'. Getting rid of the Reaper will also help to address the combination issue described in #5952 where MessageGroupStore which is configured with Reaper has to be provided.
Affects: 2.0.5
This issue is a sub-task of #6135