Skip to content

v0.9.5

Compare
Choose a tag to compare
@poszu poszu released this 20 Sep 17:19
· 270 commits to develop since this release
9314b3c

What's Changed

  • Bump to Go 1.21 by @poszu in #392
  • Cleaning up by @poszu in #393
  • Fix dependabot not working by @fasmat in #394
  • Bump google.golang.org/grpc from 1.58.0 to 1.58.1 by @dependabot in #397
  • Bump go.uber.org/zap from 1.25.0 to 1.26.0 by @dependabot in #399
  • Bump go.uber.org/mock from 0.2.0 to 0.3.0 by @dependabot in #398
  • Allow configuring the max GRPC reponse size to serve bigger proofs by @poszu in #395
  • Stop worker when ctx is canceled during recovered round execution by @poszu in #401
  • Set the default value for max GRPC msg size by @poszu in #402
  • Refactor handling submits batch to avoid stuck submits by @poszu in #403
  • Create datadir recursively by @poszu in #404

Full Changelog: v0.9.3...v0.9.5

Max GRPC payload size is configurable

The maximum size of response body returned on the REST endpoints is limited by the max GRPC message size (default 4MiB). It is now possible to configure it with max-grpc-resp-size config option (defaults to 8MiB). It's important to increase it as the size of the poet proofs increase.

⚠️ How to upgrade from v0.9.3

The v0.9.3 version contained a bug that might cause (with 50% chance) the round to be restarted when the poet process is gracefully shutting down while running a recovered round (#400 fixed in #401). This won't happen if poet is running the round for the first time (if it has been not restarted since the round start). To avoid this during upgrading the version, poet needs to by killed with SIGKILL. It is best to kill it shortly after it persisted round state to avoid losing some progress.

How do I know if poet persisted progress?

The poet saves progress every ~16.67M leafs by default. Look for the following log:

{"L":"INFO","T":"2023-09-19T16:11:42.490+0200","N":"worker","M":"persisting execution state","epoch":4,"numLeaves":369098752,"epoch":4}

How do I know if poet is running a recovered round?

Poet recovers a round when it is restarted mid-round, after it has already started and is producing leafs. You can look for the following logs to make sure it is running a recovered round:

{"L":"INFO","T":"2023-09-21T06:11:34.727+0200","N":"recovery","M":"recovered round","epoch":4}
{"L":"INFO","T":"2023-09-21T06:11:34.727+0200","N":"recovery","M":"round is executing","started":"2023-09-17T10:00:00.753+0200","leaves":9814671360}
{"L":"INFO","T":"2023-09-21T06:11:34.767+0200","N":"worker","M":"recovering execution","epoch":4,"end":"2023-10-01T20:00:00.000Z","num_leaves":9814671360}