[
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)