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

Hadoop QA commented on HBASE-9768:
----------------------------------

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12608711/9768.v1.patch
  against trunk revision .

    {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 hadoop1.0{color}.  The patch compiles against the hadoop 
1.0 profile.

    {color:green}+1 hadoop2.0{color}.  The patch compiles against the hadoop 
2.0 profile.

    {color:green}+1 javadoc{color}.  The javadoc tool did not generate any 
warning messages.

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

    {color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 1.3.9) warnings.

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

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

    {color:red}-1 site{color}.  The patch appears to cause mvn site goal to 
fail.

    {color:green}+1 core tests{color}.  The patch passed unit tests in .

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/7566//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/7566//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/7566//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/7566//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/7566//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/7566//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/7566//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/7566//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/7566//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/7566//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/7566//console

This message is automatically generated.

> Two issues in AsyncProcess
> --------------------------
>
>                 Key: HBASE-9768
>                 URL: https://issues.apache.org/jira/browse/HBASE-9768
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.96.0
>            Reporter: Jeffrey Zhong
>            Assignee: Nicolas Liochon
>             Fix For: 0.98.0, 0.96.1
>
>         Attachments: 9768.v1.patch
>
>
> There may exist two issues in Asyncprocess code as following:
> 1)  In Htable#backgroundFlushCommits, we have following code:
> {code}
>       if (ap.hasError()) {
>         if (!clearBufferOnFail) {
>           // if clearBufferOnFailed is not set, we're supposed to keep the 
> failed operation in the
>           //  write buffer. This is a questionable feature kept here for 
> backward compatibility
>           writeAsyncBuffer.addAll(ap.getFailedOperations());
>         }
>         RetriesExhaustedWithDetailsException e = ap.getErrors();
>         ap.clearErrors();
>         throw e;
>       }
> {code}
> In a rare situation like the following: 
> When there are some updates ongoing, a client call Put(internally 
> backgroundFlushCommits get triggered). Then comes the issue:
> The first ap.hasError() returns false and the second ap.hasError() returns 
> true. So we could throw exception to caller while writeAsyncBuffer isn't 
> empty.(some updates are still on going).
> If a client retry with different values for the same keys, we could end up 
> with nondeterministic state.
> 2) The following code only update cache for the first row. We should update 
> cache for all the regions inside resultForRS because actions are sent to 
> multiple regions per RS
> {code}
>           if (failureCount++ == 0) { // We're doing this once per location.
>             hConnection.updateCachedLocations(this.tableName, row.getRow(), 
> result, location);
>             if (errorsByServer != null) {
>               errorsByServer.reportServerError(location);
>               canRetry = errorsByServer.canRetryMore();
>             }
>           }
> {code}



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to