[
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