[ 
https://issues.apache.org/jira/browse/CASSANDRA-18784?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17769726#comment-17769726
 ] 

Blake Eggleston commented on CASSANDRA-18784:
---------------------------------------------

After some discussion with Benedict, I've rewritten the previously posted patch 
here: https://github.com/belliottsmith/cassandra-accord/pull/7

This complements eviction by actively removing commands from CommandsForKeys so 
they don't have to be loaded, which should improve loading times and 
allocations significantly in workloads with high contention.

Most of this patch is refactoring commands for keys into a small 
TimestampsForKey object and 2 sets of CommandsForKey. One that includes all 
unevicted commands, for use with recovery, and another containing only the 
commands needed to calculate deps for new operations. PreLoadContext has been 
updated to support specifying which command timeseries, if any, needs to be 
loaded for an operation. The command timeseries component is no longer directly 
updateable, but is updated via a CommandsForKey updater, which can target one 
or both subsets.

On the Cassandra side, this will enable caching blind updates from the CFK 
listener and flushing to disk when appropriate, without having to first load 
them into memory.

> CEP-15: Accord - reduce command deps
> ------------------------------------
>
>                 Key: CASSANDRA-18784
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18784
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Accord
>            Reporter: Blake Eggleston
>            Assignee: Blake Eggleston
>            Priority: Normal
>
> Commands do not need to list every known command as a dependency, by taking 
> deps on the most recently committed commands, and the chain of deps between 
> them and any uncommitted commands.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to