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

Uma Maheswara Rao G commented on HBASE-7878:
--------------------------------------------

+1 for committing this. 
This test can ensure to do recoverlease with append call. But practically I 
don't see any reason for failing recoverLease call and passing append call.
But we don't want to remove append call, I think this is the way to test it.
Another negative test could be, call the recoverLease on deleted non existent 
WAL file. There also recoverLease call will fail. Then call will go to append, 
here append also will be failed because fileDoesNotexist. and it should not 
hand for long time in such case.

I found one case, that if there are no blocks allocated but file is just 
created. then recoverLease call actually will finalize the inode and return 
true internally. But that value will not be really propagated to out. So, 
recoverLease will return false to out side. That should not be a problem 
because, next recoverLease call will get true because inode already finalized. 
If possible may be we can have one test, but not forcing to add here. 

Thanks Ted, you can go ahead and commit if Lars also ok for it.
                
> 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.6
>
>         Attachments: 7878-trunk-v2.txt, 7878-trunk-v3.txt, 7878-trunk-v4.txt, 
> 7878-trunk-v5.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