phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Taylor (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (PHOENIX-3209) Ensure scans run at specific server timestamp for UPSERT SELECT to same table
Date Tue, 02 May 2017 19:34:04 GMT

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

James Taylor updated PHOENIX-3209:
----------------------------------
    Description: This is a corner case of specifying an UPDATE_CACHE_FREQUENCY on a table
and executing an UPSERT SELECT. Without an UPDATE_CACHE_FREQUENCY, we ping the server to ensure
we have the latest version of the schema. We'll then run the query based on the server timestamp
returned as a result of checking that the schema is up-to-date. If an UPDATE_CACHE_FREQUENCY
is set, we skip this RPC which is a potential problem in this case. This becomes more likely
when we introduce a default UPATE_CACHE_FREQUENCY with PHOENIX-2885. The fix is to ignore
the UPDATE_CACHE_FREQUENCY when an UPSERT SELECT is performed where the source and target
table are the same.  (was: There's likely a potential issue lurking if UPDATE_CACHE_FREQUENCY
is set on a table and an UPSERT SELECT is performed to update the same table. In this case,
we need to run the SELECT and the UPSERT at a particular timestamp to prevent the SELECT from
seeing the new rows being upsert. This may not be the case if UPDATE_CACHE_FREQUENCY is set.)

> Ensure scans run at specific server timestamp for UPSERT SELECT to same table
> -----------------------------------------------------------------------------
>
>                 Key: PHOENIX-3209
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3209
>             Project: Phoenix
>          Issue Type: Sub-task
>            Reporter: James Taylor
>             Fix For: 4.11.0
>
>
> This is a corner case of specifying an UPDATE_CACHE_FREQUENCY on a table and executing
an UPSERT SELECT. Without an UPDATE_CACHE_FREQUENCY, we ping the server to ensure we have
the latest version of the schema. We'll then run the query based on the server timestamp returned
as a result of checking that the schema is up-to-date. If an UPDATE_CACHE_FREQUENCY is set,
we skip this RPC which is a potential problem in this case. This becomes more likely when
we introduce a default UPATE_CACHE_FREQUENCY with PHOENIX-2885. The fix is to ignore the UPDATE_CACHE_FREQUENCY
when an UPSERT SELECT is performed where the source and target table are the same.



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

Mime
View raw message