[
https://issues.apache.org/jira/browse/CASSANDRA-19757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17868803#comment-17868803
]
David Capwell edited comment on CASSANDRA-19757 at 7/25/24 9:09 PM:
--------------------------------------------------------------------
[~benedict] [~ifesdjeen] I was asked to take a look at this patch because one
of the tests I wrote is now failing... Looking at SimulatedMultiKeyAndRangeTest
what is going on is that we removed ExecutionOrder which means that PreAccept /
BeginRecovery now execute in non-deterministic order... I asked [~ifesdjeen]
about this and was told you two talked and said it's safe to remove... why is
it safe? In order to process those 2 messages we need to "load" w/e was asked
in the context (CommandsFor[Key|Ranges]) which is async... we then run w/e the
async load is complete, causing the ordering to be non-deterministic...
So, the test is failing with the following
{code}
1) schedule txn_1
2) schedule txn_2
3) schedule txn_3
4) execute txn_2 -- no dependencies
5) execute txn_3 -- depends on txn_2
6) execute txn_1 -- depends on txn 2/3
{code}
was (Author: dcapwell):
[~benedict] [~ifesdjeen] I was asked to take a look at this patch because one
of the tests I wrote is now failing... Looking at SimulatedMultiKeyAndRangeTest
what is going on is that we removed ExecutionOrder which means that PreAccept /
BeginRecovery now execute in non-deterministic order... I asked [~ifesdjeen]
about this and was told you two talked and said it's safe to remove... why is
it safe? In order to process those 2 messages we need to "load" w/e was asked
in the context (CommandsFor[Key|Ranges]) which is async... we then run w/e the
async load is complete, causing the ordering to be non-deterministic...
So, the test is failing with the following
{code}
1) schedule txn_1
2) schedule txn_2
3) schedule txn_3
4) execute txn_2
5) execute txn_3
6) execute txn_1
{code}
> Accord Journal / Determinism: Load Command states from the log
> ---------------------------------------------------------------
>
> Key: CASSANDRA-19757
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19757
> Project: Cassandra
> Issue Type: Improvement
> Components: Accord
> Reporter: Alex Petrov
> Assignee: Alex Petrov
> Priority: High
> Labels: pull-request-available
> Fix For: 5.1
>
> Attachments: ci_summary.html
>
>
> * Persist intermediate Command inthe journal
> * Simplify AccordJournal by removing Framing
> * Save command outcomes to the log
> * Reconstruct latest command state from the log entries
> * Replace `SerializerSupport#reconstruct` with log reconstruction
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]