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

Use bbolt instead of the legacy bolt implementation #11720

Merged
merged 4 commits into from
Dec 3, 2021
Merged

Use bbolt instead of the legacy bolt implementation #11720

merged 4 commits into from
Dec 3, 2021

Conversation

mkeeler
Copy link
Member

@mkeeler mkeeler commented Dec 2, 2021

In addition to just swapping out bbolt for bolt this also exposes a configuration to allow for disabling boltdb freelist syncing.
Finally it also enables metrics emission for the raft boltdb store to give us insights into boltdb performance.

@github-actions github-actions bot added pr/dependencies PR specifically updates dependencies of project theme/config Relating to Consul Agent configuration, including reloading labels Dec 2, 2021
mkeeler and others added 3 commits December 2, 2021 16:56
# Conflicts:
#	agent/config/testdata/TestRuntimeConfig_Sanitize-enterprise.golden
#	agent/consul/server.go
@vercel vercel bot temporarily deployed to Preview – consul December 2, 2021 21:59 Inactive
@vercel vercel bot temporarily deployed to Preview – consul-ui-staging December 2, 2021 21:59 Inactive
Copy link
Contributor

@freddygv freddygv left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@dnephin dnephin left a comment

Choose a reason for hiding this comment

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

I guess we'll want to document these new metrics, but not required for this PR

@freddygv freddygv merged commit e246def into main Dec 3, 2021
@freddygv freddygv deleted the bbolt branch December 3, 2021 21:44
@hc-github-team-consul-core
Copy link
Collaborator

🍒 If backport labels were added before merging, cherry-picking will start automatically.

To retroactively trigger a backport after merging, add backport labels and re-run https://circleci.com/gh/hashicorp/consul/517055.

@david-yu
Copy link
Contributor

david-yu commented Dec 3, 2021

Btw I just noticed @mkeeler the latest version of bbolt is actually 1.3.6. It was discussed here: etcd-io/bbolt#278, but it was released as a tag on the GitHub repo, but not actually released via GitHub releases.

shoenig added a commit to hashicorp/nomad that referenced this pull request Feb 23, 2022
This PR swaps the underlying BoltDB implementation from boltdb/bolt
to go.etc.io/bbolt.

In addition, the Server has a new configuration option for disabling
NoFreelistSync on the underlying database.

Freelist option: https://github.com/etcd-io/bbolt/blob/master/db.go#L81
Consul equivelent PR: hashicorp/consul#11720
shoenig added a commit to hashicorp/nomad that referenced this pull request Feb 23, 2022
This PR swaps the underlying BoltDB implementation from boltdb/bolt
to go.etc.io/bbolt.

In addition, the Server has a new configuration option for disabling
NoFreelistSync on the underlying database.

Freelist option: https://github.com/etcd-io/bbolt/blob/master/db.go#L81
Consul equivelent PR: hashicorp/consul#11720
shoenig added a commit to hashicorp/nomad that referenced this pull request Feb 23, 2022
This PR swaps the underlying BoltDB implementation from boltdb/bolt
to go.etc.io/bbolt.

In addition, the Server has a new configuration option for disabling
NoFreelistSync on the underlying database.

Freelist option: https://github.com/etcd-io/bbolt/blob/master/db.go#L81
Consul equivelent PR: hashicorp/consul#11720
shoenig added a commit to hashicorp/nomad that referenced this pull request Feb 23, 2022
This PR swaps the underlying BoltDB implementation from boltdb/bolt
to go.etc.io/bbolt.

In addition, the Server has a new configuration option for disabling
NoFreelistSync on the underlying database.

Freelist option: https://github.com/etcd-io/bbolt/blob/master/db.go#L81
Consul equivelent PR: hashicorp/consul#11720
shoenig added a commit to hashicorp/nomad that referenced this pull request Feb 23, 2022
This PR swaps the underlying BoltDB implementation from boltdb/bolt
to go.etc.io/bbolt.

In addition, the Server has a new configuration option for disabling
NoFreelistSync on the underlying database.

Freelist option: https://github.com/etcd-io/bbolt/blob/master/db.go#L81
Consul equivelent PR: hashicorp/consul#11720
shoenig added a commit to hashicorp/nomad that referenced this pull request Feb 23, 2022
This PR swaps the underlying BoltDB implementation from boltdb/bolt
to go.etc.io/bbolt.

In addition, the Server has a new configuration option for disabling
NoFreelistSync on the underlying database.

Freelist option: https://github.com/etcd-io/bbolt/blob/master/db.go#L81
Consul equivelent PR: hashicorp/consul#11720
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr/dependencies PR specifically updates dependencies of project theme/config Relating to Consul Agent configuration, including reloading
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants