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

Hadoop QA commented on HBASE-6608:
----------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12541465/6608-v2.patch
  against trunk revision .

    +1 @author.  The patch does not contain any @author tags.

    +1 tests included.  The patch appears to include 3 new or modified tests.

    +1 hadoop2.0.  The patch compiles against the hadoop 2.0 profile.

    +1 javadoc.  The javadoc tool did not generate any warning messages.

    -1 javac.  The applied patch generated 5 javac compiler warnings (more than 
the trunk's current 4 warnings).

    -1 findbugs.  The patch appears to introduce 8 new Findbugs (version 1.3.9) 
warnings.

    +1 release audit.  The applied patch does not increase the total number of 
release audit warnings.

     -1 core tests.  The patch failed these unit tests:
                       org.apache.hadoop.hbase.replication.TestReplication
                  org.apache.hadoop.hbase.io.hfile.TestForceCacheImportantBlocks

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/2611//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/2611//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/2611//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/2611//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/2611//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/2611//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/2611//console

This message is automatically generated.
                
> HBASE-6160 fix does not work 
> -----------------------------
>
>                 Key: HBASE-6608
>                 URL: https://issues.apache.org/jira/browse/HBASE-6608
>             Project: HBase
>          Issue Type: Bug
>          Components: client, regionserver
>    Affects Versions: 0.92.2, 0.96.0, 0.94.2
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>             Fix For: 0.92.2, 0.96.0, 0.94.2
>
>         Attachments: 6608-v2.patch, hbase-6608_v1.patch
>
>
> Our nightlies discovered that the patch for HBASE-6160 did not actually fix 
> the issue of "META entries from daughters can be deleted before parent 
> entries". Instead of reopening the HBASE-6160, it is cleaner to track it 
> here. 
> The original issue is: 
> {quote}
> HBASE-5986 fixed and issue, where the client sees the META entry for the 
> parent, but not the children. However, after the fix, we have seen the 
> following issue in tests:
> Region A is split to -> B, C
> Region B is split to -> D, E
> After some time, META entry for B is deleted since it is not needed anymore, 
> but META entry for Region A stays in META (C still refers it). In this case, 
> the client throws RegionOfflineException for B.
> {quote}
> The problem with the fix seems to be that we keep and compare HRegionInfo's 
> in the HashSet at CatalogJanitor.java#scan(), but HRI that are compared are 
> not equal.  
> {code}
> HashSet<HRegionInfo> parentNotCleaned = new HashSet<HRegionInfo>(); //regions 
> whose parents are still around
>       for (Map.Entry<HRegionInfo, Result> e : splitParents.entrySet()) {
>         if (!parentNotCleaned.contains(e.getKey()) && cleanParent(e.getKey(), 
> e.getValue())) {
>           cleaned++;
>         } else {
> ...
> {code}
> In the above case, Meta row for region A will contain a serialized version of 
> B that is not offline. However Meta row for region B will contain a 
> serialized version of B that is offline (MetaEditor.offlineParentInMeta() 
> does that). So the deserialized version we put to HashSet and the 
> deserialized version we query contains() from HashSet are different in the 
> offline field, thus HRI.equals() fail. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to