shangeyao opened a new issue, #4384:
URL: https://github.com/apache/streampark/issues/4384

   ## Problem
   Application start/stop checks (`isCanBeStart`) and state updates 
(`starting()`) are not atomic. Rapid duplicate clicks can submit multiple 
start/cancel requests before `startFutureMap`/`cancelFutureMap` is populated.
   
   ## Proposed solution
   - Use in-memory `pendingStarts` / `pendingCancels` guards per application id
   - Atomically transition DB state to STARTING/CANCELLING via conditional 
`lambdaUpdate`
   - Clean up pending flags in async completion callbacks and on submission 
failure
   
   ## Scope
   - `FlinkApplicationActionServiceImpl`
   - `SparkApplicationActionServiceImpl`


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