GridGain 3节点集群单节点缓存数据永不过期问题求助
Ignite集群单节点缓存数据无法过期问题排查
我启动了一个未启用持久化的3节点Ignite集群,运行一段时间后发现其中一个节点的缓存数据永不过期,其余两个节点的缓存数据可正常过期。
数据插入代码
public class InsertData05 { public static void main(String[] args) throws Exception { ClientConfiguration clientConfiguration = new ClientConfiguration(); clientConfiguration.setAddresses("127.0.0.1:10800"); IgniteClient client = Ignition.startClient(clientConfiguration); ClientCacheConfiguration configuration = new ClientCacheConfiguration(); configuration.setName("test"); configuration.setCacheMode(CacheMode.REPLICATED); ClientCache<Object, Object> cache = client.getOrCreateCache(configuration); Duration duration = new Duration(TimeUnit.SECONDS, 60); ExpiryPolicy expiryPolicy = ModifiedExpiryPolicy.factoryOf(duration).create(); for (int i = 0; i < 1; i++) { cache.withExpiryPolicy(expiryPolicy).put("bb" + i,"bb"); } client.close(); } }
故障节点DEBUG日志
该节点不再扫描堆外缓存中的过期数据并放入队列,日志如下:
[2023-08-31 17:51:01.355][DEBUG][GridTimeoutProcessor] Timeout has occurred [obj=org.apache.ignite.internal.processors.cache.distributed.dht.topology.PartitionsEvictManager$1$1@qso42s7c, process=true] [2023-08-31 17:51:01.355][DEBUG][GridClosureProcessor] Grid runnable started: closure-proc-worker [2023-08-31 17:51:01.355][DEBUG][PartitionsEvictManager] After filling the evict queue [res=0, tombstone=true, size=0] [2023-08-31 17:51:01.355][DEBUG][GridClosureProcessor] Grid runnable finished normally: closure-proc-worker
正常节点DEBUG日志
正常节点会同时扫描tombstone和非tombstone数据,日志如下:
[2023-08-31 17:51:00.265][DEBUG][GridTimeoutProcessor] Timeout has occurred [obj=org.apache.ignite.internal.processors.cache.distributed.dht.topology.PartitionsEvictManager$1$1@670cf995, process=true] [2023-08-31 17:51:00.265][DEBUG][GridTimeoutProcessor] Timeout has occurred [obj=org.apache.ignite.internal.processors.cache.distributed.dht.topology.PartitionsEvictManager$1$1@7f8e158b, process=true] [2023-08-31 17:51:00.265][DEBUG][GridClosureProcessor] Grid runnable started: closure-proc-worker [2023-08-31 17:51:00.265][DEBUG][GridClosureProcessor] Grid runnable started: closure-proc-worker [2023-08-31 17:51:00.265][DEBUG][PartitionsEvictManager] After filling the evict queue [res=0, tombstone=false, size=0] [2023-08-31 17:51:00.266][DEBUG][PartitionsEvictManager] After filling the evict queue [res=0, tombstone=true, size=0] [2023-08-31 17:51:00.266][DEBUG][GridClosureProcessor] Grid runnable finished normally: closure-proc-worker [2023-08-31 17:51:00.266][DEBUG][GridClosureProcessor] Grid runnable finished normally: closure-proc-worker
版本信息
使用GridGain Community Edition 8.8.9版本。
疑问
请问非tombstone数据未被扫描的可能原因是什么?我发现GG-34133似乎对此处进行了优化,但无法查看其详细信息,二者是否存在关联?
内容的提问来源于stack exchange,提问作者lonesomerain
相关产品推荐
相关产品推荐

