Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-8557

[Broker-J] Batching mode for CoalescingCommitter

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • qpid-java-broker-8.0.5
    • None
    • Broker-J
    • None

    Description

      Although QPID-8547 introduced configurable parameters for CoalescingCommitter, BDB log is flushed to disc on every message. That is caused by calling future.get() inside of org.apache.qpid.server.txn.AsyncCommand.complete(). Such call forces broker to wait until CoalescingCommiter calls #CommitThread#processJobs() making the operation effectively sync instead of async (every message triggers processJobs() and data flush).

      To improve overall performance we suggest to add batching mode for CoalescingCommitter, which would consider BDBVirtualHost parameters and flush data in chunks of size ${qpid.broker.bdbCommiterNotifyThreshold} or every ${qpid.broker.bdbCommiterWaitTimeout} ms (whatever comes first).

      Attachments

        Activity

          People

            Unassigned Unassigned
            daniel.kirilyuk Daniil Kirilyuk
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: