server.getWatchdogService().reportFailure(node.getNodeId(),
WatchdogService.class.getName());
// The server node that reported the remote
// failure should be unaffected
TransactionScheduler sched = server.getSystemRegistry().
getComponent(TransactionScheduler.class);
Identity own = server.getProxy().getCurrentOwner();
sched.runTask(new TestAbstractKernelRunnable() {
public void run() throws Exception {
assertTrue(server.getWatchdogService().isLocalNodeAlive());
}
}, own);
try {
// The node should have failed
sched = node.getSystemRegistry().
getComponent(TransactionScheduler.class);
own = node.getProxy().getCurrentOwner();
sched.runTask(new TestAbstractKernelRunnable() {
public void run() throws Exception {
if (node.getWatchdogService().isLocalNodeAlive()) {
fail("Expected watchdogService.isLocalNodeAlive() " +
"to return false");
}