[
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: [email protected]
For additional commands, e-mail: [email protected]