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

Thread local pools never cleaned up

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • 3.0.11, 3.10
    • None
    • None
    • Normal

    Description

      Netty 4.x uses (Fast)ThreadLocal instances to provide a pool of (direct) buffers per thread (io.netty.buffer.PooledByteBufAllocator.PoolThreadLocalCache. However, these per-thread pools need to be cleaned up when a thread terminates (FastThreadLocal.removeAll()) - which is missing.

      Although the possibility that such per-thread pools ever need to be cleaned up, since we rarely terminate threads, it still may actually happen and manifest in a late and hard to detect out-of-memory situation. One possibility to raise such a scenario is to regularly stop and restart the native protocol service.

      Attachments

        Activity

          People

            snazy Robert Stupp
            snazy Robert Stupp
            Robert Stupp
            Jason Brown
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: