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)