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

Draining a node might fail to delete all inactive commitlogs

    XMLWordPrintableJSON

Details

    • Normal

    Description

      After issuing a drain command, it's possible that not all of the inactive commitlogs are removed.

      The drain command shuts down the CommitLog instance, which in turn shuts down the CommitLogSegmentManager. This has the effect of discarding any pending management tasks it might have, like the removal of inactive commitlogs.

      This in turn leads to an excessive amount of commitlogs being left behind after a drain and a lengthy recovery after a restart. With a fleet of dozens of nodes, each of them leaving several GB of commitlogs after a drain and taking up to two minutes to recover them on restart, the additional time required to restart the entire fleet becomes noticeable.

      This problem is not present in 3.x or trunk because of the CLSM rewrite done in CASSANDRA-8844.

      Attachments

        1. 13123-2.2.8.txt
          6 kB
          Jan Urbański
        2. 13123-3.0.10.txt
          4 kB
          Jan Urbański
        3. 13123-3.9.txt
          2 kB
          Jan Urbański
        4. 13123-trunk.txt
          2 kB
          Jan Urbański

        Activity

          People

            wulczer Jan Urbański
            wulczer Jan Urbański
            Jan Urbański
            Jason Brown
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: