Mikhail Pochatkin created IGNITE-19476: ------------------------------------------
Summary: 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 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)