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