[ 
https://issues.apache.org/jira/browse/CASSANDRA-21354?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dmitry Konstantinov updated CASSANDRA-21354:
--------------------------------------------
    Change Category: Performance
         Complexity: Normal
      Fix Version/s: 6.x
                     7.x
             Status: Open  (was: Triage Needed)

> Avoid serialization and deserialization for coordnator local single partition 
> data read
> ---------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-21354
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21354
>             Project: Apache Cassandra
>          Issue Type: Improvement
>          Components: Local/Other
>            Reporter: Dmitry Konstantinov
>            Assignee: Dmitry Konstantinov
>            Priority: Normal
>             Fix For: 6.x, 7.x
>
>         Attachments: image-2026-05-07-10-10-16-886.png, may3_max_alloc.html
>
>
> Currently when we execute a local read we fetch data from SSTables and 
> Memtables using a merging iterator and write it to a byte buffer. Later when 
> we combine a CQL response we deserialize the data back to iterate over them 
> as a part of coordinator logic. So, we allocate rows and cells twice here, 
> during the read from SSTables/Memtables and during the deserialization by 
> coordinator logic if we read data locally (it is a typical scenario because 
> usually drivers are sending requests to replicas).
> The idea of optimization: if we do a single partition read of a small number 
> of rows we can keep the data in memory and avoid this double row objects 
> allocation.
> We should limit amount of such data kept in memory to avoid too much pressure 
> on GC due to extended lifetime for these objects and promoting them to an old 
> generation.
> So, a system property can be used to limit number of rows we keep in memory 
> in this scenario, as well as to disable the logic in case of any issues.
>  !image-2026-05-07-10-10-16-886.png|width=800! 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to