GitHub user wy96f opened a pull request:
https://github.com/apache/activemq-artemis/pull/2445
ARTEMIS-2187 remove page from softcache before consumedpage
We found some PageCursorInfo in consumedPage map even if these
corresponding page file is deleted.
Suppose that there is a topic t with some messages not routed to subscriber
ta. When calling ta.deliverAsync(),
DeliverRunner->deliver->checkDepage->pageIterator.hasNext->
processACK->cleanup is called in the pageSubscription's executor(step1),
then checkDepage->pageIterator.hasNext->processACK->getPageInfo is
called(step2). At this time(step2) pageCursorInfo maybe again put into
consumedPage when the page is removed from consumedPage but not from
softCache(int step1).
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/wy96f/activemq-artemis
remove_page_from_softcache_before_consumedpage
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/activemq-artemis/pull/2445.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #2445
----
commit a801397db90b14e2a9fdf3957c1c42216c38101b
Author: yang wei <wy96fyw@...>
Date: 2018-11-29T03:24:45Z
ARTEMIS-2187 remove page from softcache before consumedpage
----
---