/** * Test that we can interrupt a node that is blocked on a wait. */ @Test public void testInterruptible() throws IOException, InterruptedException { Abortable abortable = new StubAbortable(); ZKWatcher zk = new ZKWatcher(TEST_UTIL.getConfiguration(), "testInterruptible", abortable); final TestTracker tracker = new TestTracker(zk, "/xyz", abortable); tracker.start(); Thread t = new Thread() { @Override public void run() { try { tracker.blockUntilAvailable(); } catch (InterruptedException e) { throw new RuntimeException("Interrupted", e); } } }; t.start(); while (!t.isAlive()) { Threads.sleep(1); } tracker.stop(); t.join(); // If it wasn't interruptible, we'd never get to here. }
TestTracker localTracker = new TestTracker(zk, node, abortable); localTracker.start(); zk.registerListener(localTracker); TestTracker secondTracker = new TestTracker(zk, node, null); secondTracker.start(); zk.registerListener(secondTracker);
/** * Test that we can interrupt a node that is blocked on a wait. */ @Test public void testInterruptible() throws IOException, InterruptedException { Abortable abortable = new StubAbortable(); ZKWatcher zk = new ZKWatcher(TEST_UTIL.getConfiguration(), "testInterruptible", abortable); final TestTracker tracker = new TestTracker(zk, "/xyz", abortable); tracker.start(); Thread t = new Thread() { @Override public void run() { try { tracker.blockUntilAvailable(); } catch (InterruptedException e) { throw new RuntimeException("Interrupted", e); } } }; t.start(); while (!t.isAlive()) { Threads.sleep(1); } tracker.stop(); t.join(); // If it wasn't interruptible, we'd never get to here. }
TestTracker localTracker = new TestTracker(zk, node, abortable); localTracker.start(); zk.registerListener(localTracker); TestTracker secondTracker = new TestTracker(zk, node, null); secondTracker.start(); zk.registerListener(secondTracker);
TestTracker localTracker = new TestTracker(zk, node, abortable); localTracker.start(); zk.registerListener(localTracker); TestTracker secondTracker = new TestTracker(zk, node, null); secondTracker.start(); zk.registerListener(secondTracker);
/** * Test that we can interrupt a node that is blocked on a wait. */ @Test public void testInterruptible() throws IOException, InterruptedException { Abortable abortable = new StubAbortable(); ZKWatcher zk = new ZKWatcher(TEST_UTIL.getConfiguration(), "testInterruptible", abortable); final TestTracker tracker = new TestTracker(zk, "/xyz", abortable); tracker.start(); Thread t = new Thread() { @Override public void run() { try { tracker.blockUntilAvailable(); } catch (InterruptedException e) { throw new RuntimeException("Interrupted", e); } } }; t.start(); while (!t.isAlive()) { Threads.sleep(1); } tracker.stop(); t.join(); // If it wasn't interruptible, we'd never get to here. }
public WaitToGetDataThread(ZKWatcher zk, String node) { tracker = new TestTracker(zk, node, null); tracker.start(); zk.registerListener(tracker); hasData = false; }
public WaitToGetDataThread(ZKWatcher zk, String node) { tracker = new TestTracker(zk, node, null); tracker.start(); zk.registerListener(tracker); hasData = false; }
public WaitToGetDataThread(ZKWatcher zk, String node) { tracker = new TestTracker(zk, node, null); tracker.start(); zk.registerListener(tracker); hasData = false; }