Rangsh commented on PR #12081:
URL: https://github.com/apache/seatunnel/pull/12081#issuecomment-5642873865

   @SEZ9 thanks for the two remaining F4 confirms on `f17373ac5` — answering 
both against the new head `6d7e999f0`:
   
   **1. Survivability test (F1/F2/F4)** — confirmed, no production change 
needed. 
`WALWorkHandlerSurvivabilityTest.nonIoExceptionFromWriteShouldNotKillWorkerAndSubsequentAppendIsFailClosed`
 asserts exactly the behavior you listed: worker survives a non-`IOException` 
from `writer.write()`, first future completes with `done(false)`, second APPEND 
is fail-closed (`write()` once only, `isAppendBlockedAfterWriteFailure()` 
sticky). Happy for you to verify against the diff before marking F4 resolved.
   
   **2. Fail-close on flush/sync** — finishing the earlier thought that got cut 
off at `"complete with done(false) wit"`:
   
   > …complete with `done(false)` without touching the stream — same as a 
failure from the append/`write` bytes themselves. There is no separate caveat 
path where flush/sync throws but the sticky flag is *not* set: `WALWorkHandler` 
wraps `writer.write(...)` in `catch (Exception)`, and `HdfsWriter.write` always 
ends in `flush()` (the single `hsync`-family call), so any exception from that 
sync path trips `appendBlockedAfterWriteFailure` the same way.
   
   There was previously no test that drove the failure through 
`flush()`/`hsync` rather than `write()` throwing at the mock boundary. Added 
`WALWorkHandlerSurvivabilityTest.flushFailureFromHdfsWriterShouldFailCloseSubsequentAppend`:
 real `HdfsWriter` with a mocked `FSDataOutputStream` where 
append/`write(byte[])` succeeds and only `hsync()` throws; asserts the same 
fail-close contract plus `verify(out, times(1)).hsync()`.
   
   Also addressed @DanielLeens Issue 1 from the latest review in the same 
commit: removed the redundant `walDisruptor.tryAppendPublish(...)` in 
`IMapFileStorage.deleteAll()` (`sendToDisruptorQueue` already publishes).
   
   Locally: `WALWorkHandlerSurvivabilityTest` — 2 tests, both green.


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

Reply via email to