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

Make rocksdb configurable #1658

Merged
merged 6 commits into from
Aug 22, 2023
Merged

Make rocksdb configurable #1658

merged 6 commits into from
Aug 22, 2023

Conversation

evgeniy-scherbina
Copy link
Contributor

@evgeniy-scherbina evgeniy-scherbina commented Jul 31, 2023

Related commit: Kava-Labs/tm-db@7fb308e

Steps before merge:

  • make tm-db release and change version in go.mod - DONE
  • remove temporary test.sh script - DONE

Future improvements:

  • somehow integrate CheckOptionsCompatibility
  • add e2e tests?

@evgeniy-scherbina evgeniy-scherbina force-pushed the yevhenii/rocksdb-config branch 8 times, most recently from dd0164b to 8673449 Compare August 4, 2023 17:34
@evgeniy-scherbina evgeniy-scherbina marked this pull request as ready for review August 4, 2023 17:35
@evgeniy-scherbina evgeniy-scherbina force-pushed the yevhenii/rocksdb-config branch 2 times, most recently from 8e910ff to 2e2bb72 Compare August 4, 2023 18:16
@@ -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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

@nddeluca nddeluca left a 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{
Copy link
Member

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)
Copy link
Member

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

Copy link
Contributor Author

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

@evgeniy-scherbina evgeniy-scherbina force-pushed the yevhenii/rocksdb-config branch 2 times, most recently from 122c632 to 750082e Compare August 21, 2023 22:19
@evgeniy-scherbina evgeniy-scherbina merged commit 90fbe1a into master Aug 22, 2023
9 checks passed
@evgeniy-scherbina evgeniy-scherbina deleted the yevhenii/rocksdb-config branch August 22, 2023 15:24
evgeniy-scherbina added a commit that referenced this pull request Aug 23, 2023
@evgeniy-scherbina evgeniy-scherbina added the A:backport/kava_2222-10 Backport patches to all kava_2222-10 release/* branches label Sep 5, 2023
mergify bot pushed a commit that referenced this pull request Sep 5, 2023
* 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
mergify bot pushed a commit that referenced this pull request Sep 5, 2023
* 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
mergify bot pushed a commit that referenced this pull request Sep 5, 2023
* 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
mergify bot pushed a commit that referenced this pull request Sep 5, 2023
* 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
mergify bot pushed a commit that referenced this pull request Sep 5, 2023
* 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
mergify bot pushed a commit that referenced this pull request Sep 5, 2023
* 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)
evgeniy-scherbina added a commit that referenced this pull request Sep 6, 2023
* 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]>
evgeniy-scherbina added a commit that referenced this pull request Sep 7, 2023
* 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]>
evgeniy-scherbina added a commit that referenced this pull request Sep 7, 2023
* 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]>
evgeniy-scherbina added a commit that referenced this pull request Sep 7, 2023
* 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]>
evgeniy-scherbina added a commit that referenced this pull request Sep 7, 2023
* 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]>
evgeniy-scherbina added a commit that referenced this pull request Sep 7, 2023
* 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]>
pirtleshell pushed a commit that referenced this pull request Oct 25, 2023
* 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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A:backport/kava_2222-10 Backport patches to all kava_2222-10 release/* branches
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants