Hi Aaron,
Which version of Ignite do you use? Is Ignite Native Persistence enabled
on your node?
Since 2.4, in persistent mode partitions are mapped to nodes according
to Baseline Topology. You may need to set new Baseline Topology of your
new set of nodes in order to trigger rebalancing.
Read more: https://apacheignite.readme.io/docs/cluster-activation
Best Regards,
Ivan Rakov
On 22.03.2018 14:02, [email protected] wrote:
Hi all,
We had a partition cache with backup as zero, but we found sometime
even a new nodes join, the cache's partition not re-balance.
one of the node may contain all the primary partition, while other may
have none partition.
so will the re-balance happen under a specific condition? cache
configure as:
<bean class="org.apache.ignite.configuration.CacheConfiguration"
id="ExampleCache">
<property name="name" value="ExampleCache"/>
<property name="cacheMode" value="PARTITIONED"/>
<property name="atomicityMode" value="ATOMIC"/>
<property name="affinity">
<bean
class="org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction">
<property name="partitions" value="32"/>
</bean>
</property>
<property name="nodeFilter">
<bean class="org.apache.ignite.util.AttributeNodeFilter">
<constructor-arg name="attrName"
value="Domain"/>
<constructor-arg name="attrVal" value="Product"/>
</bean>
</property>
</bean>
There are two nodes with attributes Domain as Product. While after
ignite started we have a back-end thread to check on each node every
one min:
ignite.affinity("ExampleCache").primaryPartitions(ignite.cluster().localNode())
And found one of the node always include the totally 32 partitions.
and then forever the re-balance not happen, if we use this filter to
scan the cluster:
ignite.cluster().forPredicate(new
org.apache.ignite.util.AttributeNodeFilter("Domain", "Product"))
We can find there are two nodes there, this cache volume only about
hundreds, is there any configuration we may missed?
Regards
Aaron
------------------------------------------------------------------------
Aaron.Kuai