phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Taylor (JIRA)" <>
Subject [jira] [Commented] (PHOENIX-3818) Add client setting to disable server side UPSERT SELECT work
Date Tue, 02 May 2017 07:10:04 GMT


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:
>             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

View raw message