valepakh opened a new pull request, #6470:
URL: https://github.com/apache/ignite-3/pull/6470

   https://issues.apache.org/jira/browse/IGNITE-26274
   
   When multiple jobs are submitted at the same time, and they require on 
demand deploy process (that is, they need a unit and it's not deployed yet on 
target node), there could be a race happening between updating and getting 
deployment unit status from the metastorage.
   When deployment unit is acquired, we check it's status on a node, and when 
it's `UPLOADING` or doesn't exist, we start downloading it.
   Downloading is guarded by the tracker, which prevents concurrent downloads. 
At the end of the download the tracker updates the unit status to `DEPLOYED`.
   At this moment another thread that got the status just before is was updated 
sees the status still in the `UPLOADING` state and starts downloading. Download 
tracker allows it since previous download was just completed.
   
   The solution is to check the unit status again inside the download tracker.


-- 
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: notifications-unsubscr...@ignite.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to