activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <>
Subject [jira] [Resolved] (AMQ-5266) Stuck Messages in Single Broker when using JDBC Persistent Store
Date Thu, 10 Jul 2014 12:18:04 GMT


Gary Tully resolved AMQ-5266.

    Resolution: Fixed

fix in

scans are now limited to the last insert or the minimum pending insert, which ensures that
we don't read ahead of the destination order.

> Stuck Messages in Single Broker when using JDBC Persistent Store
> ----------------------------------------------------------------
>                 Key: AMQ-5266
>                 URL:
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Message Store
>    Affects Versions: 5.10.0
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>              Labels: Hanging, JDBC, Order
>             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