{
String path = curStatePath + "/session_0/TestDB" + i;
createPaths.add(path);
boolean success =
extBaseAccessor.create(path,
new ZNRecord("TestDB" + i),
AccessOption.PERSISTENT);
Assert.assertTrue(success, "Should succeed in create: " + path);
}
Thread.sleep(500);
// verify cache
// TestHelper.printCache(accessor._zkCache._cache);
boolean ret =
TestHelper.verifyZkCache(cachePaths, accessor._zkCache._cache, _gZkClient, true);
// System.out.println("ret: " + ret);
Assert.assertTrue(ret, "zkCache doesn't match data on Zk");
System.out.println("createCnt: " + listener._createPathQueue.size());
Assert.assertEquals(listener._createPathQueue.size(),
11,
"Shall get 11 onCreate callbacks.");
// verify each callback path
createPaths.add(curStatePath + "/session_0");
List<String> createCallbackPaths = new ArrayList<String>(listener._createPathQueue);
Collections.sort(createPaths);
Collections.sort(createCallbackPaths);
// System.out.println("createCallbackPaths: " + createCallbackPaths);
Assert.assertEquals(createCallbackPaths,
createPaths,
"Should get create callbacks at " + createPaths + ", but was "
+ createCallbackPaths);
// update each current state, single thread
List<String> updatePaths = new ArrayList<String>();
listener.reset();
for (int i = 0; i < 10; i++)
{
String path = curStatePath + "/session_0/TestDB" + i;
for (int j = 0; j < 10; j++)
{
updatePaths.add(path);
ZNRecord newRecord = new ZNRecord("TestDB" + i);
newRecord.setSimpleField("" + j, "" + j);
boolean success =
accessor.update(path, new ZNRecordUpdater(newRecord), AccessOption.PERSISTENT);
Assert.assertTrue(success, "Should succeed in update: " + path);
}
}