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

CompressionMetadata is not shared across threads, we create a new one for each read

    XMLWordPrintableJSON

Details

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

    Description

      The CompressionMetada holds the compressed block offsets in memory. Without being absolutely huge, this is still of non-negligible size as soon as you have a bit of data in the DB. Reallocating this for each read is a very bad idea.

      Note that this only affect range queries, since "normal" queries uses CompressedSegmentedFile that does reuse a unique CompressionMetadata instance.

      ( Background: http://thread.gmane.org/gmane.comp.db.cassandra.user/21362 )

      Attachments

        1. 0001-debugging.patch
          2 kB
          Sylvain Lebresne
        2. jmx_jvm_memory-month.png
          23 kB
          Michael Semb Wever
        3. jmx_jvm_memory-week.png
          22 kB
          Michael Semb Wever
        4. 3427_v2.patch
          10 kB
          Sylvain Lebresne
        5. CASSANDRA-3427.patch
          2 kB
          Michael Semb Wever
        6. 3427.patch
          6 kB
          Sylvain Lebresne

        Activity

          People

            slebresne Sylvain Lebresne
            slebresne Sylvain Lebresne
            Sylvain Lebresne
            Pavel Yaskevich
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: