Cassandra
  1. Cassandra
  2. CASSANDRA-6488

Batchlog writes consume unnecessarily large amounts of CPU on vnodes clusters

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major 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.

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

        Activity

        No work has yet been logged on this issue.

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development