[ https://issues.apache.org/jira/browse/IGNITE-19476?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrey N. Gura updated IGNITE-19476: ------------------------------------ Labels: iep-103 ignite-3 (was: ignite-3) > Implement unit deploy on demand API > ----------------------------------- > > Key: IGNITE-19476 > URL: https://issues.apache.org/jira/browse/IGNITE-19476 > Project: Ignite > Issue Type: New Feature > Reporter: Mikhail Pochatkin > Assignee: Mikhail Pochatkin > Priority: Major > Labels: iep-103, ignite-3 > > If code execution is initiated on some node (due to a Compute API invocation) > and this target node doesn’t have a required deployment unit it could be > requested from some node which already has the required deployment unit. It > means that the required deployment unit has clusterDURecord.status == > DEPLOYED and there is at least one node where nodeDURecord.status == > DEPLOYED. If this conditions are met the following steps must be performed: > > # Add meta storage record for target node and deployment unit where > nodeDURecord.status == UPLOADING and nodeDURecord.depOpId == > clusterDUStatus.depOpId. The node should prevent concurrent races between > different threads. It’s achievable without any meta storage operations > because there is no other node which can initiate the on-demand deployment > process.. > Note that if clusterDURecord.status == DEPLOYED && nodeDURecord.status == > UPLOADING => deployment on-demand is in progress for a given deployment unit > and given node. > As soon as the deployment unit is uploaded to the target node, > nodeDURecord.status must be changed to DEPLOYED value. -- This message was sent by Atlassian Jira (v8.20.10#820010)