HHH-8772 Bigger naked invalidation timeout for PutFromLoad unit test
* Test expects that the two invalidteKey calls happen within the naked invalidation timeout. If they don't, the test would fail since the second invalidate key would be removed. Increase the timeout considerably to avoid the issue.
This commit is contained in:
parent
75f209aa35
commit
3883d7ca2d
|
@ -357,8 +357,7 @@ public class PutFromLoadValidatorUnitTestCase {
|
||||||
boolean lockable = testee.acquirePutFromLoadLock(KEY1);
|
boolean lockable = testee.acquirePutFromLoadLock(KEY1);
|
||||||
try {
|
try {
|
||||||
assertTrue(lockable);
|
assertTrue(lockable);
|
||||||
}
|
} finally {
|
||||||
finally {
|
|
||||||
if (lockable) {
|
if (lockable) {
|
||||||
testee.releasePutFromLoadLock(KEY1);
|
testee.releasePutFromLoadLock(KEY1);
|
||||||
}
|
}
|
||||||
|
@ -406,16 +405,14 @@ public class PutFromLoadValidatorUnitTestCase {
|
||||||
try {
|
try {
|
||||||
log.trace("Put from load lock acquired for key = " + KEY1);
|
log.trace("Put from load lock acquired for key = " + KEY1);
|
||||||
success.incrementAndGet();
|
success.incrementAndGet();
|
||||||
}
|
} finally {
|
||||||
finally {
|
|
||||||
testee.releasePutFromLoadLock(KEY1);
|
testee.releasePutFromLoadLock(KEY1);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
log.trace("Unable to acquired putFromLoad lock for key = " + KEY1);
|
log.trace("Unable to acquired putFromLoad lock for key = " + KEY1);
|
||||||
}
|
}
|
||||||
finishedLatch.countDown();
|
finishedLatch.countDown();
|
||||||
}
|
} catch (Exception e) {
|
||||||
catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -456,7 +453,13 @@ public class PutFromLoadValidatorUnitTestCase {
|
||||||
TestCacheManagerFactory.createCacheManager(false)) {
|
TestCacheManagerFactory.createCacheManager(false)) {
|
||||||
@Override
|
@Override
|
||||||
public void call() {
|
public void call() {
|
||||||
TestValidator testee = new TestValidator(cm, null, 200);
|
// For the test to work, it needs to expect the two invalidation
|
||||||
|
// messages happen close enough in time. That "close enough" is
|
||||||
|
// defined by the naked put invalidation tieout. If too small it
|
||||||
|
// could happen that timing issues execute the second invalidate
|
||||||
|
// key call after the named put invalidation timeout, leading to
|
||||||
|
// the removal queue having one element less than expected.
|
||||||
|
TestValidator testee = new TestValidator(cm, null, 3000);
|
||||||
testee.invalidateKey("KEY1");
|
testee.invalidateKey("KEY1");
|
||||||
testee.invalidateKey("KEY2");
|
testee.invalidateKey("KEY2");
|
||||||
expectRemovalLenth(2, testee, 60000l);
|
expectRemovalLenth(2, testee, 60000l);
|
||||||
|
@ -478,7 +481,9 @@ public class PutFromLoadValidatorUnitTestCase {
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if ( System.currentTimeMillis() > timeoutMilestone ) {
|
if ( System.currentTimeMillis() > timeoutMilestone ) {
|
||||||
fail( "condition not reached after " + timeout + " milliseconds. giving up!" );
|
fail( "condition not reached after " + timeout +
|
||||||
|
" milliseconds, giving up. Expected queue length " + expectedLength +
|
||||||
|
" but was was: " + queueLength + " !" );
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
Thread.sleep(20);
|
Thread.sleep(20);
|
||||||
|
|
Loading…
Reference in New Issue