Apache Ignite expired data remains in memory with TTL enabled and after thread execution

classic Classic list List threaded Threaded
2 messages Options
ales ales
Reply | Threaded
Open this post in threaded view
|

Apache Ignite expired data remains in memory with TTL enabled and after thread execution

Hello,

Our company is currently facing an issue with Ignite expired entries that
remains in the cache.

Here is the setup to reproduce:
create an ignite client (in client mode false) and put some data (10k
entries/values) to it with very small expiration time (~20s) and TTL
enabled. Each time the thread is running it'll remove all the entries that
expired, but after few attempts this thread is not removing all the expired
entries, some of them are staying in memory and are not removed by this
thread execution. That means we got expired data in memory, and it's
something we want to avoid.

Please can you confirm that is a real issue or just misuse/configuration of
our setup?

Thanks for your feedback.

Test
I've tried in three different setups: full local mode (embedded server) on
MacOS, remote server using one node in Docker, and also remote cluster using
3 nodes in kubernetes.

To reproduce
Git repo: https://github.com/panes/ignite-sample

Run MyIgniteLoadRunnerTest.run() to reproduce the issue described on top.

(Global setup: Writing 10k entries of 64octets each with TTL 10s)

Thank you.



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/
slava.koptilin slava.koptilin
Reply | Threaded
Open this post in threaded view
|

Re: Apache Ignite expired data remains in memory with TTL enabled and after thread execution

Hello,

It seems this is a known issue https://issues.apache.org/jira/browse/IGNITE-11438 which was recently fixed and will be available in AI 2.8.

Thanks,
S.

пн, 22 июл. 2019 г. в 15:02, ales <[hidden email]>:
Hello,

Our company is currently facing an issue with Ignite expired entries that
remains in the cache.

Here is the setup to reproduce:
create an ignite client (in client mode false) and put some data (10k
entries/values) to it with very small expiration time (~20s) and TTL
enabled. Each time the thread is running it'll remove all the entries that
expired, but after few attempts this thread is not removing all the expired
entries, some of them are staying in memory and are not removed by this
thread execution. That means we got expired data in memory, and it's
something we want to avoid.

Please can you confirm that is a real issue or just misuse/configuration of
our setup?

Thanks for your feedback.

Test
I've tried in three different setups: full local mode (embedded server) on
MacOS, remote server using one node in Docker, and also remote cluster using
3 nodes in kubernetes.

To reproduce
Git repo: https://github.com/panes/ignite-sample

Run MyIgniteLoadRunnerTest.run() to reproduce the issue described on top.

(Global setup: Writing 10k entries of 64octets each with TTL 10s)

Thank you.



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/