[ 
https://issues.apache.org/jira/browse/SPARK-48586?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Riya Verma updated SPARK-48586:
-------------------------------
    Summary: Remove lock acquisition in doMaintenance() by making a deep copy 
of RocksDBFileManager in load()  (was: Remove lock contention between 
maintenance and task threads)

> Remove lock acquisition in doMaintenance() by making a deep copy of 
> RocksDBFileManager in load()
> ------------------------------------------------------------------------------------------------
>
>                 Key: SPARK-48586
>                 URL: https://issues.apache.org/jira/browse/SPARK-48586
>             Project: Spark
>          Issue Type: Improvement
>          Components: Structured Streaming
>    Affects Versions: 3.4.3
>            Reporter: Riya Verma
>            Priority: Major
>              Labels: pull-request-available
>
> Currently the lock of the *RocksDB* state store is acquired when uploading 
> the snapshot inside maintenance tasks when change log checkpointing is 
> enabled, which causes lock contention between query processing tasks and 
> state maintenance thread. To eliminate the lock contention, lock acquisition 
> inside maintenance tasks should be avoided. To prevent race conditions 
> between task and maintenance threads, we can ensure that *RocksDBFileManager* 
> has a linear history by ensuring a deep copy of *RocksDBFileManager* every 
> time a previous version is loaded. The original file manager is not affected 
> by future state update. The new file manager is not affected by background 
> snapshot uploading tasks that attempt to upload a snapshot.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to