Details
-
Sub-task
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
This is similar to the proposed PHOENIX-6787, but for the client-side. If two requests for the same sequence are enqueued at a client, the client can consolidate them into one larger request, and then satisfy them both with the combined value returned from them.
Because this optimization can change the order which operations are assigned sequence ids, it should be configurable with a feature flag.
As with PHOENIX-6787, if the consolidation of requests would result in a validation error (like an overflow or underflow) that wouldn't happen to some requests if issued separately, we should not consolidate. If an overflow or underflow validation error comes from the server-side, we should retry without consolidating.