You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 17:54:53