-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
| 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
MathieuDutSik
left a comment
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
| impl TestKeyValueStore for JournalingKeyValueStore<ScyllaDbStoreInternal> { | ||
| async fn new_test_config() -> Result<ScyllaDbStoreInternalConfig, ScyllaDbStoreInternalError> { | ||
| let uri = "localhost:9042".to_string(); | ||
| 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