-
Notifications
You must be signed in to change notification settings - Fork 273
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
feat(master): async pruning of orphan nodes #877
Closed
+262
−110
Closed
Changes from 28 commits
Commits
Show all changes
35 commits
Select commit
Hold shift + click to select a range
bcdaadf
build(deps): remove golangci-lint from deps (backport #787) (#788)
mergify[bot] 78072ce
fix: rootKey empty check by len equals 0 (backport #801) (#809)
mergify[bot] 715d878
chore: retract v0.21.x line (backport #812) (#813)
mergify[bot] ec9839f
feat: Uses BatchWithFlusher in iavl tree (backport #807) (#816)
mergify[bot] 4637357
refactor: make batcher configurable (backport #815) (#818)
mergify[bot] 8ae3597
perf: flush import batches in parallel (backport #793) (#820)
mergify[bot] 6baf530
build(deps): Bump golang.org/x/crypto from 0.11.0 to 0.12.0 (backport…
mergify[bot] 9d71b8a
build(deps): Bump cosmossdk.io/log from 1.1.0 to 1.2.0 (backport #804…
mergify[bot] 4827590
feat: Support concurrency for IAVL and fix Racing conditions (backpor…
mergify[bot] f528c1f
changelog prep for v1.0.0 (#824)
tac0turtle fdc599d
fix: data race of latestVersion (backport #834) (#835)
mergify[bot] c8922db
fix(nodedb): prevent deadlock by releasing DeleteVersionsFrom mutex o…
mergify[bot] d5b3b1e
fix: safe batch write (backport #838) (#845)
mergify[bot] 72911cb
refactor: remove unnecessary/repeated/pedantic code in BatchWithFlush…
mergify[bot] b0d383c
changelog for v1 (#848)
tac0turtle 7c66a6c
orphan change
czarcas7ic d8c630d
attempt at fix orphan concurrency
czarcas7ic 36069e6
Revert "attempt at fix orphan concurrency"
czarcas7ic 283e4ee
Dev orphan code
ValarDragon f983c8e
tune params
ValarDragon 5570973
Fix stacking
ValarDragon ae885e6
Fix
ValarDragon ec431e9
Use 32Byte encoding + make legacy encoding improvements
ValarDragon 49beaf0
Speedup key formatting
ValarDragon b589c45
Avoid making an extra heap copy in DecodeBytes
ValarDragon 4ea1f0a
lints
czarcas7ic 1f47598
lint
czarcas7ic 69b8cdb
Merge branch 'master' into adam/master-osmo-concurrency
czarcas7ic ac6a6d0
Merge branch 'master' into adam/master-osmo-concurrency
czarcas7ic 0f3941d
undo changelog change
czarcas7ic 43ceaae
fix import
czarcas7ic 7269aa0
fix prefix
czarcas7ic a4a3952
lint
czarcas7ic 09ce958
add changelog
czarcas7ic 9ec53ed
Update CHANGELOG.md
czarcas7ic File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
# Changelog | ||
|
||
## Unreleased | ||
## v1.0.0 (October 30, 2023) | ||
|
||
### Improvements | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
package keyformat | ||
|
||
import "encoding/binary" | ||
|
||
// This file builds some dedicated key formatters for what appears in benchmarks. | ||
|
||
// Prefixes a single byte before a 32 byte hash. | ||
type FastPrefixFormatter struct { | ||
prefix byte | ||
length int | ||
prefixSlice []byte | ||
} | ||
|
||
func NewFastPrefixFormatter(prefix byte, length int) *FastPrefixFormatter { | ||
return &FastPrefixFormatter{prefix: prefix, length: length, prefixSlice: []byte{prefix}} | ||
} | ||
|
||
func (f *FastPrefixFormatter) Key(bz []byte) []byte { | ||
key := make([]byte, 1+f.length) | ||
key[0] = f.prefix | ||
copy(key[1:], bz) | ||
return key | ||
} | ||
|
||
func (f *FastPrefixFormatter) Scan(key []byte, a interface{}) { | ||
scan(a, key[1:]) | ||
} | ||
|
||
func (f *FastPrefixFormatter) KeyInt64(bz int64) []byte { | ||
key := make([]byte, 1+f.length) | ||
key[0] = f.prefix | ||
binary.BigEndian.PutUint64(key[1:], uint64(bz)) | ||
return key | ||
} | ||
|
||
func (f *FastPrefixFormatter) Prefix() []byte { | ||
return f.prefixSlice | ||
} | ||
|
||
func (f *FastPrefixFormatter) Length() int { | ||
return 1 + f.length | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
If each batch accumulates in memory before flushing to disk doesn't it make sense to lock at write instead of Set/Delete?