You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "James Taylor (JIRA)" <ji...@apache.org> on 2017/05/02 07:10:04 UTC

[jira] [Commented] (PHOENIX-3818) Add client setting to disable server side UPSERT SELECT work

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

James Taylor commented on PHOENIX-3818:
---------------------------------------

Thanks for the patch, [~alexaraujo]. Please see my comment on the duplicate JIRA I filed, PHOENIX-3821. We want to make sure we maintain the existing optimization that runs an UPSERT SELECT on the server side when the source and target table are the same and the row is being updated in place (since we know that no cross region calls will be made). In addition to considering if the source and target table are the same, you need to detect if any PK columns are potentially changing. You can use the UngroupedAggregateRegionObserver.isPkPositionChanging() method for that (move to ExpressionUtil would make the most sense IMHO). You can look UpsertCompile before PHOENIX-3271 was committed to see this check if it would help.

I also think the default for your new config should be true instead of false. Users can always override it in their own configs if they're worried about it.

> Add client setting to disable server side UPSERT SELECT work
> ------------------------------------------------------------
>
>                 Key: PHOENIX-3818
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3818
>             Project: Phoenix
>          Issue Type: Improvement
>    Affects Versions: 4.10.0
>            Reporter: Alex Araujo
>            Assignee: Alex Araujo
>         Attachments: PHOENIX-3818.v1.patch
>
>
> PHOENIX-3271 introduced RS -> RS RPCs by default via UPSERT SELECT statements. Add a client side setting that disables this behavior.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)