I agree with the javadoc comment. I could even pony up to supplying a patch for that. Also, the setProperty and removeProperty method names are somewhat ambiguous. Since there are two get methods, perhaps setSystemProperty and removeSystemProperty. To that end, before I wrote this up at all I had used both getters, and neither worked.
John, can you be more specific about what an allowable prefix is? I think I was setting something like "jim.is.cool", which may seem like it should be an allowable prefix, my guess is that it's not. On Wed, Feb 13, 2013 at 1:47 PM, Keith Turner <[email protected]> wrote: > On Wed, Feb 13, 2013 at 1:30 PM, John Vines <[email protected]> wrote: > > I don't think your property is coming back because you're using > > getSiteConfiguration(). I believe that just spits back the configuration > > from the xml files. getSystemConfiguration() will return data as it is in > > I totally missed that. You do need to call getSystemConfiguration(). > I just went and looked at the code to be sure. Looking at the code, > I think you can still run into the issue I mentioned where you read > from a tablet server before the zookeeper event gets there. > getSystemConfiguration() also goes to random tablet server to read the > config. And following that through, it reads the config from a > ZooCache on the tablet server. > > We really need javadoc for InstanceOperations.getSystemConfiguration() > and InstanceOperations.getSiteConfiguration(). > > > Zookeeper, which is where that property will be. I had no problems using > > the shell to set a non-existant property (with an allowable prefix), read > > it back, and then delete it. > > > > As for the error, that's a bit new to me. Check to make sure there's > > nothing in the master and tserver logs with it. > > > > > > On Tue, Feb 12, 2013 at 9:10 PM, Jim Klucar <[email protected]> wrote: > > > >> I'm not sure if this is a MiniAccumulo or an InstanceOperations or a me > >> problem. If I do a InstanceOperations.setProperty followed by a > >> getSiteConfiguration, my property isn't there. Does it have to be a > >> pre-defined property? > >> > >> More concerning if I do a removeProperty of the property I'm setting, > I'm > >> seeing this: > >> > >> org.apache.accumulo.core.client.AccumuloException: > >> org.apache.thrift.TApplicationException: Internal error processing > >> removeSystemProperty > >> at org.apache.accumulo.core.client.impl.MasterClient.execute > >> (MasterClient.java:123) > >> > >> > org.apache.accumulo.core.client.admin.InstanceOperationsImpl.removeProperty > >> (InstanceOperationsImpl.java:86) > >> sun.reflect.NativeMethodAccessorImpl.invoke0 > >> (NativeMethodAccessorImpl.java:-2) > >> sun.reflect.NativeMethodAccessorImpl.invoke > >> (NativeMethodAccessorImpl.java:57) > >> sun.reflect.DelegatingMethodAccessorImpl.invoke > >> (DelegatingMethodAccessorImpl.java:43) > >> > >> This was all on a 1.5-SNAPSHOT I made this evening. > >> >
