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

Ted Yu commented on HBASE-7878:
-------------------------------

>From 
>https://builds.apache.org/job/HBase-TRUNK/3975/testReport/junit/org.apache.hadoop.hbase.regionserver.wal/TestHLogSplit/testSplitWillNotTouchLogsIfNewHLogGetsCreatedAfterSplitStarted/
> :
{code}
java.lang.AssertionError: no files in /hbase/hlog with splits 
[/hbase/t1/bbb/recovered.edits/0000000000000000199, 
/hbase/t1/ccc/recovered.edits/0000000000000000200]
        at org.junit.Assert.fail(Assert.java:88)
        at 
org.apache.hadoop.hbase.regionserver.wal.TestHLogSplit.testSplitWillNotTouchLogsIfNewHLogGetsCreatedAfterSplitStarted(TestHLogSplit.java:729)
{code} But:
{code}
2013-03-20 00:29:29,165 DEBUG [IPC Server handler 6 on 35317] 
namenode.LeaseManager(296): LeaseManager.changelease:  
src=/hbase/t1/bbb/recovered.edits/0000000000000000001.temp, 
dest=/hbase/t1/bbb/recovered.edits/0000000000000000199, 
overwrite=/hbase/t1/bbb/recovered.edits/0000000000000000001.temp, 
replaceBy=/hbase/t1/bbb/recovered.edits/0000000000000000199
2013-03-20 00:29:29,166 DEBUG [IPC Server handler 6 on 35317] 
namenode.LeaseManager(330): LeaseManager.findLease: 
prefix=/hbase/t1/bbb/recovered.edits/0000000000000000001.temp
2013-03-20 00:29:29,253 INFO  [split-log-closeStream-2] 
wal.HLogSplitter$OutputSink$2(1259): Closed path 
/hbase/t1/ccc/recovered.edits/0000000000000000002.temp (wrote 100 edits in 
196ms)
2013-03-20 00:29:29,256 DEBUG [IPC Server handler 8 on 35317] 
namenode.LeaseManager(296): LeaseManager.changelease:  
src=/hbase/t1/ccc/recovered.edits/0000000000000000002.temp, 
dest=/hbase/t1/ccc/recovered.edits/0000000000000000200, 
overwrite=/hbase/t1/ccc/recovered.edits/0000000000000000002.temp, 
replaceBy=/hbase/t1/ccc/recovered.edits/0000000000000000200
2013-03-20 00:29:29,256 DEBUG [IPC Server handler 8 on 35317] 
namenode.LeaseManager(330): LeaseManager.findLease: 
prefix=/hbase/t1/ccc/recovered.edits/0000000000000000002.temp
2013-03-20 00:29:29,271 INFO  [IPC Server handler 6 on 35317] 
namenode.FSNamesystem(169): ugi=jenkins   ip=/127.0.0.1   cmd=rename      
src=/hbase/t1/bbb/recovered.edits/0000000000000000001.temp      
dst=/hbase/t1/bbb/recovered.edits/0000000000000000199   
perm=jenkins:supergroup:rw-r--r--
2013-03-20 00:29:29,272 DEBUG [split-log-closeStream-1] 
wal.HLogSplitter$OutputSink$2(1281): Rename 
/hbase/t1/bbb/recovered.edits/0000000000000000001.temp to 
/hbase/t1/bbb/recovered.edits/0000000000000000199
2013-03-20 00:29:29,321 INFO  [IPC Server handler 8 on 35317] 
namenode.FSNamesystem(169): ugi=jenkins   ip=/127.0.0.1   cmd=rename      
src=/hbase/t1/ccc/recovered.edits/0000000000000000002.temp      
dst=/hbase/t1/ccc/recovered.edits/0000000000000000200   
perm=jenkins:supergroup:rw-r--r--
2013-03-20 00:29:29,322 DEBUG [split-log-closeStream-2] 
wal.HLogSplitter$OutputSink$2(1281): Rename 
/hbase/t1/ccc/recovered.edits/0000000000000000002.temp to 
/hbase/t1/ccc/recovered.edits/0000000000000000200
...
2013-03-20 00:29:30,030 INFO  [pool-1-thread-1] wal.HLogSplitter(220): hlog 
file splitting completed in 1261 ms for /hbase/hlog
{code}
                
> recoverFileLease does not check return value of recoverLease
> ------------------------------------------------------------
>
>                 Key: HBASE-7878
>                 URL: https://issues.apache.org/jira/browse/HBASE-7878
>             Project: HBase
>          Issue Type: Bug
>          Components: util
>    Affects Versions: 0.95.0, 0.94.6
>            Reporter: Eric Newton
>            Assignee: Ted Yu
>            Priority: Critical
>             Fix For: 0.95.0, 0.98.0, 0.94.7
>
>         Attachments: 7878.94, 7878-94.addendum, 7878-94.addendum2, 
> 7878-trunk.addendum, 7878-trunk.addendum2, 7878-trunk-v10.txt, 
> 7878-trunk-v2.txt, 7878-trunk-v3.txt, 7878-trunk-v4.txt, 7878-trunk-v5.txt, 
> 7878-trunk-v6.txt, 7878-trunk-v7.txt, 7878-trunk-v8.txt, 7878-trunk-v9.txt, 
> 7878-trunk-v9.txt
>
>
> I think this is a problem, so I'm opening a ticket so an HBase person takes a 
> look.
> Apache Accumulo has moved its write-ahead log to HDFS. I modeled the lease 
> recovery for Accumulo after HBase's lease recovery.  During testing, we 
> experienced data loss.  I found it is necessary to wait until recoverLease 
> returns true to know that the file has been truly closed.  In FSHDFSUtils, 
> the return result of recoverLease is not checked. In the unit tests created 
> to check lease recovery in HBASE-2645, the return result of recoverLease is 
> always checked.
> I think FSHDFSUtils should be modified to check the return result, and wait 
> until it returns true.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to