Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
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