Skip to content

v1.1.2-rc.5

Compare
Choose a tag to compare
@quan8 quan8 released this 13 Feb 11:22
· 4 commits to release/1.1.2-rc.5 since this release

1.1.2-rc.5 is an optimization release. Improvements include batched genesis blocks processing, configurable DBs management, parallel EVM logs search and optimizations in p2p protocol.
Depending on hardware, it can achieve approximately ~1.3x improvement for events/blocks processing, ~3x improvement for genesis file processing (except for archive genesis files), ~5x improvement for logs search.

There are two migration options for upgrading to 1.1.2-rc.5:

  • Preserving the existing legacy DBs layout: --db.migration.mode reformat --db.preset legacy-ldb. This option is instant but will leave out some of the performance improvements for blocks/events processing.
  • Rebuilding DBs according to a new layout: --db.migration.mode rebuild --db.preset X, where X is a selected DBs layout. Migration will take a lot of time - for an NVMe SSD drive, the number of hours would be roughly datadir size in GB divided by 50 GB/hour. If the remaining disk space is insufficient to store a copy of largest DB in datadir/chaindata, then the migration will take up to 3 times longer, depending on available disk space.

Flags --db.migration.mode is required only if datadir isn't migrated yet.

There are 2 options for the new --db.preset flag:

  • ldb-1 - fastest LevelDB layout (default option).
  • pbl-1 - fastest Pebble layout.

Pebble offers slightly better performance and smaller IO utilization on average, especially with extended cache.
We don't recommend using Pebble presets for validators nor other mission-critical nodes yet.

Patch notes

  • Update license to LGPL-3 (#346)
  • Logs search optimization (#336)
  • Configurable DBs management based on routing rules (including Pebble as an option) (#343, #347, #357, #361)
  • DBs batching for genesis processing (#343)
  • Additional caches (#343)
  • Stricter conditions for starting LLR and txpool syncing (#343)
  • Add flag for restricting p2p networking to given IPs and hiding private nodes from public network (#340)
  • Fix block processing metrics, remove unused metrics (#348)
  • Desyncronize DBs flushes (#350)
  • Forbid unlocking accounts with enabled external RPC (#338)
  • Incremental genesis (#389)
  • Improve DB compaction (#384, #401)
  • Add support for --rpc.evmtimeout flag (#393)