nonmatch.id = entry.id;
start = System.currentTimeMillis();
timeLog("started");
// read the entry under one transaction
Transaction t1 = createTransaction();
Entry readResult = space.read(entry, t1, 0);
assertEquals(entry, readResult, "read");
timeLog("entry read under t1");
// try to take it under the matching entry
BlockAndTake shouldMatch = new BlockAndTake(entry);
shouldMatch.start();
shouldMatch.waitUntilTaking();
// give time for takes to get well and truly blocked, then destroy
timeLog("sleeping " + SLEEP_TIME);
Thread.sleep(SLEEP_TIME);
// read the entry under another transaction
Transaction t2 = createTransaction();
readResult = space.read(entry, t2, 0);
assertEquals(entry, readResult, "read");
timeLog("entry read under t2");
timeLog("destroying");