-
Notifications
You must be signed in to change notification settings - Fork 372
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 rocksdb configurable #1658
Conversation
dd0164b
to
8673449
Compare
8e910ff
to
2e2bb72
Compare
2e2bb72
to
6eb3072
Compare
@@ -17,6 +17,6 @@ jobs: | |||
- name: build rocksdb dependency | |||
run: bash ${GITHUB_WORKSPACE}/.github/scripts/install-rocksdb.sh | |||
env: | |||
ROCKSDB_VERSION: v7.10.2 | |||
ROCKSDB_VERSION: v8.1.1 |
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.
https://github.com/Kava-Labs/infrastructure/blob/master/packer/kava-ami/kava-internal-testnet-rocksdb.pkrvars.hcl is what internal testnet is using, will need to update the config and update existing nodes using the kava-node-updater(see https://kava-labs.atlassian.net/wiki/spaces/ENG/pages/1105231874/In+Place+Updates+of+a+Kava+Network and https://kava-labs.atlassian.net/wiki/spaces/ENG/pages/1147174913/How+to+upgrade+Kava+Mainnet+or+Testnets#Kava-Node-Updater-CLI for details - for everywhere this change needs to be deployed to (e.g. https://github.com/Kava-Labs/infrastructure/blob/master/packer/kava-ami/kava-public-testnet-rocksdb.pkrvars.hcl and https://github.com/Kava-Labs/infrastructure/blob/master/packer/kava-ami/kava-14-rocksdb.pkrvars.hcl) - doesn't need to be done in this pr but @evgeniy-scherbina please add a shortcut ticket to the epic for this work to track it
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.
Looks good. We will have quite a few more options in the future, so we'll likely want to group by a prefix at some point for better organization & a unique namespace
@@ -105,13 +106,15 @@ func addSubCmds(rootCmd *cobra.Command, encodingConfig params.EncodingConfig, de | |||
encodingConfig: encodingConfig, | |||
} | |||
|
|||
opts := ethermintserver.StartOptions{ |
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.
options look good 👍
|
||
// overrideDBOpts merges dbOpts and appOpts, appOpts takes precedence | ||
func overrideDBOpts(dbOpts *grocksdb.Options, appOpts types.AppOptions) *grocksdb.Options { | ||
maxOpenFiles := appOpts.Get(maxOpenFilesDBOptName) |
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.
These maybe should be prefixed so they can be grouped in app.toml? db.max_open_files
, rocksdb.max_open_files
, etc? Not sure the best prefix
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.
rocksdb.max_open_files
looks good
2b2514e
to
6eb3072
Compare
Make sure rocksdb tests are running in CI
122c632
to
750082e
Compare
042d096
to
ecb523f
Compare
This reverts commit 90fbe1a.
* Make rocksdb configurable * Make sure rocksdb tests are running in CI * Updating ci-rocksdb-build workflow * Remove test.sh * Update tm-db dependency (cherry picked from commit 90fbe1a) # Conflicts: # .github/workflows/ci-rocksdb-build.yml # Dockerfile-rocksdb # cmd/kava/cmd/root.go # go.mod # go.sum
* Make rocksdb configurable * Make sure rocksdb tests are running in CI * Updating ci-rocksdb-build workflow * Remove test.sh * Update tm-db dependency (cherry picked from commit 90fbe1a) # Conflicts: # .github/workflows/ci-rocksdb-build.yml # Dockerfile-rocksdb # cmd/kava/cmd/root.go # go.mod # go.sum
* Make rocksdb configurable * Make sure rocksdb tests are running in CI * Updating ci-rocksdb-build workflow * Remove test.sh * Update tm-db dependency (cherry picked from commit 90fbe1a) # Conflicts: # .github/workflows/ci-rocksdb-build.yml # Dockerfile-rocksdb # cmd/kava/cmd/root.go # go.mod # go.sum
* Make rocksdb configurable * Make sure rocksdb tests are running in CI * Updating ci-rocksdb-build workflow * Remove test.sh * Update tm-db dependency (cherry picked from commit 90fbe1a) # Conflicts: # .github/workflows/ci-rocksdb-build.yml # Dockerfile-rocksdb # cmd/kava/cmd/root.go # go.mod # go.sum
* Make rocksdb configurable * Make sure rocksdb tests are running in CI * Updating ci-rocksdb-build workflow * Remove test.sh * Update tm-db dependency (cherry picked from commit 90fbe1a) # Conflicts: # Dockerfile-rocksdb # cmd/kava/cmd/root.go
* Make rocksdb configurable * Make sure rocksdb tests are running in CI * Updating ci-rocksdb-build workflow * Remove test.sh * Update tm-db dependency (cherry picked from commit 90fbe1a)
* Make rocksdb configurable (#1658) * Make rocksdb configurable * Make sure rocksdb tests are running in CI * Updating ci-rocksdb-build workflow * Remove test.sh * Update tm-db dependency (cherry picked from commit 90fbe1a) # Conflicts: # .github/workflows/ci-rocksdb-build.yml # Dockerfile-rocksdb # cmd/kava/cmd/root.go # go.mod # go.sum * Resolve conflicts after mergify * Rocksdb Metrics (#1692) * Rocksdb Metrics * Add rocksdb namespace for options * Adding help to the metrics * CR's fixes * CR's fixes * CR's fixes * Increase number of options to configure rocksdb (#1696) * Change ethermint dependency from local path to release tag --------- Co-authored-by: Evgeniy Scherbina <[email protected]>
* Make rocksdb configurable (#1658) * Make rocksdb configurable * Make sure rocksdb tests are running in CI * Updating ci-rocksdb-build workflow * Remove test.sh * Update tm-db dependency (cherry picked from commit 90fbe1a) # Conflicts: # .github/workflows/ci-rocksdb-build.yml # Dockerfile-rocksdb # cmd/kava/cmd/root.go # go.mod # go.sum * Resolve conflicts after mergify * Rocksdb Metrics (#1692) * Rocksdb Metrics * Add rocksdb namespace for options * Adding help to the metrics * CR's fixes * CR's fixes * CR's fixes * Increase number of options to configure rocksdb (#1696) * Change ethermint dependency to release tag --------- Co-authored-by: Evgeniy Scherbina <[email protected]>
* Make rocksdb configurable (#1658) * Make rocksdb configurable * Make sure rocksdb tests are running in CI * Updating ci-rocksdb-build workflow * Remove test.sh * Update tm-db dependency (cherry picked from commit 90fbe1a) # Conflicts: # .github/workflows/ci-rocksdb-build.yml # Dockerfile-rocksdb # cmd/kava/cmd/root.go # go.mod # go.sum * Resolve conflicts after mergify * Rocksdb Metrics (#1692) * Rocksdb Metrics * Add rocksdb namespace for options * Adding help to the metrics * CR's fixes * CR's fixes * CR's fixes * Increase number of options to configure rocksdb (#1696) * Change ethermint dependency to release tag --------- Co-authored-by: Evgeniy Scherbina <[email protected]>
* Make rocksdb configurable (#1658) * Make rocksdb configurable * Make sure rocksdb tests are running in CI * Updating ci-rocksdb-build workflow * Remove test.sh * Update tm-db dependency (cherry picked from commit 90fbe1a) # Conflicts: # .github/workflows/ci-rocksdb-build.yml # Dockerfile-rocksdb # cmd/kava/cmd/root.go # go.mod # go.sum * Resolve conflicts after mergify * Rocksdb Metrics (#1692) * Rocksdb Metrics * Add rocksdb namespace for options * Adding help to the metrics * CR's fixes * CR's fixes * CR's fixes * Increase number of options to configure rocksdb (#1696) * Change ethermint dependency to release tag --------- Co-authored-by: Evgeniy Scherbina <[email protected]>
* Make rocksdb configurable (#1658) * Make rocksdb configurable * Make sure rocksdb tests are running in CI * Updating ci-rocksdb-build workflow * Remove test.sh * Update tm-db dependency (cherry picked from commit 90fbe1a) # Conflicts: # Dockerfile-rocksdb # cmd/kava/cmd/root.go * Resolve conflicts after mergify * Rocksdb Metrics (#1692) * Rocksdb Metrics * Add rocksdb namespace for options * Adding help to the metrics * CR's fixes * CR's fixes * CR's fixes * Increase number of options to configure rocksdb (#1696) --------- Co-authored-by: Evgeniy Scherbina <[email protected]>
* Make rocksdb configurable (#1658) * Make rocksdb configurable * Make sure rocksdb tests are running in CI * Updating ci-rocksdb-build workflow * Remove test.sh * Update tm-db dependency (cherry picked from commit 90fbe1a) * Rocksdb Metrics (#1692) * Rocksdb Metrics * Add rocksdb namespace for options * Adding help to the metrics * CR's fixes * CR's fixes * CR's fixes * Increase number of options to configure rocksdb (#1696) --------- Co-authored-by: Evgeniy Scherbina <[email protected]>
* Make rocksdb configurable (#1658) * Make rocksdb configurable * Make sure rocksdb tests are running in CI * Updating ci-rocksdb-build workflow * Remove test.sh * Update tm-db dependency (cherry picked from commit 90fbe1a) * Rocksdb Metrics (#1692) * Rocksdb Metrics * Add rocksdb namespace for options * Adding help to the metrics * CR's fixes * CR's fixes * CR's fixes * Increase number of options to configure rocksdb (#1696) --------- Co-authored-by: Evgeniy Scherbina <[email protected]>
Related commit: Kava-Labs/tm-db@7fb308e
Steps before merge:
tm-db
release and change version ingo.mod
-DONE
test.sh
script -DONE
Future improvements:
CheckOptionsCompatibility