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

ColumnIdentifier object size wrong when tables are not flushed

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Normal
    • Resolution: Fixed
    • Fix Version/s: 3.0.14, 3.11.0, 4.0
    • Component/s: Legacy/Core
    • Labels:
      None
    • Severity:
      Normal
    • Since Version:

      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

        1. columnidentifier.png
          46 kB
          Eduard Tudenhoefner

          Activity

            People

            • Assignee:
              eduard.tudenhoefner Eduard Tudenhoefner
              Reporter:
              eduard.tudenhoefner Eduard Tudenhoefner
              Authors:
              Eduard Tudenhoefner
              Reviewers:
              Joel Knighton
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: