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)