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

ColumnIdentifier object size wrong when tables are not flushed

Agile BoardAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Normal

    Description

      It turns out that the object size of ColumnIdentifier is wrong when cassandra.test.flush_local_schema_changes: false. This looks like stuff is being wrongly reused when no flush is happening.

      We only noticed this because we were using the prepared stmt cache and noticed that prepared statements would account for 1-6mb when cassandra.test.flush_local_schema_changes: false. With cassandra.test.flush_local_schema_changes: true (which is the default) those would be around 5000 bytes.

      Attached is a test that reproduces the problem and also a fix.

      Also after talking to Joel Knighton / Benjamin Lerer we shouldn't probably take ColumnDefinition into account when measuring object sizes with MemoryMeter

      Attachments

        Activity

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

          People

            eduard.tudenhoefner Eduard Tudenhoefner Assign to me
            eduard.tudenhoefner Eduard Tudenhoefner
            Eduard Tudenhoefner
            Joel Knighton
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment