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

Batchlog writes consume unnecessarily large amounts of CPU on vnodes clusters

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Fix Version/s: 1.2.13, 2.0.4
    • Component/s: None
    • Labels:
      None

      Description

      The cloneTokenOnlyMap call in StorageProxy.getBatchlogEndpoints causes enormous amounts of CPU to be consumed on clusters with many vnodes. I created a patch to cache this data as a workaround and deployed it to a production cluster with 15,000 tokens. CPU consumption drop to 1/5th. This highlights the overall issues with cloneOnlyTokenMap() calls on vnodes clusters. I'm including the maybe-not-the-best-quality workaround patch to use as a reference, but cloneOnlyTokenMap is a systemic issue and every place it's called should probably be investigated.

        Attachments

        1. 6488-fix.txt
          4 kB
          Aleksey Yeschenko
        2. 6488-v3.txt
          10 kB
          Aleksey Yeschenko
        3. 6488-v2.txt
          6 kB
          Jonathan Ellis
        4. graph (21).png
          41 kB
          Rick Branson
        5. 6488-rbranson-patch.txt
          5 kB
          Rick Branson

          Activity

            People

            • Assignee:
              rbranson Rick Branson
              Reporter:
              rbranson Rick Branson
              Reviewer:
              Aleksey Yeschenko
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: