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

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

Log workAgile BoardRank to TopRank to BottomAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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. 3427.patch
          6 kB
          Sylvain Lebresne
        2. CASSANDRA-3427.patch
          2 kB
          Michael Semb Wever
        3. 3427_v2.patch
          10 kB
          Sylvain Lebresne
        4. jmx_jvm_memory-week.png
          22 kB
          Michael Semb Wever
        5. jmx_jvm_memory-month.png
          23 kB
          Michael Semb Wever
        6. 0001-debugging.patch
          2 kB
          Sylvain Lebresne

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment