Uploaded image for project: 'Apache Cassandra Java driver'
  1. Apache Cassandra Java driver
  2. CASSJAVA-41

Reduce lock held duration in ConcurrencyLimitingRequestThrottler

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • 4.19.0
    • None
    • None

    Description

      This JIRA covers the java driver PR: https://github.com/apache/cassandra-java-driver/pull/1957

      via: jasonkoch:

      It might take some (small) time for callback handling when the throttler request proceeds to submission.

      Before this change, the throttler proceed request will happen while holding the lock, preventing other tasks from proceeding when there is spare capacity and even preventing tasks from enqueuing until the callback completes.

      By tracking the expected outcome, we can perform the callback outside of the lock. This means that request registration and submission can proceed even when a long callback is being processed.

      Attachments

        Issue Links

          Activity

            People

              jasonkoch Jason Koch
              andrew.tolbert Andy Tolbert
              Jason Koch
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: