[
https://issues.apache.org/jira/browse/HBASE-20507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16460392#comment-16460392
]
Duo Zhang commented on HBASE-20507:
-----------------------------------
{quote}
Do we need to recover the lease in recoverAndClose?
{quote}
If we fail to write to DN, the standard way to recover this, is to bump the GS
at NN side, and reconnect to DN, finish the block, and then complete the file
normally. We can not call complete file directly, it does not work...
Here we use recoverLease to get the same result, and NN will help finishing the
block, since for wal we will not write to the stream any more.
And the recoverAndClose will be called in a thread pool in background I think?
It should not block the write request.
> Do not need to call recoverLease on the broken file when we fail to create a
> wal writer
> ---------------------------------------------------------------------------------------
>
> Key: HBASE-20507
> URL: https://issues.apache.org/jira/browse/HBASE-20507
> Project: HBase
> Issue Type: Improvement
> Components: wal
> Reporter: Duo Zhang
> Assignee: Duo Zhang
> Priority: Major
> Fix For: 2.0.1
>
> Attachments: HBASE-20507.patch
>
>
> I tried locally with a UT, if we overwrite a file which is currently being
> written, the old file will be completed and then deleted. If you call close
> on the previous file, a no lease exception will be thrown which means that
> the file has already been completed.
> So we do not need to close a file if it will be overwritten immediately,
> since recoverLease may take a very long time...
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)