Validate Database Checkpoints
Before upgrading, run the validateCheckpoint.jar program on all MATRIXX Engine pods. The validateCheckpoint.jar program analyzes a MATRIXX checkpoint, detects any errors in the database, and produces a validation report listing internal database statistics and any errors found.
Procedure
-
Run validateCheckpoint.jar in on the pod to detect any
errors in the database checkpoint with the following command:
Where pod_name is the name of the pod, such askubectl exec -it pod_name --namespace namespace – /bin/bash -c "java -Dconfig=/opt/mtx/conf/mtx_config.xml -jar /opt/mtx/bin/validateCheckpoint.jar checkpoint_folder"
ckpt-s2e4-0
and checkpoint_folder is the folder containing the database checkpoint. For example:kubectl exec -it ckpt-s2e4-0 -n matrixx-ns2 – /bin/bash -c "java -Dconfig=/opt/mtx/conf/mtx_config.xml -jar /opt/mtx/bin/validateCheckpoint.jar /shared/checkpoints/mtx_ckpt_v5241.15.1658853220"
-
Retrieve the output from validateCheckpoint.jar from the
/home/mtx directory on the pod with the following
command:
kubectl cp namespace/pod_name:/home/mtx/validation_log_name destination_filename
Where validation_log_name is the name of the validateCheckpoint.jar output file, and destination_filename is the destination path and filename outside of the pod. For example (line break added for readability):
kubectl cp matrixx-ns2/ckpt-s2e4-0:/home/mtx/validateCheckpoint_20220726_174359.log \ /home/mtx/validateCheckpoint_20220726_174359.log
Note: The validateCheckpoint.jar program produces warnings thatTriggerTime
andNextMaintenanceTime
values are overdue for each subscriber or group in the database. These are typical artifacts of the upgrade process. The warnings can be ignored.The kubectl cp command might have the following output:
tar: Removing leading `/' from member names
This can be ignored. The file is copied normally.
- Resolve any errors before upgrading.