qijiale76 commented on PR #8709: URL: https://github.com/apache/hadoop/pull/8709#issuecomment-5755278036
@zouhuajian Thanks for the clarification and for updating the patch. We have now reproduced the HDFS-17970 failure mode in production with a diagnostics-only build. One representative case was: ```text target=0 trigger=SocketTimeoutException triggerMs=10021 triggerDn=DN-A requiredSources=2 candidates=[0:0@DN-A, 1:6@DN-B, 2:7@DN-C, 3:8@DN-D, 4:1@DN-E] selectedPositions=[1,0] selectedIndices=[6,0] selectedUnique=2 selectedTarget=true inputIndices=[0,2,3,4,5,6] targetInInputs=true validator=erased=0,valid=[2,3,4,5,6] error=HadoopIllegalArgumentException ``` This confirms the target/source overlap in production: after the child checksum request for index 0 times out, index 0 remains in the reconstruction source candidates and is selected again as an input, causing validation to fail with insufficient valid inputs for RS-6-3. For our case, both versions of the patch would fix the problem, since both prevent the reconstruction target from being used as a source. That said, I prefer the latest revision. Preserving the original source order and only excluding the target is a more focused fix for HDFS-17970 and avoids changing the existing fallback behavior. The duplicate-source counting issue is better handled separately in `StripedReader`. The current patch looks correct to me and I think it is ready to merge. -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
