Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-8686

Change Child Repo Access to Parent Registries

    Details

      Description

      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.)

        Attachments

          Issue Links

            Activity

            Hide
            salnikov Andy Salnikov added a comment -

            I've done what I could while still managing not to grasp full complexity of Butler architecture. Most of comments are about docstring contents, the code looks reasonable, though again I'm not 100% sure how or why it works

            Show
            salnikov Andy Salnikov added a comment - I've done what I could while still managing not to grasp full complexity of Butler architecture. Most of comments are about docstring contents, the code looks reasonable, though again I'm not 100% sure how or why it works

              People

              • Assignee:
                npease Nate Pease
                Reporter:
                npease Nate Pease
                Reviewers:
                Andy Salnikov
                Watchers:
                Andy Salnikov, Nate Pease
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Summary Panel