LiuGuH commented on PR #7066:
URL: https://github.com/apache/hadoop/pull/7066#issuecomment-2408455733

   Thanks for relay. 
   For a editlog file (starttxid-endtxid), RedundantEditLogInputStream combine 
journalnodes EditlogInputSteam. When standby namenode replay editlog,  
RedundantEditLogInputStream.nextOp() will execute. Assuse read from txid 
(starttxid < txid < endtxid).
   
   Now State.SKIP_UNTIL (from starttxid skip to txid) -> State.OK (and  will 
read txid+1).
   And if SKIP_UNTIL throw IOException, it will into State.OK  rather than 
State.STREAM_FAILED with current logic.
   
   (1)If the stream returns to normal ,  read next op  may read a op in 
(starttxid,txid),  FSEditLogLoader will log that  "There appears to be an 
out-of-order edit in the edit log" and discard this op and continue.
   
   (2)If If the stream is  still wrong,  State.OK  will be into 
State.STREAM_FAILED and the swith to another EditlogInputSteam. 
   
   And this PR will make State.SKIP_UNTIL (from starttxid skip to txid) -> 
State.STREAM_FAILED directly if SKIP_UNTIL throw IOException. 
   
   
![image](https://github.com/user-attachments/assets/22f9c033-49ab-4cd0-a954-25a75db46178)
   
   
   
   


-- 
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