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]

Reply via email to