[
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)