You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@phoenix.apache.org by "Hadoop QA (Jira)" <ji...@apache.org> on 2020/07/07 19:38:00 UTC

[jira] [Commented] (PHOENIX-5991) IndexRegionObserver should not overwrite mutation timestamps set by clients

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

Hadoop QA commented on PHOENIX-5991:
------------------------------------

{color:red}-1 overall{color}.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/13007229/PHOENIX-5991.4.x.001.patch
  against 4.x branch at commit 837cf4f1cc119c6f86be9f3518e774e48faaa049.
  ATTACHMENT ID: 13007229

    {color:green}+1 @author{color}.  The patch does not contain any @author tags.

    {color:green}+1 tests included{color}.  The patch appears to include 4 new or modified tests.

    {color:green}+1 javac{color}.  The applied patch does not increase the total number of javac compiler warnings.

    {color:green}+1 release audit{color}.  The applied patch does not increase the total number of release audit warnings.

    {color:red}-1 lineLengths{color}.  The patch introduces the following lines longer than 100:
    +        String tableDDL = "CREATE TABLE IF NOT EXISTS " + tableName + " (pk1 DECIMAL NOT NULL, v1 VARCHAR CONSTRAINT PK PRIMARY KEY (pk1))";
+                    stmt.executeUpdate("UPSERT INTO " + tableName + " (pk1, v1) VALUES (" + i + ",'value')");
+                    stmt.executeUpdate("UPSERT INTO " + tableName + " (pk1, v1) VALUES (" + i + ",'value')");
+                    stmt.executeUpdate("UPSERT INTO " + tableName + " (pk1, v1) VALUES (" + i + ",'value')");

     {color:red}-1 core tests{color}.  The patch failed these unit tests:
     ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.ConcurrentMutationsExtendedIT
./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.DropTableWithViewsIT
./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.ConcurrentMutationsIT

Test results: https://builds.apache.org/job/PreCommit-PHOENIX-Build/4020//testReport/
Code Coverage results: https://builds.apache.org/job/PreCommit-PHOENIX-Build/4020//artifact/phoenix-core/target/site/jacoco/index.html
Console output: https://builds.apache.org/job/PreCommit-PHOENIX-Build/4020//console

This message is automatically generated.

> IndexRegionObserver should not overwrite mutation timestamps set by clients
> ---------------------------------------------------------------------------
>
>                 Key: PHOENIX-5991
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5991
>             Project: Phoenix
>          Issue Type: Improvement
>            Reporter: Kadir OZDEMIR
>            Assignee: Kadir OZDEMIR
>            Priority: Major
>             Fix For: 4.x
>
>         Attachments: PHOENIX-5991.4.x.001.patch
>
>          Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> Phoenix client can set mutation timestamps for connections with scn. For example, it sets the timestamp for delete mutations. IndexRegionObserver does not check if the timestamp is set for mutations and overwrites them with its current time. While Phoenix does not support setting arbitrary timestamps on the client side for all operations, setting a timestamp for delete mutations is harmless even for tables with indexes. Instead of blindly overwriting mutations timestamps, IndexRegionObserver can leave the determination of which timestamp values are allowed for which operations and sets the timestamp for mutations only when they are not set by Phoenix client.



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