[
https://issues.apache.org/jira/browse/IGNITE-19384?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mikhail Pochatkin reassigned IGNITE-19384:
------------------------------------------
Assignee: Mikhail Pochatkin
> Rework units metastorage layer
> ------------------------------
>
> Key: IGNITE-19384
> URL: https://issues.apache.org/jira/browse/IGNITE-19384
> Project: Ignite
> Issue Type: Improvement
> Reporter: Mikhail Pochatkin
> Assignee: Mikhail Pochatkin
> Priority: Major
> Labels: ignite-3
>
> Currently deployment units stored in metastorage like one entity per unit
> with key structure
> *deploy-unit.units.\{id}:\{version}* and value
> *\{id}:\{value}:\{status}:\{fileNames}:\{nodeConsistentIds}* where each part
> encoded to Base64.
> Need to rework it. The following steps must be performed during the uploading
> process:
> # Choose a majority which contains available nodes including a leader.
> # Create meta storage record for given deployment unit clusterDUStatus ==
> UPLOADING.
> # Initiate uploading of files to the target nodes and create meta storage
> record for given deployment unit and node nodeDUStatus == UPLOADING.
> # As soon as the deployment unit is uploaded to the node, nodeDUStatus must
> be changed to DEPLOYED value.
> # As soon as the deployment unit is uploaded to the target nodes,
> clusterDUStatus must be changed to DEPLOYED value.
>
> A deployment unit is considered deployed to the cluster only if
> clusterDUStatus == DEPLOYED. It means that there is at least one available
> node which can be a source for downloading the deployment unit on demand.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)