igniteregiongridgain

Apache Ignite Eviction Behavior


I'm using Apache Ignite(gridgain 8.8.33)

And I have 4 nodes and 2 data regions.(different data region size)

server 1 Data Region#1 32GV Data Region#2 16GB

server 2 Data Region#1 32GB Data Region#2 16GB

server 3 Data Region#1 32GB Data Region#2 1GB

server 4 Data Region#1 32GB Data Region#2 1GB

In this case, when I set backup to 2 and set data region eviction(page eviction).

I'm curious how eviction works

  1. If 3,4 nodes's #2 data region are full, then evict only local page(not backup partition) and keep backup count 2 using 1,2 nodes automatically?
  2. If 3,4 nodes's #2 data region are full, then evict primary and backup partition include 1,2 nodes have?(occur data loss because effect on 3,4 nodes eviction)
  3. If do 2., how can I config Data region in this case(I would like to set off persistence mode)

Solution

  • The short answer is: don't do that. All your nodes should have basically the same configuration.

    You can't use eviction if you don't want data loss. The whole point of eviction is to delete the least used data so that more frequently used data can be stored. By definition, it deletes data.

    You could use something like native persistence or swapping, but you're going to get inconsistent performance.

    As you hint in the comment, you could use a node filter to only put your table on the two "big" nodes. That might be your least bad option but, as per my first paragraph, I wouldn't recommend it.