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]

Reply via email to