It only returns the default config if you don't call setConfiguration(), which appears to be almost always (except TestIngest).
I don't know that this API is clearly spelled out, as to its intended purpose. Which configuration is it supposed to be getting, and how does that relate to the ZooKeeperInstance? The only configuration a ZooKeeperInstance has is the minimum needed to connect to other servers. It still has to authenticate to read any other server configuration. Personally, I'd be in favor of removing it from Instance interface, unless we actually document what it is supposed to be for to justify its utility in, and relationship to, the Instance interface. -- Christopher L Tubbs II http://gravatar.com/ctubbsii On Tue, Jul 23, 2013 at 10:44 AM, Michael Berman <[email protected]> wrote: > I was surprised to find that ZooKeeperInstance.getConfiguration() seems to > return only the default configuration rather than the configuration stored > in ZK. Is this the expected behavior? I came across this in a MacTest, so > if other people are also surprised, it may be a MAC or MacTest-specific > issue, in which case I'm happy to track it down. > > If this is currently the expected behavior, how would people feel about > changing it? It seems like it would be useful to have a config channel to > ZooKeeperInstance clients (in my case, what I'm specifically interested in > is whether or not SSL is enabled). There may be a potential for privileged > information to escape...table settings, for example, may be sensitive... > But all the really secret stuff should be in the site.xml which wouldn't > get exposed. > > For reference, ZooKeeperInstance's getConfiguration() is implemented as: > AccumuloConfiguration.getDefaultConfiguration() > > whereas HdfsZooInstance's getConfiguration() is: > ZooConfiguration.getInstance(this, getSiteConfiguration()) > > My proposal would be to change ZooKeeperInstance's to something like: > ZooConfiguration.getInstance(this, > AccumuloConfiguration.getDefaultConfiguration()) > > Michael
