@Before public void setUpFluo() throws Exception { config = new FluoConfiguration(); config.setApplicationName("mini-test" + testCounter.getAndIncrement()); config.setAccumuloInstance(clientInfo.getInstanceName()); config.setAccumuloUser(USER); config.setAccumuloPassword(PASSWORD); config.setAccumuloZookeepers(clientInfo.getZooKeepers()); config.setInstanceZookeepers(clientInfo.getZooKeepers() + "/fluo"); config.setAccumuloTable(getNextTableName()); config.setWorkerThreads(5); setupObservers(config); config.setMiniStartAccumulo(false); setConfig(config); setAppConfig(config.getAppConfiguration()); config.setTransactionRollbackTime(1, TimeUnit.SECONDS); try (FluoAdmin admin = FluoFactory.newAdmin(config)) { InitializationOptions opts = new InitializationOptions().setClearZookeeper(true).setClearTable(true); admin.initialize(opts); } config.getAppConfiguration().clear(); client = FluoFactory.newClient(config); miniFluo = FluoFactory.newMiniFluo(config); }
@Test public void testBasic() { SimpleConfiguration uc = client.getAppConfiguration(); Assert.assertEquals(50000, uc.getInt("myapp.sizeLimit")); uc.setProperty("myapp.sizeLimit", 3); uc = client.getAppConfiguration(); Assert.assertEquals(50000, uc.getInt("myapp.sizeLimit")); // update shared config SimpleConfiguration appConfig = config.getAppConfiguration(); appConfig.clear(); appConfig.setProperty("myapp.sizeLimit", 40000); appConfig.setProperty("myapp.timeLimit", 30000); try (FluoAdmin admin = FluoFactory.newAdmin(config)) { miniFluo.close(); admin.updateSharedConfig(); } // set app config that differs from what was just put in zk appConfig.setProperty("myapp.sizeLimit", 6); appConfig.setProperty("myapp.timeLimit", 7); try (FluoClient client2 = FluoFactory.newClient(config)) { uc = client2.getAppConfiguration(); Assert.assertEquals(40000, uc.getInt("myapp.sizeLimit")); Assert.assertEquals(30000, uc.getInt("myapp.timeLimit")); } }