High-volume settlement transactions require a sizeable amount of storage resources to operate. Over time, when the VMware Blockchain nodes cannot meet the storage requirements to record the entire transaction history, the blockchain experiences performance degradation. In rare cases, if the system runs out of storage, the blockchain stops operating.
This storage limitation requires VMware Blockchain to free up resources to ensure the proper functioning of the blockchain. This resource reclaiming process is called pruning. There are two types of pruning, Replica node and Client node pruning.
With Replica node pruning, you can specify a range of stale key values that should be deleted from a block. The pruning of stale key-values starting from the genesis block can be configured by the number of blocks or for a specific time duration. With Client node pruning, you can delete DAML contracts and archived transaction records submitted before a given ledger offset.
See the Getting Started with VMware Blockchain guide for implementation details.
Pruning Operation Considerations
Before you initiate the pruning operation on the Replica nodes, you must schedule a maintenance window outside regular operating hours or when the system is offline. During pruning, the system experiences some downtime because the Replica nodes become unavailable.
Client node pruning does not stop regular operations on the node. The pruning process can be performed in parallel with other application operations. However, the Client node pruning is an involved and long-running operation that might negatively affect the performance of the Client node workloads and the system's availability. Pruning operation must be performed during a maintenance window when there are no incoming requests.
You must record the ledger offset output, time, and results so that you can specify up to what time you can prune.
You cannot query for the past events that happened on the ledger offset.
The latest ledger offset cannot be used for pruning immediately. The ledger offset must have a small number of new requests otherwise, the pruning operation fails.