gpt4 book ai didi

java - 使用 Apache Ignite,在启用 TTL 且线程执行后,一些过期数据仍保留在内存中

转载 作者:行者123 更新时间:2023-12-02 09:40:13 25 4
gpt4 key购买 nike

问题

创建一个 ignite 客户端(在客户端模式下为 false)并向其放入一些数据(10k 条目/值),过期时间非常短(约 20 秒)并启用 TTL。每次线程运行时,它都会删除所有过期的条目,但经过几次尝试后,该线程并未删除所有过期的条目,其中一些条目仍保留在内存中,并且不会被该线程执行删除。这意味着我们在内存中得到了一些过期的数据,这是我们想要避免的。

请您确认这是一个真正的问题还是只是我的设置的误用/配置?

感谢您的反馈。

测试

我尝试了三种不同的设置:MacOS 上的完全本地模式(嵌入式服务器)、Docker 中使用一个节点的远程服务器以及 kubernetes 中使用 3 个节点的远程集群。

重现

Git 存储库:https://github.com/panes/ignite-sample

运行 MyIgniteLoadRunnerTest.run() 以重现上面描述的问题。

(全局设置:写入 10k 个条目,每个条目 64 个八位字节,TTL 为 10 秒)

最佳答案

这似乎是一个已知问题。这是跟踪它的链接 https://issues.apache.org/jira/browse/IGNITE-11438 。它将包含在 Ignite 2.8 版本中。据我所知,它已经作为GridGain Community Edition的一部分发布了。 .

关于java - 使用 Apache Ignite,在启用 TTL 且线程执行后,一些过期数据仍保留在内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57145568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com