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

Hadoop QA commented on PHOENIX-3569:
------------------------------------

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12846282/PHOENIX-3569.v0.patch
  against master branch at commit d8f4594989c0b73945aaffec5649a0b62ac59724.
  ATTACHMENT ID: 12846282

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

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

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

    {color:red}-1 javadoc{color}.  The javadoc tool appears to have generated 
43 warning messages.

    {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:
    +    // optimization check to ensure that postPut/postDelete don't get 
replayed to the index more than once
+      conn.createStatement().execute("CREATE TABLE " + tableName + " (V0 
INTEGER not null primary key, V1 INTEGER, V2 INTEGER)");
+      conn.createStatement().execute("CREATE LOCAL INDEX " + tableName + 
"_LOCAL_INDEX " + "  ON " + tableName + "(V2)");
+      conn.createStatement().execute("CREATE INDEX " + tableName + 
"_GLOBAL_INDEX " + "   ON " + tableName + " (V1)");
+      conn.createStatement().execute("CREATE TABLE " + tableName + " (V0 
INTEGER not null primary key, V1 INTEGER, V2 INTEGER)");
+      conn.createStatement().execute("CREATE LOCAL INDEX " + tableName + 
"_LOCAL_INDEX " + "  ON " + tableName + "(V2)");
+      conn.createStatement().execute("CREATE INDEX " + tableName + 
"_GLOBAL_INDEX " + "   ON " + tableName + " (V1)");
+      PreparedStatement stat = conn.prepareStatement("UPSERT INTO  " + 
tableName + "  VALUES (?, ?, ?)");

     {color:red}-1 core tests{color}.  The patch failed these unit tests:
                       org.apache.phoenix.hbase.index.IndexerHookTest

Test results: 
https://builds.apache.org/job/PreCommit-PHOENIX-Build/720//testReport/
Javadoc warnings: 
https://builds.apache.org/job/PreCommit-PHOENIX-Build/720//artifact/patchprocess/patchJavadocWarnings.txt
Console output: 
https://builds.apache.org/job/PreCommit-PHOENIX-Build/720//console

This message is automatically generated.

> Deadlock when updating both of local and global index
> -----------------------------------------------------
>
>                 Key: PHOENIX-3569
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3569
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.9.0, 4.8.2
>            Reporter: ChiaPing Tsai
>            Priority: Critical
>         Attachments: PHOENIX-3569.v0.patch
>
>
> We update the global index in Observer#postBatchMutate, but the hook is 
> called before completing the mvcc.
> If ParallelWriterIndexCommitter are busy to update the local index, the other 
> updates for global index will be blocked and the mvcc of data table won't be 
> completed. The deadlock happens since the ParallelWriterIndexCommitter will 
> never complete the updates for local index.
> We can reproduce the deadlock through the following step.
> # create a data table with a local and a global index.
> # create 10+ (DEFAULT_CONCURRENT_INDEX_WRITER_THREADS) threads which disable 
> the auto commit to submit data
> # wait for the deadlock. the rs log will show the following message. "STUCK: 
> MultiVersionConcurrencyControl{readPoint=8790, writePoint=8801}"
> It seems to me that we should update the both of local and global index on 
> the hook of postPut and postDelete.
> Any suggestions are welcomed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to