github prysmaticlabs/prysm v1.3.0

latest releases: v5.0.3, v5.0.2, v5.0.1...
3 years ago

(2021-02-23)

Validator Slashing Protection DB Schema Changes

In the Pyrmont Testnet, Prysmatic Labs runs Prysm validators with a large volume of validating keys.
When operating at this scale, we have observed some inefficiencies in slashing protection db lookups.
Particularly, we found that the routine to check whether or not an attestation is known to be slashable
was conducting a full table scan (in BoltDB terms: it was iterating over every key in the bucket). This
type of scan led to lookups exceeding the slot duration and attestations failing due to DEADLINE_EXCEEDED.
This issue was particularly difficult to pinpoint as it was only reproducable on less powerful hardware
and the symptoms eventually resolved after about 30 minutes. @rauljordan wrote an interesting article
about this issue
.

🚨 Rolling back to v1.2.x 🚨

As with many schema changes, there is a database migration required. In this case, Prysm is populating an
index with existing data. If you need to rollback for any reason, it is important to unset the migration
in the database so that the migration will occur again when you roll forward to 1.3.0+ in the future.

If you need to rollback to v1.2.x, you must run the validator database reverse migration.
See full instructions on our docs site here.

Notable changes

  • Signficant improvements to slashing protection lookups #8460
  • /healthz formatting #8472
  • Updated go-ethereum dependency. This no longer causes prysm to have ipv4 addresses in ipv6 mapped addresses for discovery packets. #8490
  • Implemented eth2api methods #8476 #8456
  • Logging improvements #8330 #8457

Full list of changes below

1.3.0 (2021-02-22)

Don't miss a new prysm release

NewReleases is sending notifications on new releases.