cosmos / iavl

Merkleized IAVL+ Tree implementation in Go
Apache License 2.0
409 stars 256 forks source link

WIP: IAVL v2 pruning implementation #882

Closed kocubinski closed 4 months ago

kocubinski commented 5 months ago

Builds on https://github.com/cosmos/iavl/pull/872 by adding pruning support for both leaf nodes and tree nodes.

Moves sqlite write operations to 2 process loops in separate go threads. This allows for pruning to proceed concurrently with writes from SaveVersion for both leaf nodes and tree nodes.

Removed some dead, unused and/or confusing code.