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

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

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Fix Version/s: 1.0.2
    • Component/s: None
    • Labels:

      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. 3427.patch
          6 kB
          Sylvain Lebresne
        2. CASSANDRA-3427.patch
          2 kB
          mck
        3. 3427_v2.patch
          10 kB
          Sylvain Lebresne
        4. jmx_jvm_memory-week.png
          22 kB
          mck
        5. jmx_jvm_memory-month.png
          23 kB
          mck
        6. 0001-debugging.patch
          2 kB
          Sylvain Lebresne

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: