[
https://issues.apache.org/jira/browse/HBASE-4254?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13244848#comment-13244848
]
stack commented on HBASE-4254:
------------------------------
@Gregory
I see over in FSHDFSUTils that we call recoverLease via reflection currently.
If this fix is for 0.96 where we depend on 1.0.0, we can do as you do and call
w/o going via reflection.
In current code too, it throws AlreadyBeingCreatedException if lease not
available. I suppose new code just doesn't do that. In old code, we used just
hang around:
{code}
if (e instanceof AlreadyBeingCreatedException) {
// We expect that we'll get this message while the lease is still
// within its soft limit, but if we get it past that, it means
// that the RS is holding onto the file even though it lost its
// znode. We could potentially abort after some time here.
long waitedFor = System.currentTimeMillis() - startWaiting;
if (waitedFor > LEASE_SOFTLIMIT_PERIOD) {
LOG.warn("Waited " + waitedFor + "ms for lease recovery on " + p +
":" + e.getMessage());
}
... we'd sleep a second and retry.
{code}
The fancy-dancing asking the namenode if blocks are under construction will
work for 0.23 only? If the method is not available, we just return immediately
w/o pause. Maybe we should pause some time before going around the loop again.
On 1., 'It sounds like under the current design, we need to call recoverLease
to read from the HLog:' OK. Seems fair enough given we just restarted the
datanodes.
As to where the code belongs, looks like we have to add it everywhere a
getReader on WAL is called (not too many places I'd say) but its weird that the
fs semantic changes so much (with previous you could crash out the datanodes
and it'd just 'work' when you got a new reader but now you have to recover
outstanding leases... the old behavior was probably the 'wrong' one)
> Get tests passing on Hadoop 23
> ------------------------------
>
> Key: HBASE-4254
> URL: https://issues.apache.org/jira/browse/HBASE-4254
> Project: HBase
> Issue Type: Bug
> Affects Versions: 0.92.0
> Reporter: Todd Lipcon
> Assignee: Todd Lipcon
> Fix For: 0.92.2
>
> Attachments: HBASE-4254-92.patch
>
>
> Currently some 30 or so tests are failing on the "HBase-trunk-on-hadoop-23"
> build. It looks like most are reflection-based issues.
--
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