You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Gary Tully (JIRA)" <ji...@apache.org> on 2014/07/09 18:05:04 UTC
[jira] [Created] (AMQ-5266) Stuck Messages in Single Broker when
using JDBC Persistent Store
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)