-
Notifications
You must be signed in to change notification settings - Fork 2k
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
core: swap bolt impl and enable configuring raft freelist sync behavior #12107
Conversation
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
This PR modifies the server and client agents to use `go.etc.io/bbolt` as the implementation for their state stores.
underlying implementation provided by `go.etcd.io/bbolt`. Downgrading to a previous | ||
version of the server after upgrading it to Nomad 1.3 is not supported. |
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.
Maybe we should be a little more prescriptive to help folks out with our No Going Back upgrades:
Like any Nomad upgrade it is recommended that you take a snapshot of your database prior to upgrading to use in case you need to downgrade.
Heavily inspired by https://www.consul.io/docs/upgrading/upgrade-specific#raft-storage-changes but removed the if you expect that you will need to downgrade.
because who ever expects they'll need to downgrade? 😬
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.
👍
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.
RIP Original Bolt. Stablest abandonware I've ever used.
Left some ideas on the docs but nothing to block on.
I was at Gophercon 2014 when bolt was announced. I remember thinking, "nobody would use this..." |
I'm going to lock this pull request because it has been closed for 120 days ⏳. This helps our maintainers find and focus on the active contributions. |
This PR swaps the underlying BoltDB implementation from boltdb/bolt
to go.etc.io/bbolt. Applies to both server raft store and client data store.
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
Closes #11775