You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Mikhail Pochatkin (Jira)" <ji...@apache.org> on 2023/05/15 11:12:00 UTC
[jira] [Created] (IGNITE-19476) Implement unit deploy on demand API
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)