-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Make ScyllaDB replication factor configurable #3788
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
Make ScyllaDB replication factor configurable #3788
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
6fd307a
to
5e7a71d
Compare
linera-service/src/linera/main.rs
Outdated
@@ -1339,7 +1343,7 @@ impl ClientOptions { | |||
let storage_config = self.storage_config()?; | |||
debug!("Running command using storage configuration: {storage_config}"); | |||
let store_config = storage_config | |||
.add_common_config(self.common_config()) | |||
.add_common_config(self.common_config(), self.storage_replication_factor) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't it what the common config was about though?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I can add it to the common config
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First comment is that the addition of a storage-replication-factor
is generally a good idea. I think that in operations, the ScyllaDb instance is not spun out in that way. But, it is a nice thing to have it available for tests.
Where I think this is more problematic is where should we put this setting.
As is apparent, this is not an internal setting of ScyllaDB. The ScyllaDB instance is already running, either in Docker or some other system. Therefore, the replication factor should be next to the uri
and should be obtained when parsing the --storage
entry.
5e7a71d
to
8691581
Compare
8691581
to
e6786ca
Compare
e6786ca
to
11e93bc
Compare
1082be6
to
c0bae58
Compare
6b804f1
to
4930e8e
Compare
c0bae58
to
fa8dbb4
Compare
4930e8e
to
22d7171
Compare
fa8dbb4
to
dac015a
Compare
22d7171
to
32eb499
Compare
dac015a
to
b95af69
Compare
32eb499
to
05a929a
Compare
b95af69
to
f5e964e
Compare
05a929a
to
0d5275a
Compare
f5e964e
to
a078dbc
Compare
0d5275a
to
46bf043
Compare
a078dbc
to
48fbe06
Compare
46bf043
to
5f0e62a
Compare
48fbe06
to
c9e259d
Compare
5f0e62a
to
1971bcf
Compare
@@ -887,6 +890,7 @@ impl TestKeyValueStore for JournalingKeyValueStore<ScyllaDbStoreInternal> { | |||
let common_config = CommonStoreInternalConfig { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm trying to remove this common config because most options there only work for a subset of the databases
1971bcf
to
2a07fcc
Compare
c9e259d
to
1cf0afb
Compare
2a07fcc
to
4f383ee
Compare
Motivation
We'll use replication factor of 1 in CI and locally, but probably will use 3 in deployed networks on GCP
Proposal
Add an option to support that
Test Plan
CI + deployed network locally
Release Plan