GitHub user franz1981 opened a pull request:
https://github.com/apache/activemq-artemis/pull/2459
ARTEMIS-2200 NPE while dropping/failing large messages on paging
Large messages pendingRecordID is not accessed atomically, leading
to races that would lead to records that cannot been found on the
journal for deletion: it would lead to cause NPE that won't clean
the pending tasks on the current OperationContextImpl.
Adding a cleanup on error of those tasks and avoiding the race
to happen by adding proper synchronization will both enforce
correct clean up when something bad happen and avoid NPE.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/franz1981/activemq-artemis ARTEMIS-2200
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/activemq-artemis/pull/2459.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 #2459
----
commit 47e17ee754044ec1b2bcf0f1712f71a994ed0009
Author: Francesco Nigro <nigro.fra@...>
Date: 2018-12-07T08:35:08Z
ARTEMIS-2200 NPE while dropping/failing large messages on paging
Large messages pendingRecordID is not accessed atomically, leading
to races that would lead to records that cannot been found on the
journal for deletion: it would lead to cause NPE that won't clean
the pending tasks on the current OperationContextImpl.
Adding a cleanup on error of those tasks and avoiding the race
to happen by adding proper synchronization will both enforce
correct clean up when something bad happen and avoid NPE.
----
---