NOTE: I'm not sure if we should commit this, this is just a brainstorm.
This is a patch for hbase-0.92 that fixes TestLogRolling.testLogRollOnPipelineRestart against hadoop-0.23 while not breaking it against hadoop-1.0.0. If we want to commit this, I can create patches for trunk/94.
From my comment:
1) It sounds like under the current design, we need to call recoverLease to read from the HLog:
From the recovery design doc (see
This is basically what I've done: if we cannot get a reader for the HLog b/c replicas-awaiting-recovery do not return a visible length, recover the lease, wait for it to finish, then retry getting the HLog reader. (Aside: It would be nice if the exception HDFS returned in this state was clearer than IOException).
Is this is correct place for this code? Do we need it everywhere we call HLog.getReader? Any thoughts?