[ 
https://issues.apache.org/jira/browse/PHOENIX-4531?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16331433#comment-16331433
 ] 

Vincent Poon commented on PHOENIX-4531:
---------------------------------------

[~jamestaylor] My understanding was that we would could run it on server side 
because we trigger a scan over the data table, which then goes through 
UngroupedAggregateRegionObserver, which then issues mutates against the data 
table, which then causes the index updates to be issued via 
postBatchMutateIndispensably

That appears to be the case, because if you look at ServerSelectDeleteMutation, 
it uses the dataPlan, not the optimized queryPlan (which would use the index).  
When I try my patch which makes runOnServer=true, it does the right thing.

I'm not sure which approach is the best, but I thought we wanted to do it 
server-side for better parallelization, by issuing the delete scans in parallel 
with each table region concurrently deleting its own rows.

> Delete on a table with a global mutable index can issue client-side deletes 
> against the index
> ---------------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-4531
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4531
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.13.0
>         Environment:  
>            Reporter: Vincent Poon
>            Assignee: Vincent Poon
>            Priority: Major
>         Attachments: PHOENIX-4531.v1.master.patch, PHOENIX-4531_v1.patch, 
> PHOENIX-4531_v2.patch, PartialIndexRebuilderIT.java
>
>
> For a table with a global mutable index, I found the following result in 
> client-side deletes against both the data table and index table.
> "DELETE FROM data_table" 
> "DELETE FROM data_table WHERE indexed_col='v'"
> We only need the delete to be issued against the data table, because
> 1) It's redundant since a delete against the index will be issued on the 
> server side when we process the delete of the data table row
> 2) Deletes issued from the client-side won't have the index failure policy



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to