Skip to content

Update go.etcd.io/bbolt to v1.3.2#3041

Merged
dmcgowan merged 1 commit intocontainerd:masterfrom
thaJeztah:bump_da_bolt
Mar 7, 2019
Merged

Update go.etcd.io/bbolt to v1.3.2#3041
dmcgowan merged 1 commit intocontainerd:masterfrom
thaJeztah:bump_da_bolt

Conversation

@thaJeztah
Copy link
Copy Markdown
Member

full diff etcd-io/bbolt@v1.3.1-etcd.8...v1.3.2

Relevant changes:

use segregated hashmap to replace the original freeids allocating and releasing approach.
It is much faster than the original version, especially when the db size is large or the fragmentation in the db is large, we can gain 1000x faster performance.

Relevant changes:

- ectd-io/bbolt#139 update the freelist readIDs
- etcd-io/bbolt#140 add getFreePageIDs
- etcd-io/bbolt#141 use segregated hashmap to boost the freelist allocate and release performance

Signed-off-by: Sebastiaan van Stijn <[email protected]>
// The alternative one is using hashmap, it is faster in almost all circumstances
// but it doesn't guarantee that it offers the smallest page id available. In normal case it is safe.
// The default type is array
FreelistType FreelistType
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Looks like the default didn't change; no idea if changing is possible and/or if it would bring benefits in containerd?

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The default doesn't change yet, the new freelist type(hashmap) is experimental for now.

Copy link
Copy Markdown

@WIZARD-CXY WIZARD-CXY Feb 22, 2019

Choose a reason for hiding this comment

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

The new freelist type will bring performance boost in almost all cases, especially when the dbsize is large

@dmcgowan
Copy link
Copy Markdown
Member

Considering the freelist change is opt in and experimental, so won't have an effect. Do any of the other changes have a positive effect on performance or stability? If it is just neutral we can update just to keep up to date, just want that to be clear.

@thaJeztah
Copy link
Copy Markdown
Member Author

If it is just neutral we can update just to keep up to date, just want that to be clear.

yes, so currently it's just neutral, so it would also make sense to hold off updating if there's no important stability fixes

@crosbymichael
Copy link
Copy Markdown
Member

LGTM

1 similar comment
@dmcgowan
Copy link
Copy Markdown
Member

dmcgowan commented Mar 7, 2019

LGTM

@dmcgowan dmcgowan merged commit aa328df into containerd:master Mar 7, 2019
@thaJeztah thaJeztah deleted the bump_da_bolt branch March 7, 2019 17:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants