QuakeWang opened a new issue, #835:
URL: https://github.com/apache/paimon-rust/issues/835

   `DiskCache::put_block` drops and renames a Tokio file immediately after
   `write_all().await`, without waiting for the background write to finish.
   A reader can observe an empty published block, discard it as invalid, and
   return a cache miss.
   
   The persistence test failed at its first read in [PR #819's CI 
run](https://github.com/apache/paimon-rust/actions/runs/34704396500/job/103581714472):
   expected `Some(b"persistent block")`, got `None`.
   
   On macOS arm64, delaying only the real cache write by 50 or 500 ms reproduced
   the same assertion in 10/10 runs at each delay. The recorded order was:
   write started, rename succeeded, read returned zero bytes, cache file 
removed,
   write completed. No read results or I/O errors were fabricated. The 
historical
   Ubuntu run has no I/O trace, so its exact scheduling remains unconfirmed.
   
   Cache blocks should be published only after the write completes successfully.
   Writing or flushing failures should leave no published cache entry.
   


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