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. ---- ---