Child Repositories need to be able to perform lookups in the sqlite Registry of one or more parent repositories.
Old Butler repositories used to find the registry by looking in the current repo, then following the _parent symlink until a registry was found.
New Butler repositories do not access their parent repositories directly.
The shorter term fix is for butler to pass all of a repo’s parent sqlite registries to a repo (via an ordered list of registry objects, each of which is of course a reference). The butler will use that list, whose order will be 1. a local sqlite registry (if present), 2. all the parent registries in order, and 3. use a PosixRegisry on the local repository. In the case of no results found when searching sqlite registries, butler will verify that the tables specified for the policy are in the registry. If they are, butler will return ‘no results’. If the tables are not in that registry, butler will look in the next registry.
(The better/longer term fix is “output registries”, where butler updates a repo-local registry when writing a dataset to a repo, and never does lookups in parent registries.)