Uploaded image for project: 'Apache Curator'
  1. Apache Curator
  2. CURATOR-221

ACLProvider is not respected on parent nodes after calling CuratorFramework.usingNamespace

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Delivered
    • 2.7.1
    • None
    • Framework
    • None

    Description

      See HADOOP-11973 for some background information.

      Here's a high level overview of the issue I'm seeing:
      1) I create a CuratorFramework with a non-default ACLProvider
      2) I call framework.usingNamespace("/solr/zkdtsm") on the curator framework
      3) I do some action, like starting a new SharedCount on a subnode of the namespace /testPath/ZKDTSMRoot/ZKDTSMSeqNumRoot

      Result: the tree is created, but neither /solr nor /solr/zkdtsm have ACLs, while /testPath/ZKDTSMRoot/ZKDTSMSeqNumRoot does. I would expect all those nodes would have ACLs because I only performed zookeeper actions on a CuratorFramework with an ACLProvider specified.

      This seems to happen because NamespaceImpl does not save the ACLProvider, see this line:
      https://github.com/apache/curator/blob/7f2098654a26e2f593801a586ce68300f54abf15/curator-framework/src/main/java/org/apache/curator/framework/imps/NamespaceImpl.java#L47

      Then, when an action is performed on the namespace, fixForNamespace is called:
      https://github.com/apache/curator/blob/7f2098654a26e2f593801a586ce68300f54abf15/curator-framework/src/main/java/org/apache/curator/framework/imps/NamespaceImpl.java#L74
      resulting in the parents being created without an ACL.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              gchanan Gregory Chanan
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: