[
https://issues.apache.org/jira/browse/ARTEMIS-2200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16745485#comment-16745485
]
ASF subversion and git services commented on ARTEMIS-2200:
----------------------------------------------------------
Commit 702f445205de953a343c1beef436fc8b984c7624 in activemq-artemis's branch
refs/heads/master from Francesco Nigro
[ https://gitbox.apache.org/repos/asf?p=activemq-artemis.git;h=702f445 ]
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.
> NPE while dropping/failing large messages on paging
> ---------------------------------------------------
>
> Key: ARTEMIS-2200
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2200
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Affects Versions: 2.7.0, 2.6.3
> Reporter: Francesco Nigro
> Assignee: Francesco Nigro
> Priority: Minor
> Fix For: 2.7.0
>
> Time Spent: 1h 20m
> Remaining Estimate: 0h
>
> Due to a race condition while handling deletion (ie confirmation) of large
> messages dropped/failed due to paging, the Artemis journal try to delete the
> same records twice, throwing NPE while doing it.
> In addition, given that the NPE is unexpected, the broker is not cleaning up
> the pending stores on the OperationContext, leading to some leaking
> OperationContextImpl.TaskHolder instances.
> It is happening with any protocols ie Core, OpenWire, AMQP.
> Are not known yet other bad effects beyond the NPE and the leak.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)