Hi All,
I am experiencing with following issue:
1. Start two Hazelcast nodes (NodeA and NodeB)
2. Create entry in NodeA with IMap.put(entryKey, entryValue, 100, TimeUnits.SECONDS);
3. Check that entry exist on NodeB by call IMap.get(key);
4. I am expecting that entry should be evicted after 100 seconds.
5. During these 100 seconds I start to shutdown and then bring up nodes one by one (one node always available so entries are not lost):
- shutdown NodeA, wait till cluster re-partitioning is finished on NodeB (log messages: "Re-partitioning cluster data...", "Migration queue size: 135 All migration tasks has been completed, queues are empty")
- bring up back NodeA, wait till cluster re-partitioning is finished
- shutdown NodeB, wait till cluster re-partitioning is finished
- bring up back NodeB, wait till cluster re-partitioning is finished
- shutdown NodeA, wait till cluster re-partitioning
6. Check that 100 seconds was passed, check that entry on NodeB disappeared, but it is still present in Hazelcast.
I can't constantly reproduce it, but the flow I described above giving high chance to replicate.
If there is no disturb to cluster nodes (shutdown/start) - entry is successfully evicted in TTL time.
Is this known bug? Looks like it happens during data re-partition/migration inside the cluster and entry TTL became default one (suppose with value from <time-to-live-seconds> of hazelcast config)?
Thanks
Regads,
Vadym