Apache9 commented on PR #5443: URL: https://github.com/apache/hbase/pull/5443#issuecomment-1740717256
I've found a way to deal with the problem without checking whether the replication source is recovered or not. And Why I notice this is because I can not reproduce the problem simply when writing UT... As if we want to simulate the problem on branch-2+, we need to first let the shipper thread finish calling 'walFileLengthProvider.getLogFileSizeIfBeingWritten', and halt there, waiting for the log roller thread to start rolling, finish writing the trailer, and before finish postLogRoll(where we enqueue the new WAL file into logQueue), the shipper thread resumes, finish the read, dequeue the current WAL file, get a RETRY_IMMEDIATELY, and then issue the next read, finally we can hit the empty logQueue... Let me think how to simuate this in a UT... -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
