Introduction
The package ftw.catalogdoctor provides healthcheck to find inconsistencies in portal_catalog and surgery to remove some of them. It can be run via a zopectl.command.
Healthcheck
Lists inconsistencies detected in portal_catalog. Finds inconsistencies by inspecting the catalog’s internal data structures. It currently uses paths (the rid-path mapping), uids (the path-rid mapping), the UID index and catalog metadata to determine if the catalog is healthy or if there are problems. Healtcheck is a read-only operation and won’t modify the catalog.
It can be run as follows:
$ bin/instance doctor healthcheck
Surgery
Attempts to fix issues found by healthcheck. Will do a healtchcheck before surgery, then attempt surgery and finally do a post-surgery healthcheck. Surgery is a write operation but changes are only committed to the database if the post-surgery healtcheck yields no more health problems. Currently the set of available surgery is limited to problems we have observed in production.
It can be run as follows:
$ bin/instance doctor surgery
There is also a –dry-run parameter that prevents committing changes.
$ bin/instance doctor --dry-run surgery
Debugging
If you need to debug/analyze issues that ftw.catalogdoctor cannot fix yet have a look at the debug module. It provides useful functions to pprint or inspect catalog state.
Installation
Add the package to your buildout configuration:
[instance]
eggs +=
...
ftw.catalogdoctor
Compatibility
Plone 4.3.x Plone 5.1.x
Development
Fork this repo
Clone your fork
Shell: ln -s development.cfg buildout.cfg
Shell: python bootstrap.py
Shell: bin/buildout
Run bin/test to test your changes.
Or start an instance by running bin/instance fg.
Links
Copyright
This package is copyright by 4teamwork.
ftw.catalogdoctor is licensed under GNU General Public License, version 2.
Changelog
1.2.1 (2024-10-14)
Delay import of Testing module in zopectl command to not accidently create a demo storage. [buchi]
1.2.0 (2020-10-06)
Defer reindex until removal from indexes is done, introduce post-op. [deiferni]
1.1.0 (2020-09-30)
Drop duplicate objects from Acquisition when fixing UID index. [deiferni]
Implement reindexing objects when still traversable for orphaned rids. [deiferni]
Check for shorter path rather than direct parent in surgery safeguard. [deiferni]
Use extra rid removal surgery for new symptoms. [deiferni]
1.0.0 (2019-07-08)
Initial implementation.
Release files for ftw.catalogdoctor 1.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ftw.catalogdoctor-1.2.1.tar.gz | 33.0 kB | Details |
Release files / ftw.catalogdoctor-1.2.1.tar.gz
| Download URL | ftw.catalogdoctor-1.2.1.tar.gz |
|---|---|
| Size | 33.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fd243d5d9b6a2d1fe73d012b369107e72e5f13e2ac15667422c75412f8f62fb3
|
|
BLAKE2b-256 checksum How to use checksums |
e85912ce4b1aaf4681d1055ddb4b561b68b3af448618b253fdab245cb97021a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.6
|