[ 
https://issues.apache.org/jira/browse/PHOENIX-7434?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Viraj Jasani updated PHOENIX-7434:
----------------------------------
    Fix Version/s: 5.3.0

> Extend atomic support to single row delete with condition on non-pk columns
> ---------------------------------------------------------------------------
>
>                 Key: PHOENIX-7434
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-7434
>             Project: Phoenix
>          Issue Type: New Feature
>            Reporter: Viraj Jasani
>            Assignee: Viraj Jasani
>            Priority: Major
>             Fix For: 5.3.0
>
>
> PHOENIX-7411 introduces Atomic Delete support for the single row deletion. It 
> returns result (row) back to the client (using new API) only if the given 
> client initiated Delete operation deleted the row when the row was alive. In 
> the context of atomicity, this means that the delete operation is already 
> idempotent and will continue to be idempotent, however only the client that 
> was able to successfully delete the row by taking lock on the live row (row 
> without delete marker) is the only one that can return the old row result 
> back.
> PHOENIX-7411 support includes only single row if the WHERE clause contains 
> only pk columns as single row point lookup plan. However, user can also add 
> additional non-pk columns in the WHERE clause in addition to all pk columns, 
> this also makes the Delete as single row delete only, but due to addition of 
> non-pk columns, server side delete plan is used with auto-commit connections.
> The sever side delete plans goes from DeleteCompiler initiating the Scan with 
> attribute "_DeleteAgg" which allows UngroupedAggregateRegionObserver to 
> execute Delete Mutations on the rows read by the 
> UngroupedAggregateRegionScanner. This Mutation is used by IndexRegionObserver 
> to perform the mutation at the server side.
> Given that IndexRegionObserver already has the support for atomic single row 
> delete as part of PHOENIX-7411, the proposal for this Jira is to introduce 
> single row delete with condition on non-pk columns such that atomic delete 
> returning the result can be used by UngroupedAggregateRegionObserver and then 
> sent back to DeleteCompiler which can later on be consumed by the 
> PhoenixStatement API similar to PHOENIX-7411.



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

Reply via email to