[ 
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)

Reply via email to