Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-7594

Disruptor Thrift server worker thread pool not adjustable

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Normal
    • Resolution: Fixed
    • Fix Version/s: 2.0.11
    • Component/s: None
    • Labels:
      None

      Description

      For the THsHaDisruptorServer, there may not be enough threads to run blocking StorageProxy methods. The current number of worker threads is hardcoded at 2 per selector, so 2 * numAvailableProcessors(), or 64 threads on a 16-core hyperthreaded machine. StorageProxy methods block these threads, so this puts an upper bound on the throughput if hsha is enabled. If operations take 10ms on average, the node can only handle a maximum of 6,400 operations per second. This is a regression from hsha on 1.2.x, where the thread pool was tunable using rpc_min_threads and rpc_max_threads.

        Attachments

        1. CASSANDRA-7594.patch
          3 kB
          Pavel Yaskevich
        2. disruptor-thrift-server-0.3.6-SNAPSHOT.jar
          39 kB
          Pavel Yaskevich
        3. jstack.txt
          52 kB
          Philip Thompson
        4. thrift-server-0.3.7-SNAPSHOT.jar
          39 kB
          Pavel Yaskevich

          Activity

            People

            • Assignee:
              xedin Pavel Yaskevich
              Reporter:
              rbranson Rick Branson
              Authors:
              Pavel Yaskevich
              Reviewers:
              Jason Brown
              Tester:
              Rick Branson
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: