[
https://issues.apache.org/jira/browse/CASSANDRA-8231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robert Stupp updated CASSANDRA-8231:
------------------------------------
Attachment: 8231-notes.txt
Yes - too many objects are measured.
It's not just instances of {{Class}}.
Also instances of {{AbstractType}}, reverse comparators of {{AbstractType}},
{{ColumnDefinition}}, {{Function}} - maybe more.
Additionally a single object is measured as often as it is referenced.
I've attached {{8231-notes.txt}} that shows the classes that are measured (used
a patched version of jamm).
> Wrong size of cached prepared statements
> ----------------------------------------
>
> Key: CASSANDRA-8231
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8231
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Jaroslav Kamenik
> Assignee: Benjamin Lerer
> Attachments: 8231-notes.txt
>
>
> Cassandra counts memory footprint of prepared statements for caching
> purposes. It seems, that there is problem with some statements, ie
> SelectStatement. Even simple selects is counted as 100KB object, updates,
> deletes etc have few hundreds or thousands bytes. Result is that cache -
> QueryProcessor.preparedStatements - holds just fraction of statements..
> I dig a little into the code, and it seems that problem is in jamm in class
> MemoryMeter. It seems that if instance contains reference to class, it counts
> size of whole class too. SelectStatement references EnumSet through
> ResultSet.Metadata and EnumSet holds reference to Enum class...
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)