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

ColumnIdentifier object size wrong when tables are not flushed

    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 jkni / blerer we shouldn't probably take ColumnDefinition into account when measuring object sizes with MemoryMeter

      Attachments

        1. columnidentifier.png
          46 kB
          Eduard Tudenhoefner

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: