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

Kadir OZDEMIR commented on PHOENIX-6204:
----------------------------------------

We need to bring clarity into when timestamps can be set by clients and 
servers. Phoenix does not have a clear architectural principle on this. I have 
looked at the current implementation and it is very confusing. 

To me, ideally clients should not set the mutation timestamps except for the 
specific cases, such as the one this JIRA suggests. If the client sets the 
timestamp, then the server should obey it. This require code changes on the 
client and server side. For example, the indexing coproc should handle 
mutations differently if the timestamps are set by clients. This complicates 
index table maintenance greatly. If upsert select uses the timestamps of the 
source table, then we need to handle the case where upsert select attempts to 
insert older versions of the existing rows to the target table. 

I suggest not to add any new behavior until we look at the timestamp issue from 
all aspects. I was planning to do this within a month or two but anyone who 
wants to tackle it is welcome.  

> Provide a way to preserve HBase cell timestamps when running UPSERT SELECT 
> statements
> -------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-6204
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-6204
>             Project: Phoenix
>          Issue Type: New Feature
>    Affects Versions: 4.15.0
>            Reporter: Chinmay Kulkarni
>            Priority: Major
>
> Today when we run an UPSERT SELECT statement, the data is upserted with the 
> current wall clock time rather than using the timestamp of the cells being 
> read via the SELECT statement. In some cases this is favorable, but in others 
> it is not.
> Providing a way to do an UPSERT SELECT in which upserts use the HBase 
> timestamp of the cells being read is a useful feature.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to