IgniteCache: How to ensure cache is 'rebalanced' when a node leaves topology?

classic Classic list List threaded Threaded
3 messages Options
techbysample techbysample
Reply | Threaded
Open this post in threaded view
|

IgniteCache: How to ensure cache is 'rebalanced' when a node leaves topology?

This post was updated on .
Forum,

Background:

Apache Ignite Version: 1.5
OS: Windows 8.1

I started an IgniteCache using the following configuration:

              Ignition.setClientMode(true);

              try (Ignite ignite = Ignition.start()) {
               
              CacheConfiguration<Integer, String> cacheCfg = new CacheConfiguration<>("myCacheName");
              cacheCfg.setAtomicityMode(TRANSACTIONAL);
              cacheCfg.setCacheMode(CacheMode.PARTITIONED);
              cacheCfg.setRebalanceMode(CacheRebalanceMode.SYNC);
              cacheCfg.setStatisticsEnabled(true);
           
              IgniteCache<Integer, String> cache = ignite.cache("myCacheName");
                  //   Store keys in cache
            for (int i = 0; i < 10; i++)
            cache.put(i, Integer.toString(i));
         
                    for (int i = 0; i < 10; i++)
                        System.out.println("Got [key=" + i + ", val=" + cache.get(i) + ']');
                }

For my example, In my topology I expect to have 1 client node and 2 server nodes.
I expect a total of 10 keys/values.

Question:
I noticed that when I start with 1 client and 1 server, cache is re-balanced when 2nd server nodes joins.
However, when 1 server node shuts down, leaving only 1 remaining server node, cache is not re-balanced.
As a result, the node that was shut down had 4 keys/values. The remaining node has only 6 keys/values.
It is my expectation that the remaining server node would have 10 key/values. Correct?


Please advise on how to ensure IgniteCache is re-balanced when node leaves topology to have
a total of 10 keys/values?

Thank you in advance.




Denis Magda Denis Magda
Reply | Threaded
Open this post in threaded view
|

Re: IniteCache: How to ensure cache is 'rebalanced' when a node leaves topology?


You need to set number of backups to 1 to guarantee that there won't be data loss when a node leaves the cluster.

Use CacheConfiguration.setBackups(1) method for that.

--

Denis

On Sunday, March 6, 2016, techbysample <[hidden email]> wrote:

Forum,

Background:

I started an IgniteCache using the following configuration:

              Ignition.setClientMode(true);

              try (Ignite ignite = Ignition.start()) {

              CacheConfiguration<Integer, String> cacheCfg = new
CacheConfiguration<>("myCacheName");
              cacheCfg.setAtomicityMode(TRANSACTIONAL);
              cacheCfg.setCacheMode(CacheMode.PARTITIONED);
              cacheCfg.setRebalanceMode(CacheRebalanceMode.SYNC);
              cacheCfg.setStatisticsEnabled(true);

              IgniteCache<Integer, String> cache =
ignite.cache("myCacheName");
                  //   Store keys in cache
            for (int i = 0; i < 10; i++)
            cache.put(i, Integer.toString(i));

                    for (int i = 0; i < 10; i++)
                        System.out.println("Got [key=" + i + ", val=" +
cache.get(i) + ']');
                }

For my example, In my topology I expect to have 1 client node and 2 server
nodes.
I expect a total of 10 keys/values.

Question:
I noticed that when I start with 1 client and 1 server, cache is re-balanced
when 2nd server nodes joins.
However, when 1 server node shuts down, leaving only 1 remaining server
node, cache is not re-balanced.
As a result, the node that was shut down had 4 keys/values. The remaining
node has only 6 keys/values.
It is my expectation that the remaining server node would have 10
key/values. Correct?


Please advise on how to ensure IgniteCache is re-balanced when node leaves
topology to have
a total of 10 keys/values?

Thank you in advance.








--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/IniteCache-How-to-ensure-cache-is-rebalanced-when-a-node-leaves-topology-tp3379.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.
techbysample techbysample
Reply | Threaded
Open this post in threaded view
|

Re: IniteCache: How to ensure cache is 'rebalanced' when a node leaves topology?

Thank you. That worked.