Gary Tully created AMQ-6164:
-------------------------------

             Summary: queue sendLock prevents concurrent journal updates
                 Key: AMQ-6164
                 URL: https://issues.apache.org/jira/browse/AMQ-6164
             Project: ActiveMQ
          Issue Type: Improvement
          Components: Broker, Message Store
    Affects Versions: 5.13.0
            Reporter: Gary Tully
            Assignee: Gary Tully
             Fix For: 5.14.0


concurrent producers contend on the queue sendlock rather than on the journal, 
preventing batching or in the case of jdbc, concurrent writes to the db.

The sendlock protects message order, however order is ultimately determined by 
the sequence id assigned by the persistence adapter. 
The ground work for aligning the cursors with the journal sequence ids was 
layed in https://issues.apache.org/jira/browse/AMQ-4485 and 
https://issues.apache.org/jira/browse/AMQ-5266

With the ordering between transacted and non transacted producers overlapping 
the cursor already respects the journal ordering, the sendLock need no longer 
protect the journal update.

With parallel journal updates we get the benefit of write batching (sharing an 
fsync) for multiple producers on a single destination.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to