linera-io / linera-protocol

Main repository for the Linera protocol
Apache License 2.0
112 stars 94 forks source link

Fix conflicting `ChainWorkerActor`s when running benchmarks #2210

Closed jvff closed 2 days ago

jvff commented 3 days ago

Motivation

The command linera benchmark was hanging because multiple ChainWorkerActors were created to handle the same chain. This led to them attempting to acquire the chain guard, and blocking forever when it failed. The duplicate actors were created because the same process created more than one WorkerState instance.

Proposal

Use the local node in the client instead of creating temporary WorkerState instances.

Test Plan

After this PR, linera benchmark now executes correctly.

Release Plan

Fixes a user visible bug, so at least a new patch version should be released.

Links

afck commented 2 days ago

Thanks! linera benchmark works for me with this.