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

draft release v1.3.1 #1941

Closed
wants to merge 14 commits into from
Closed

draft release v1.3.1 #1941

wants to merge 14 commits into from

Conversation

brilliant-lx
Copy link
Collaborator

Description

Release v1.3.1 is a maintenance release to support PBSS on BSC.
PBSS stands for: Path-Based-Storage-Scheme, which is used to optimize the MPT trie tree access, to improve its efficiency and also brings the inline state prune. You could refer this post on how it works: Geth Path-Based Storage Model and Newly Inline State Prune

Currently, PBSS is disabled by default, use this new flag to enable it: --state.scheme path
Important
Before use PBSS, you need to make sure your MPT storage in levelDB are already in PBSS format. There are 2 options to get the PBSS storage:

  • 1.Full sync from genesis with the flag: --state.scheme path. // Not recommend, could take 3 months to catch up the latest block.
  • 2.Use the converting tool, refer: cmd/geth: add hbss to pbss convert tool #1882. // Recommend, could take ~3 days to complete the MPT convert from HashBased to PBSS.

Change Log

FEATURE

  • #1881 feat: active pbss
  • #1882 cmd/geth: add hbss to pbss convert tool
  • #1916 feat: cherry-pick pbss patch commits from eth repo in v1.13.2

BUGFIX

  • #1923 consensus/parlia: fix nextForkHash in Extra filed of block header

Example

NA

Compatibility

PBSS will have a new MPT storage scheme, although it is still based the Key/Value database, like LevelDB. HashBased storage could not use PBSS and vice versa.

brilliant-lx and others added 13 commits October 13, 2023 10:01
branch: merge v1.3.0 fix ups from master to develop
This changes implements faster post-selfdestruct iteration of storage slots for deletion, by using snapshot-storage+stacktrie to recover the trienodes to be deleted. This mechanism is only implemented for path-based schema.

For hash-based schema, the entire post-selfdestruct storage iteration is skipped, with this change, since hash-based does not actually perform deletion anyway.

---------

Co-authored-by: Martin Holst Swende <[email protected]>
Avoid truncating files, if ancients are opened in readonly mode. With this change, we return error instead of trying (and failing)  to repair
…(#28163)

* trie: remove internal nodes between shortNode and child in path mode

* trie: address comments

* core/rawdb, trie: address comments

* core/rawdb: delete unused func

* trie: change comments

* trie: add missing tests

* trie: fix lint
@brilliant-lx brilliant-lx deleted the develop_lock_v1.3.1 branch December 14, 2023 03:37
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.

9 participants