Open
Description
#5407 made me realize that thanks to #5381 there's no reason to serialize the whole Evaluation over the Dequeue RPC because the worker will wait until the Eval is available locally before processing it. #5411 makes retrieving the Eval from the state store even easier.
Proposal
A new RPC could be added - DequeueID
- that replaces the *structs.Evaluation
in the response with just an EvalID string
. Workers would then retrieve the Eval by EvalID after waiting on the WaitIndex.
Performance
struct.Evaluation
is small, so unless ClassEligibility
or FailedTGAllocs
are large, the performance impact may be negligible.