Skip to content

Commit 39d35da

Browse files
GEODE-275: fix race in testRegionExpirationAfterMutate
1 parent eeb7ae1 commit 39d35da

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

gemfire-core/src/main/java/com/gemstone/gemfire/internal/tcp/MsgOutputStream.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
import com.gemstone.gemfire.internal.*;
1414
import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
1515

16-
/** MsgOutputStream is deprecated. MsgStreamer should be used instead.
17-
* The one non-deprecated use is in Connection for the handshake.
16+
/** MsgOutputStream should no longer be used except in Connection
17+
* to do the handshake. Otherwise MsgStreamer should always be used.
1818
1919
@author Darrel
2020
@since 3.0

gemfire-core/src/test/java/com/gemstone/gemfire/cache30/RegionTestCase.java

+10-3
Original file line numberDiff line numberDiff line change
@@ -3767,9 +3767,16 @@ public void testRegionExpirationAfterMutate()
37673767
region.getAttributesMutator().setRegionIdleTimeout(new ExpirationAttributes(999000/*ms*/, ExpirationAction.INVALIDATE));
37683768
expiryTask = region.getRegionIdleExpiryTask();
37693769
long hugeExpiryTime = expiryTask.getExpirationTime();
3770-
region.getAttributesMutator().setRegionIdleTimeout(new ExpirationAttributes(20/*ms*/, ExpirationAction.INVALIDATE));
3771-
expiryTask = region.getRegionIdleExpiryTask();
3772-
long shortExpiryTime = expiryTask.getExpirationTime();
3770+
ExpiryTask.suspendExpiration();
3771+
long shortExpiryTime;
3772+
try {
3773+
region.getAttributesMutator().setRegionIdleTimeout(new ExpirationAttributes(20/*ms*/, ExpirationAction.INVALIDATE));
3774+
expiryTask = region.getRegionIdleExpiryTask();
3775+
shortExpiryTime = expiryTask.getExpirationTime();
3776+
}
3777+
finally {
3778+
ExpiryTask.permitExpiration();
3779+
}
37733780
waitForInvalidate(entry, tilt+20, 10);
37743781
assertTrue("expected hugeExpiryTime=" + hugeExpiryTime + " to be > than mediumExpiryTime=" + mediumExpiryTime, (hugeExpiryTime - mediumExpiryTime) > 0);
37753782
assertTrue("expected mediumExpiryTime=" + mediumExpiryTime + " to be > than shortExpiryTime=" + shortExpiryTime, (mediumExpiryTime - shortExpiryTime) > 0);

0 commit comments

Comments
 (0)