You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Roman Shtykh (JIRA)" <ji...@apache.org> on 2015/09/18 13:22:04 UTC
[jira] [Issue Comment Deleted] (IGNITE-1423) Zero expiry policy
does not work sometimes
[ https://issues.apache.org/jira/browse/IGNITE-1423?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Roman Shtykh updated IGNITE-1423:
---------------------------------
Comment: was deleted
(was: I apologize, I forgot about getExpiryForAccess)
> Zero expiry policy does not work sometimes
> ------------------------------------------
>
> Key: IGNITE-1423
> URL: https://issues.apache.org/jira/browse/IGNITE-1423
> Project: Ignite
> Issue Type: Bug
> Components: cache
> Affects Versions: 1.1.4
> Reporter: Pavel Tupitsyn
> Fix For: ignite-1.5
>
>
> Paste the following test to GridCacheReplicatedMultiNodeFullApiSelfTest.java and run.
> Last assertion fails. Cycle is necessary because it does not always fail.
> {code:title=GridCacheReplicatedMultiNodeFullApiSelfTest.java}
> public void testExpiredBug() throws Exception {
> final ExpiryPolicy plc = new ExpiryPolicy() {
> @Override public Duration getExpiryForCreation() {
> return Duration.ZERO;
> }
> @Override public Duration getExpiryForAccess() {
> return Duration.ZERO;
> }
> @Override public Duration getExpiryForUpdate() {
> return Duration.ZERO;
> }
> };
> IgniteCache c1 = ignite(0).cache(null);
> IgniteCache c2 = ignite(1).cache(null);
> String key0 = primaryKeysForCache(c1, 1).get(0);
> String key1 = primaryKeysForCache(c2, 1).get(0);
> IgniteCache cache0 = c1;
> IgniteCache cache = c1.withExpiryPolicy(plc);
> for (int i = 0; i < 3000; i++) {
> cache.put(key0, key0);
> cache.put(key1, key1);
> assert !cache0.containsKey(key0);
> assert !cache0.containsKey(key1);
> cache0.put(key0, key0);
> cache0.put(key1, key1);
> assert cache0.containsKey(key0);
> assert cache0.containsKey(key1);
> cache.put(key0, key0 + 1);
> cache.put(key1, key1 + 1);
> assert !cache0.containsKey(key0);
> assert !cache0.containsKey(key1);
> cache0.put(key0, key0);
> cache0.put(key1, key1);
> cache.get(key0);
> cache.get(key1);
> assert !cache0.containsKey(key0);
> assert !cache0.containsKey(key1);
> }
> }}
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)