Livia Zhu created SPARK-55820:
---------------------------------
Summary: Fix race condition in no-overwrite FS when RocksDB
version files cachee is out of sync
Key: SPARK-55820
URL: https://issues.apache.org/jira/browse/SPARK-55820
Project: Spark
Issue Type: Bug
Components: Structured Streaming
Affects Versions: 4.2.0
Reporter: Livia Zhu
There exists the following race condition
1. Query run 1 uploads snapshot X.zip pointing to SST file Y.SST
2. Query run 1 is cancelled before the commit log is written
3. Query run 2 retries the batch, uploads Z.SST, tries to re-upload X.zip
pointing to Z.SST. The zip overwrite silently fails on no-overwrite FS,
but versionToRocksDBFiles maps version X -> Z.SST (stale)
4. Maintenance/cleanup uses the stale in-memory mapping, sees Y.SST as
untracked, and deletes it
5. A subsequent query run tries to load X.zip from cloud, which still
references Y.SST -> FileNotFoundException
We should fix this by forcing the minRetainedVersion to fetch the files needed
directly from cloud.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]