ppkarwasz opened a new pull request, #9:
URL: https://github.com/apache/logging-flume-rpc/pull/9

   ## Problem
   
   The `build (windows-latest)` job fails on `main` with 14 failures in 
`TestReliableSpoolingFileEventReader`, while the Ubuntu and macOS jobs pass 
(see run 34915970440).
   
   `ReliableSpoolingFileEventReader.close()` only closed the deserializer and 
left the `DurablePositionTracker` of the current file open. The tracker keeps 
`.flumespool/.flumespool-main.meta` open for append. On Linux and macOS an open 
file can still be deleted, but on Windows it cannot, so:
   
   1. The tests never closed their readers.
   2. The `@After` cleanup could not delete the shared work directory (`The 
process cannot access the file because it is being used by another process`).
   3. The stale meta file made every later `openFile` call fail with `Unable to 
delete existing meta file`, so subsequent tests read nothing.
   
   ## Changes
   
   * Keep the `PositionTracker` in `FileInfo` and close it together with the 
deserializer in `close()` and `retireCurrentFile()`, without relying on the 
deserializer propagating the close call to the stream.
   * Close the tracker if the input stream or deserializer cannot be created in 
`openFile`.
   * Create every reader in `TestReliableSpoolingFileEventReader` in a 
try-with-resources block.
   
   ## Verification
   
   `TestReliableSpoolingFileEventReader` passes locally on Linux (23 tests) and 
leaves no work directory behind. The Windows job in this PR's CI run is the 
real check.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


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