Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

STAR-1903: ConsistencyLevel.THREE means ALL_BUT_ONE #943

Merged
merged 1 commit into from
Jan 25, 2024

Conversation

szymon-miezal
Copy link

@szymon-miezal szymon-miezal commented Jan 19, 2024

https://datastax.jira.com/browse/STAR-1903

Add a system property (dse.consistency_level.three_means_all_but_one) that changes the behaviour of ConsistencyLevel.THREE to mean ALL_BUT_ONE, i.e. that all replicas except for at most one in the cluster (across all DCs) must accept the write for it to be successful.

This is a bit disingenuous and hacky but a simple change that introduces a new
ConsistencyLevel, since otherwise that would require client and protocol changes.

Related dtest PR: datastax/cassandra-dtest#69

Some context for why it's needed

This patch was originally implemented in DSE under DSP-22366, the goal of this PR is to port it to CC to ensure DSE7 remains backwards compatible with 5.1 and 6.8.

This PR was created as a supplement of #936 to prevent code divergence.

Add a system property (dse.consistency_level.three_means_all_but_one)
that changes the behavior of ConsistencyLevel.THREE to mean
ALL_BUT_ONE, i.e. that all replicas except for at most one in the
cluster (across all DCs) must accept the write for it to be successful.
@szymon-miezal szymon-miezal merged commit 9875081 into ds-trunk Jan 25, 2024
438 of 447 checks passed
@szymon-miezal szymon-miezal deleted the STAR-1903-ds-trunk branch January 25, 2024 09:59
djatnieks pushed a commit that referenced this pull request Feb 21, 2024
Add a system property (dse.consistency_level.three_means_all_but_one)
that changes the behavior of ConsistencyLevel.THREE to mean
ALL_BUT_ONE, i.e. that all replicas except for at most one in the
cluster (across all DCs) must accept the write for it to be successful.

(cherry picked from commit 9875081)
djatnieks pushed a commit that referenced this pull request Mar 5, 2024
Add a system property (dse.consistency_level.three_means_all_but_one)
that changes the behavior of ConsistencyLevel.THREE to mean
ALL_BUT_ONE, i.e. that all replicas except for at most one in the
cluster (across all DCs) must accept the write for it to be successful.

(cherry picked from commit 9875081)
djatnieks pushed a commit that referenced this pull request Mar 22, 2024
Add a system property (dse.consistency_level.three_means_all_but_one)
that changes the behavior of ConsistencyLevel.THREE to mean
ALL_BUT_ONE, i.e. that all replicas except for at most one in the
cluster (across all DCs) must accept the write for it to be successful.

(cherry picked from commit 9875081)
djatnieks pushed a commit that referenced this pull request Mar 26, 2024
Add a system property (dse.consistency_level.three_means_all_but_one)
that changes the behavior of ConsistencyLevel.THREE to mean
ALL_BUT_ONE, i.e. that all replicas except for at most one in the
cluster (across all DCs) must accept the write for it to be successful.

(cherry picked from commit 9875081)
djatnieks pushed a commit that referenced this pull request Mar 27, 2024
Add a system property (dse.consistency_level.three_means_all_but_one)
that changes the behavior of ConsistencyLevel.THREE to mean
ALL_BUT_ONE, i.e. that all replicas except for at most one in the
cluster (across all DCs) must accept the write for it to be successful.

(cherry picked from commit 9875081)
djatnieks pushed a commit that referenced this pull request Mar 29, 2024
Add a system property (dse.consistency_level.three_means_all_but_one)
that changes the behavior of ConsistencyLevel.THREE to mean
ALL_BUT_ONE, i.e. that all replicas except for at most one in the
cluster (across all DCs) must accept the write for it to be successful.

(cherry picked from commit 9875081)
djatnieks pushed a commit that referenced this pull request Mar 29, 2024
Add a system property (dse.consistency_level.three_means_all_but_one)
that changes the behavior of ConsistencyLevel.THREE to mean
ALL_BUT_ONE, i.e. that all replicas except for at most one in the
cluster (across all DCs) must accept the write for it to be successful.

(cherry picked from commit 9875081)
djatnieks pushed a commit that referenced this pull request Mar 29, 2024
Add a system property (dse.consistency_level.three_means_all_but_one)
that changes the behavior of ConsistencyLevel.THREE to mean
ALL_BUT_ONE, i.e. that all replicas except for at most one in the
cluster (across all DCs) must accept the write for it to be successful.

(cherry picked from commit 9875081)
djatnieks pushed a commit that referenced this pull request Apr 1, 2024
Add a system property (dse.consistency_level.three_means_all_but_one)
that changes the behavior of ConsistencyLevel.THREE to mean
ALL_BUT_ONE, i.e. that all replicas except for at most one in the
cluster (across all DCs) must accept the write for it to be successful.

(cherry picked from commit 9875081)
djatnieks pushed a commit that referenced this pull request Apr 16, 2024
Add a system property (dse.consistency_level.three_means_all_but_one)
that changes the behavior of ConsistencyLevel.THREE to mean
ALL_BUT_ONE, i.e. that all replicas except for at most one in the
cluster (across all DCs) must accept the write for it to be successful.

(cherry picked from commit 9875081)
djatnieks pushed a commit that referenced this pull request May 17, 2024
Add a system property (dse.consistency_level.three_means_all_but_one)
that changes the behavior of ConsistencyLevel.THREE to mean
ALL_BUT_ONE, i.e. that all replicas except for at most one in the
cluster (across all DCs) must accept the write for it to be successful.

(cherry picked from commit 9875081)
jacek-lewandowski pushed a commit that referenced this pull request Jul 17, 2024
Add a system property (dse.consistency_level.three_means_all_but_one)
that changes the behavior of ConsistencyLevel.THREE to mean
ALL_BUT_ONE, i.e. that all replicas except for at most one in the
cluster (across all DCs) must accept the write for it to be successful.

(cherry picked from commit 9875081)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants