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/04/28 11:19:00 UTC
[jira] [Updated] (IGNITE-19384) Rework units metastorage layer
[ https://issues.apache.org/jira/browse/IGNITE-19384?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mikhail Pochatkin updated IGNITE-19384:
---------------------------------------
Description:
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.
was:
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.
> Rework units metastorage layer
> ------------------------------
>
> Key: IGNITE-19384
> URL: https://issues.apache.org/jira/browse/IGNITE-19384
> Project: Ignite
> Issue Type: Improvement
> Reporter: 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)