[
https://issues.apache.org/jira/browse/IGNITE-5399?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16057533#comment-16057533
]
Evgenii Zhuravlev commented on IGNITE-5399:
-------------------------------------------
Hi Semen,
Thanks for your comments,
I added test to the test suite.
Actually, it was a misunderstanding of root of a problem. False returns when
new rebalance for this cache already in queue. So, in this case it was not a
rescheduled rebalancing, it was another rebalance that was invoked manually.
I rewrited test, now it's failing without patch.
> Manual cache rebalancing feature is broken
> ------------------------------------------
>
> Key: IGNITE-5399
> URL: https://issues.apache.org/jira/browse/IGNITE-5399
> Project: Ignite
> Issue Type: Bug
> Components: cache
> Affects Versions: 1.8, 1.9, 2.0
> Reporter: Andrew Mashenkov
> Assignee: Evgenii Zhuravlev
> Priority: Critical
> Fix For: 2.2
>
> Attachments: ManualRebalanceBug.java
>
>
> Cache.rebalance() javadoc says "Future that will be completed when
> rebalancing is finished". But it is not true.
> 1. The method return value is Object, however actually it is Boolean and it
> is not obvious.
> 2. Future.get() return true if rebalance is finished, but can return false
> and reschedule rebalancing. So, control can return to thread before
> rebalancing even started.
> 3. Spinning on rebalance().get() until it true will not help. Seems like
> rebalance either restarted (1.9) or hanged (2.0).
> PFA repro attached.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)