Checker Repository Maintenance Tool
Introduction
Goal
Download, configure and use the Checker repository maintenance tool.
Use Cases
BloomReach provides the Checker tool to enable administrators to perform the following repository maintenance tasks:
- Check and fix inconsistencies between the JCR repository and the underlying database.
- Removal of orphaned version histories.
- Removal of orphaned binary data.
Each of the above tasks has a dedicated documentation page containing specific details and usage instructions.
However, the same Checker tool is used for each of the above tasks and below are some technical background info on the tool, generic instructions for downloading, configuring, and using it, and some troubleshooting tips.
Checker Tool Technical Background Info
The Checker tool is designed to be configured and act as a node in an existing repository cluster.
When run, the Checker tool creates a Jackrabbit storage directory (similar to any normal repository node) and a temporary record in the REPOSITORY_LOCAL_REVISIONS database table. The temporary record is removed after the Checker tool finishes its task.
Generic Usage Instructions
Download
Download hippo-addon-checker.jar from the Bloomreach Maven repository. See the release notes at the bottom of this page for which major version your need.
Generic Usage
After downloading hippo-addon-checker-<version>.jar you can run it using:
java -jar hippo-addon-checker-<version>.jar <command>
Try the help command to get a list of options and a basic explanation of their usage.
java -cp "hippo-addon-checker-<version>.jar:<driver>.jar" org.onehippo.cms7.repository.checker.Main <command>
Generic Configuration
First create a generic repository configuration file by running:
java -jar hippo-addon-checker-<version>.jar config > checker-repository.xml
The generated checker-repository.xml file contains example settings for a MySQL database. Modify the contents of this file to match your environment. See Configure Bloomreach Experience Manager for your Database Server for example configurations for supported database servers.
Next create a generic checker.properties file by running:
java -jar hippo-addon-checker-<version>.jar props > checker.properties
The contents of the generated checker.properties file must be modified to match your situation.
Specify the repository configuration file to use (see above):
rep.config=checker-repository.xml
Specify the Jackrabbit file storage location, e.g.:
rep.home=./checker-storage
Be careful not to use the same storage location as you used when running Bloomreach Experience Manager. The workspace.xml in there will contain settings that are not understood by the checker, particularly data sources and the search index implementation. The Checker does not need a search index so that is left out of the sample configuration.
Task-Specific Configuration and Usage
Once the Checker tool has been configured as above, proceed to the relevant task's dedicated documentation page for further instructions:
- Check and fix inconsistencies between the JCR repository and the underlying database.
- Removal of orphaned version histories.
- Removal of orphaned binary data.
Troubleshooting
If the Checker tool crashes or is aborted before finishing its task, the temporary record in the REPOSITORY_LOCAL_REVISIONS table is not removed. Running the Checker tool again and letting it finish properly will clean this up.
If the Checker tool repeatedly crashes and/or fails to finish its task properly, it may be necessary to manually remove the Jackrabbit storage directory and/or the temporary record in the REPOSITORY_LOCAL_REVISIONS table (delete the row that mentions the checker tool).
Release Notes
Version | Release Date | Notes |
---|---|---|
3.0.0 | 9 Sept 2024 | See issue tracker. - Compatibility with XM 16.0 and up. - Runs on Java 17 |
2.7.0 | 20 Feb 2023 | See issue tracker. - Update generated repository.xml - Use latest MySQL artifacts and driver classname. - Remove 'check.history.lostnfound' option |
2.6.0 | 7 Sep 2022 | See issue tracker. 3rd party library updates. |
2.5.0 | 21 Dec 2021 | See issue tracker. 3rd party library updates. |
2.4.0 | 30 Nov 2020 | See issue tracker. - Compatibility with XM 14.3 and up, so also used on XM 15.x. - Runs on Java 8 and on Java 11. |