Livia Zhu created SPARK-59877:
---------------------------------

             Summary: Fix race condition causing 
`STATE_STORE_INVALID_STATE_MACHINE_TRANSITION` for stateful op + CartesianRDD
                 Key: SPARK-59877
                 URL: https://issues.apache.org/jira/browse/SPARK-59877
             Project: Spark
          Issue Type: Documentation
          Components: Structured Streaming
    Affects Versions: 4.3.0
            Reporter: Livia Zhu


{{CartesianProductExec}} can run several output-partition tasks for the same 
stateful left partition. Those sibling tasks may run on different executors, 
causing the StateStore coordinator to move the active provider and unload the 
previous executor's copy.

On that previous executor, {{StateStore.get}} can read the provider from 
{{{}loadedProviders{}}}, release the map lock, and then call 
{{{}provider.getStore{}}}. If coordinator-driven unload closes that provider in 
the gap, {{getStore}} tries to acquire a state-machine stamp from the 
now-closed provider and fails with 
{{STATE_STORE_INVALID_STATE_MACHINE_TRANSITION}} ({{{}CLOSED{}}} → 
{{{}ACQUIRED{}}}, operation {{{}load{}}}). The observed tasks were distinct 
first attempts, not retries or speculation.



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