Geoffrey Jacoby created PHOENIX-6787:
----------------------------------------

             Summary: Server-side Sequence Update Consolidation
                 Key: PHOENIX-6787
                 URL: https://issues.apache.org/jira/browse/PHOENIX-6787
             Project: Phoenix
          Issue Type: Sub-task
            Reporter: Geoffrey Jacoby
             Fix For: 5.3.0


For secondary indexes, we have optimizations so that if multiple mutations are 
waiting on the same row lock, all subsequent mutations can re-use the previous 
mutation's final state and avoid an extra Get. 

We can apply a similar idea to Phoenix sequences. If there's a "hot" sequence 
with multiple requests queueing for a Sequence row lock, we can consolidate 
them down to one set of Get / Put operations, then satisfy them all. This 
change is transparent to the clients. 

Note that if this consolidation would cause the sequence update to fail when 
some of the requests would have succeeded otherwise, we should not consolidate. 
(An example is if a sequence has cycling disabled, and the first request would 
not overflow, but the first and second combined would. In this case we should 
let the first request go through unconsolidated, and fail the second request.) 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to