activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <>
Subject [jira] [Created] (AMQ-5266) Stuck Messages in Single Broker when using JDBC Persistent Store
Date Wed, 09 Jul 2014 16:05:04 GMT
Gary Tully created AMQ-5266:

             Summary: Stuck Messages in Single Broker when using JDBC Persistent Store
                 Key: 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

View raw message