ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stanislav Lukyanov <stanlukya...@gmail.com>
Subject RE: Is the partition cache re-balance at once a new Node join/left?
Date Thu, 22 Mar 2018 11:59:03 GMT
Hi Aaron,

To add to what Ivan’ve said about baseline topology, there is a general setting for the
time between a topology change and rebalancing start - 
CacheConfiguration.rebalanceDelay. 
See Javadoc for details: https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/configuration/CacheConfiguration.html#getRebalanceDelay--

Thanks,
Stan

From: Ivan Rakov
Sent: 22 марта 2018 г. 14:12
To: user@ignite.apache.org
Subject: Re: Is the partition cache re-balance at once a new Node join/left?

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, aaron@tophold.com 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


Mime
View raw message