Gary Tully created AMQ-5266:
-------------------------------

             Summary: Stuck Messages in Single Broker when using JDBC 
Persistent Store
                 Key: AMQ-5266
                 URL: https://issues.apache.org/jira/browse/AMQ-5266
             Project: ActiveMQ
          Issue Type: Bug
          Components: Message Store
    Affects Versions: 5.10.0
            Reporter: Gary Tully
            Assignee: Gary Tully
             Fix For: 5.11.0


With multiple concurrent producer transactions and active fast consumers it is 
possible to get out of order db insertions and scans resulting in a skipped 
dispatch. This scenario is exacerbated when the cursor cache is disabled 
because every dispatch will potentially result in a scan.
the JDBC store maps jms transaction to jdbc connection transactions at the 
point of a commit and these can occur in parallel. The broker tracks a 
sequenceId to ensure ordering relative to a jms connection and  scans respect 
that order but there is currently nothing to stop a scan seeing a later 
sequence before an earlier sequence is stored. In other words, inserts can 
race, but the reader needs to limit a read to the lowest outstanding sequence.

On a restart, any stuck messages will be replayed correctly, because the cursor 
transient state w.r.t to the last sequence id read will be reset.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to