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