@After public void tearDown() throws Exception { for (VoldemortServer server : servers) { ServerTestUtils.stopVoldemortServer(server); } coordinator.stop(); // clean up the temporary file created in set up COPY_OF_FAT_CLIENT_CONFIG_FILE.delete(); }
@Override @Before public void setUp() throws IOException { final int numServers = 1; this.nodeId = 0; this.time = SystemTime.INSTANCE; servers = new VoldemortServer[numServers]; int partitionMap[][] = {{0, 1, 2, 3, 4, 5, 6, 7}}; try { // Setup the cluster cluster = ServerTestUtils.startVoldemortCluster( numServers, servers, partitionMap, socketStoreFactory, true, null, storesXmlfile, new Properties()); } catch (IOException e) { fail("Failure to setup the cluster"); } socketUrl = servers[0].getIdentityNode().getSocketUrl().toString(); List<String> bootstrapUrls = new ArrayList<String>(); bootstrapUrls.add(socketUrl); // create a copy of the config file in a temp directory and work on that File src = new File(FAT_CLIENT_CONFIG_PATH_ORIGINAL); COPY_OF_FAT_CLIENT_CONFIG_FILE = new File(TestUtils.createTempDir(), "clientConfigs" + System.currentTimeMillis() + ".avro"); FileUtils.copyFile(src, COPY_OF_FAT_CLIENT_CONFIG_FILE); // Setup the Coordinator CoordinatorConfig coordinatorConfig = new CoordinatorConfig(); coordinatorConfig .setBootstrapURLs(bootstrapUrls) .setCoordinatorCoreThreads(100) .setCoordinatorMaxThreads(100) .setFatClientConfigPath(COPY_OF_FAT_CLIENT_CONFIG_FILE.getAbsolutePath()) .setServerPort(9999); try { StoreClientConfigService storeClientConfigs = null; switch (coordinatorConfig.getFatClientConfigSource()) { case FILE: storeClientConfigs = new FileBasedStoreClientConfigService(coordinatorConfig); break; case ZOOKEEPER: throw new UnsupportedOperationException( "Zookeeper-based configs are not implemented yet!"); default: storeClientConfigs = null; } coordinator = new CoordinatorProxyService(coordinatorConfig, storeClientConfigs); coordinator.start(); } catch (Exception e) { e.printStackTrace(); fail("Failure to start the Coordinator"); } Properties props = new Properties(); props.setProperty(ClientConfig.BOOTSTRAP_URLS_PROPERTY, "http://localhost:9999"); props.setProperty(ClientConfig.ROUTING_TIMEOUT_MS_PROPERTY, "1500"); RESTClientFactoryConfig mainConfig = new RESTClientFactoryConfig(props, null); RESTClientFactory factory = new RESTClientFactory(mainConfig); this.client = factory.getStoreClient(STORE_NAME); }