Uploaded image for project: 'HornetQ'
  1. HornetQ
  2. HORNETQ-1224

Concurrent calling of QueueImpl.deliver() results in duplicated messages

    Details

      Description

      In QueueImpl, when paging involved, the deliver() method maybe concurrent called by different executors (the one in the queue and the one from page subscription). Although either of them is ordered executors, they schedule tasks independently of each other. So there is a chance when both executors are used, each has a thread calling deliver(). This may lead to the message acknowledgement on a consumer out of order and the message delivered more than once.

      See the attached test in the forum discussion.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                borges Francisco Borges
                Reporter:
                gaohoward Yong Hao Gao
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: