Author: peter_firmstone Date: Mon Mar 18 12:43:15 2013 New Revision: 1457739
URL: http://svn.apache.org/r1457739 Log: Doubled callbackWait period in UseNotifyLeaseTestRenew. Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/LeasedSpaceListener.java river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UseNotifyLeaseTest.java river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UseNotifyLeaseTestRenew.td river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UseTxnMgrLeaseTest.java river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UseTxnMgrSpaceLeaseTest.java river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UserSpaceLeaseTest.java river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/OutriggerServerImpl.java river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/SpaceProxy2.java Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/LeasedSpaceListener.java URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/LeasedSpaceListener.java?rev=1457739&r1=1457738&r2=1457739&view=diff ============================================================================== --- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/LeasedSpaceListener.java (original) +++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/LeasedSpaceListener.java Mon Mar 18 12:43:15 2013 @@ -49,8 +49,8 @@ public class LeasedSpaceListener implements RemoteEventListener, ServerProxyTrust, Serializable { private static Logger logger = Logger.getLogger("com.sun.jini.qa.harness"); - public boolean received = false; - private Object proxy; + private boolean received = false; + private final Object proxy; public LeasedSpaceListener(Configuration c) throws RemoteException { try { @@ -81,4 +81,18 @@ public class LeasedSpaceListener received = true; this.notifyAll(); } + + /** + * @return the received + */ + public synchronized boolean isReceived() { + return received; + } + + /** + * @param received the received to set + */ + public synchronized void setReceived(boolean received) { + this.received = received; + } } Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UseNotifyLeaseTest.java URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UseNotifyLeaseTest.java?rev=1457739&r1=1457738&r2=1457739&view=diff ============================================================================== --- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UseNotifyLeaseTest.java (original) +++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UseNotifyLeaseTest.java Mon Mar 18 12:43:15 2013 @@ -100,14 +100,12 @@ public class UseNotifyLeaseTest extends private final AtomicInteger count = new AtomicInteger(); protected boolean isAvailable() throws TestException { - boolean bReturn = false; - try { logger.log(Level.FINEST, "Writing entry {0}", count.getAndIncrement()); LeasedSpaceListener listener = this.listener; JavaSpace space = this.space; synchronized (listener) { // Can't synchronize on volatile field. - listener.received = false; + listener.setReceived(false); /* * Important to have the write inside the @@ -115,14 +113,21 @@ public class UseNotifyLeaseTest extends * listener.received transtion from false->true */ addOutriggerLease(space.write(aEntry, null, Lease.ANY), false); - logger.log(Level.FINEST, "Waiting for listener to be called at {0}", (new java.util.Date())); - listener.wait(callbackWait); - logger.log(Level.FINEST, "Wait done at {0}, received = {1}", new Object[]{new java.util.Date(), listener.received}); - bReturn = listener.received; + /* Check for spurious wakeup */ + long startTime = System.currentTimeMillis(); + long finishTime = startTime + callbackWait; + while (System.currentTimeMillis() < finishTime) { + logger.log(Level.FINEST, "Waiting for listener to be called at {0}", (new java.util.Date())); + listener.wait(callbackWait); + if (listener.isReceived()){ + logger.log(Level.FINEST, "Wait done at {0}, received = {1}", new Object[]{new java.util.Date(), listener.isReceived()}); + return true; + } + } } } catch (Exception e) { throw new TestException("Testing for availability", e); } - return bReturn; + return false; } } Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UseNotifyLeaseTestRenew.td URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UseNotifyLeaseTestRenew.td?rev=1457739&r1=1457738&r2=1457739&view=diff ============================================================================== --- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UseNotifyLeaseTestRenew.td (original) +++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UseNotifyLeaseTestRenew.td Mon Mar 18 12:43:15 2013 @@ -4,3 +4,4 @@ include0=../outrigger.properties com.sun.jini.test.share.exact=true com.sun.jini.test.share.renew=2 +com.sun.jini.test.share.callbackWait=4000 \ No newline at end of file Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UseTxnMgrLeaseTest.java URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UseTxnMgrLeaseTest.java?rev=1457739&r1=1457738&r2=1457739&view=diff ============================================================================== --- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UseTxnMgrLeaseTest.java (original) +++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UseTxnMgrLeaseTest.java Mon Mar 18 12:43:15 2013 @@ -47,7 +47,7 @@ import com.sun.jini.test.share.Uninteres */ public class UseTxnMgrLeaseTest extends LeaseUsesTestBase { final private Entry aEntry = new UninterestingEntry(); - private ServerTransaction resource; + private volatile ServerTransaction resource; protected Lease acquireResource() throws TestException { specifyServices(new Class[] { Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UseTxnMgrSpaceLeaseTest.java URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UseTxnMgrSpaceLeaseTest.java?rev=1457739&r1=1457738&r2=1457739&view=diff ============================================================================== --- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UseTxnMgrSpaceLeaseTest.java (original) +++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UseTxnMgrSpaceLeaseTest.java Mon Mar 18 12:43:15 2013 @@ -44,8 +44,8 @@ import com.sun.jini.test.share.Uninteres */ public class UseTxnMgrSpaceLeaseTest extends LeaseUsesTestBase { final private Entry aEntry = new UninterestingEntry(); - private Transaction resource; - private JavaSpace space; + private volatile Transaction resource; + private volatile JavaSpace space; protected Lease acquireResource() throws TestException { specifyServices(new Class[] { Modified: river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UserSpaceLeaseTest.java URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UserSpaceLeaseTest.java?rev=1457739&r1=1457738&r2=1457739&view=diff ============================================================================== --- river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UserSpaceLeaseTest.java (original) +++ river/jtsk/skunk/qa_refactor/trunk/qa/src/com/sun/jini/test/impl/outrigger/leasing/UserSpaceLeaseTest.java Mon Mar 18 12:43:15 2013 @@ -39,7 +39,7 @@ import com.sun.jini.test.share.Uninteres * Tests binding between leases and entry in JavaSpaces. */ public class UserSpaceLeaseTest extends LeaseUsesTestBase { - private Entry resource; + private volatile Entry resource; protected Lease acquireResource() throws TestException { specifyServices(new Class[] { Modified: river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/OutriggerServerImpl.java URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/OutriggerServerImpl.java?rev=1457739&r1=1457738&r2=1457739&view=diff ============================================================================== --- river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/OutriggerServerImpl.java (original) +++ river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/OutriggerServerImpl.java Mon Mar 18 12:43:15 2013 @@ -2237,7 +2237,7 @@ public class OutriggerServerImpl * is scanning the list, it may arrive after getMatch has * passed that point in the list. By capturing the last * current element operationJournal and searching forward from - * their after we do the first traversal we can make sure that + * there after we do the first traversal, we can make sure that * we get any entries the initial search missed */ final OperationJournal.TransitionIterator transitionIterator = Modified: river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/SpaceProxy2.java URL: http://svn.apache.org/viewvc/river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/SpaceProxy2.java?rev=1457739&r1=1457738&r2=1457739&view=diff ============================================================================== --- river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/SpaceProxy2.java (original) +++ river/jtsk/skunk/qa_refactor/trunk/src/com/sun/jini/outrigger/SpaceProxy2.java Mon Mar 18 12:43:15 2013 @@ -100,7 +100,7 @@ class SpaceProxy2 implements JavaSpace05 /** * Maximum time any sub-query should be allowed to run for. */ - private transient long maxServerQueryTimeout; + private transient volatile long maxServerQueryTimeout; /**
