[
https://issues.apache.org/jira/browse/PHOENIX-7434?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Viraj Jasani resolved PHOENIX-7434.
-----------------------------------
Resolution: Fixed
> 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)