Skip to main content


Project description


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.


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


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


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.


  • Add the package to your buildout configuration:

eggs +=


Plone 4.3.x Plone 5.1.x


  1. Fork this repo

  2. Clone your fork

  3. Shell: ln -s development.cfg buildout.cfg

  4. Shell: python

  5. Shell: bin/buildout

Run bin/test to test your changes.

Or start an instance by running bin/instance fg.


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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ftw.catalogdoctor-1.2.0.tar.gz (32.3 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page