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

Growing pending compactions

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • 1.2.5
    • None
    • None
    • Normal

    Description

      I noticed on one of our new cassandra production server, that "pending compactions" number is steadily growing. The cluster is under low write load, so "compactions are not keeping up" was not the case.

      A quick investigation shown, that compactions are stopping far before all pending tasks are completed. I also found, that if concurrent_compactors=1, background compactions are not happening at all.

      The bug is in BackgroundCompactionTask rescheduling logic. The executor pool "room control" code in CompactionManager.submitBackground() does not reschedule next background cycle, if executor.getActiveCount reach maximun pool size, so it is lost forever.

      So I patched it to always schedule single background cycle, regardless of the free room in executor pool.

      Attachments

        1. patch.diff
          2 kB
          Oleg Anastasyev
        2. pending_compactions_fixed.png
          69 kB
          Oleg Anastasyev

        Activity

          People

            m0nstermind Oleg Anastasyev
            m0nstermind Oleg Anastasyev
            Oleg Anastasyev
            Jonathan Ellis
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: