ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "aaron@tophold.com" <aa...@tophold.com>
Subject Is the partition cache re-balance at once a new Node join/left?
Date Thu, 22 Mar 2018 11:02:03 GMT
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
Mime
View raw message