[
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)