[ 
https://issues.apache.org/jira/browse/IGNITE-1093?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Anton Vinogradov resolved IGNITE-1093.
--------------------------------------
    Resolution: Fixed

List of changes:

1) Reimplemented Ordered rebalancing. Now order matter at each partitions 
exchange.

2) Rebalancing becomes multithreaded. Maximum amount of threads used at 
rebalancing can be set at IgniteConfiguration. Default value is 1 thread, 
because it has minimal impact on the operation of the grid.
Same threads (handlers) used for supplying and demanding, this allows to limit 
impact in grid too.

3) Supply node now can prefetch batches at rebalancings start. This means that 
more that one batches can be produced at start, so Demand node will not wait 
for next batch after handling previous. Default value is to generate 2 batches 
at start and one more at each demand request.

4) Increased speed of rebalancing by changing strategy of chosing supply node. 
Previous strategy was to use oldrest one, current is to use any (random) node 
owns partition.

5) Demander & Supplier threads (2 * caches count) replaced by ordered topics, 1 
by default (see [2]). Less threads, less problems.

6) Added per-cache rebalancing futures. Future which will complete when 
preloading finishes on current topology.
     * Future result is {@code true} in case rebalancing successfully finished 
at current topology.
     * Future result is {@code false} in case rebalancing cancelled or finished 
with missed partitions and will be restarted at current or pending topology.

7) Async partitions eviction improved to use only one thread & and queue of 
partitions that should be evicted. This change allows fo fix throughput drop 
right after rebalancing.

8) Patrition eviction now produce less garbage because of using 1 instance of 
of Extras instead of new Extras for each CacheEntry. This change allows fo fix 
throughput drop right after rebalancing.

> Rebalancing with default parameters is very slow
> ------------------------------------------------
>
>                 Key: IGNITE-1093
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1093
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>    Affects Versions: sprint-7
>            Reporter: Pavel Konstantinov
>            Assignee: Anton Vinogradov
>            Priority: Critical
>             Fix For: 1.5
>
>         Attachments: Plot_ThroughputLatencyProbe_01.png, rebalancing.zip
>
>
> # Start one node with partitioned cache with one backup.
> # Load into the cache 40billions of keys using DataStreamer
> # Start second node on the same host



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to