phoenix-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hadoop QA (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PHOENIX-5266) Client can only write on Index Table and skip data table if failure happens because of region split/move etc
Date Tue, 07 May 2019 16:49:00 GMT

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

Hadoop QA commented on PHOENIX-5266:
------------------------------------

{color:red}-1 overall{color}.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12968061/PHOENIX-5266-4.x-HBase-1.3.01.patch
  against 4.x-HBase-1.3 branch at commit d9057de0e5ec7f1b89b6586f6c03f73163fd01ee.
  ATTACHMENT ID: 12968061

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

    {color:red}-1 tests included{color}.  The patch doesn't appear to include any new or modified
tests.
                        Please justify why no new tests are needed for this patch.
                        Also please list what manual steps were performed to verify this patch.

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

    {color:red}-1 release audit{color}.  The applied patch generated 6 release audit warnings
(more than the master's current 0 warnings).

    {color:green}+1 lineLengths{color}.  The patch does not introduce lines longer than 100

     {color:red}-1 core tests{color}.  The patch failed these unit tests:
     ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.DropTableWithViewsIT
./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.execute.PartialCommitIT
./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.ColumnEncodedMutableNonTxStatsCollectorIT
./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.rpc.PhoenixServerRpcIT
./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.IndexRebuildTaskIT
./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.join.HashJoinMoreIT

Test results: https://builds.apache.org/job/PreCommit-PHOENIX-Build/2563//testReport/
Release audit warnings: https://builds.apache.org/job/PreCommit-PHOENIX-Build/2563//artifact/patchprocess/patchReleaseAuditWarnings.txt
Console output: https://builds.apache.org/job/PreCommit-PHOENIX-Build/2563//console

This message is automatically generated.

> Client can only write on Index Table and skip data table if failure happens because of
region split/move etc
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-5266
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5266
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.15.0, 4.14.1, 5.1.0, 4.14.2
>            Reporter: Mihir Monani
>            Assignee: Mihir Monani
>            Priority: Blocker
>             Fix For: 4.14.2
>
>         Attachments: PHOENIX-5266-4.x-HBase-1.3.01.patch, PHOENIX-5266.patch
>
>
> With Phoenix 4.14.1 client, There is a scenario where client would skip data table write
but do successful index table write. In this case, we should treat it as Data loss scenario.
>  
> Relevant code path :-
> [https://github.com/apache/phoenix/blob/4.x-HBase-1.3/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java#L994-L1043]
> [https://github.com/apache/phoenix/blob/4.x-HBase-1.3/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java#L1089-L1109]
>  
> Here is what happens :-
>  * Consider below assumptions for scenario :- 
>  ** max no row in single batch = 100
>  ** max size of batch = 2 MB
>  * When client faces SQLException Code 1121, it sets variable shouldRetryIndexedMutation=true.
>  * In scenarios where client sends batch of 100 rows only as per configuration, but batch
size is >2 MB, MutationState.java#991 will split this 100 row batch into multiple smaller
batches which are <2MB.
>  ** MutationState.java#991 :- [https://github.com/apache/phoenix/blob/4.x-HBase-1.3/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java#L991]
>  * Suppose there are 5 batches of 20 rows but client faces 1121 SQLExceptionCode on 2nd
batch , then it will set shouldRetryIndexedMutation=true and it will retry all 5 batches again
with only Index updates. This will results in rows missing from Data table.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message