Mikhail Pochatkin created IGNITE-19384:
------------------------------------------
Summary: Rework units metastorage layer
Key: IGNITE-19384
URL: https://issues.apache.org/jira/browse/IGNITE-19384
Project: Ignite
Issue Type: Improvement
Reporter: Mikhail Pochatkin
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)