The current implementation of FIX tool does the following:
- generates the index health report for metadata and ACL trackers
- provides the list of transactions and ACL change sets to trackers to reindex based on the report. The actual processing happens during tracking periods. Consecutive calls to fix tool with the same parameters does not result in more work as the list of transactions to reindex will be the same.
- returns the list of transactions and ACLs to be reindexed as a response
- Extend the REST API to provide new parameters (the parameters already exist in MetadataTracker#checkIndex and AclTracker#checkIndex, but not used in AlfrescoCoreAdminHandler#fixOnSpecificCore):
- From txn commit time
- To txn commit time
- Add a "dry run" parameter to REST API. If dry run is triggered the report needs to be generated, but the reindex wok should not be scheduled. Dry run should be the default behaviour if none is specified. The response should contain the parameter used during call and instruction on how to run the repair.
- Extend the report to contain the following information:
- The parameters used to generate the report
- Time elapsed to generate the report
- Add number of nodes and ACLs in each txn. Use AlfrescoCoreAdminHandler#actionTXREPORT and AlfrescoCoreAdminHandler#actionACLTXREPORT
- Make sure there are debug logs that indicate different stages of the tool's work
- Write Documentation and raise a DOCS ticket about:
- Changes to REST API and how to use it
- Explanation about the fact that the processing is handled by trackers during normal indexing period.
- Explanation/links to trackers configuration