Uploaded image for project: 'AMQ Broker'
  1. AMQ Broker
  2. ENTMQBR-2192

NPE while dropping/failing large messages on paging

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Minor Minor
    • None
    • AMQ 7.2.1.GA
    • None
    • Hide

      Set DROP policy on a specific address, specifying a small max size eg 15 Mebibytes.
      Send enough large messages (eg 100 Kibibytes = 100*1024 bytes) to see that some are dropped eg 15 Mebibytes address max size means that with 200 message of 100 Kibibytes you get several (>40) messages dropped.

      Show
      Set DROP policy on a specific address, specifying a small max size eg 15 Mebibytes. Send enough large messages (eg 100 Kibibytes = 100*1024 bytes) to see that some are dropped eg 15 Mebibytes address max size means that with 200 message of 100 Kibibytes you get several (>40) messages dropped.

      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.

              fnigro Francesco Nigro
              fnigro Francesco Nigro
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: