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

Dmitry Lazurkin updated IGNITE-14524:
-------------------------------------
    Description: 
I have big cache with configured rebalanceMode = ASYNC, rebalanceDelay = 
10_000ms. Persistence is enabled, maxWalArchiveSize = 10GB. And I passed
-DIGNITE_PREFER_WAL_REBALANCE=true and -DIGNITE_PDS_WAL_REBALANCE_THRESHOLD=1 
to Ignite. So node should use historical rebalance if there is enough WAL. But 
it doesn't. After investigation I found that 
GridDhtPreloader#generateAssignments always get called with exchFut = null, and 
this method can't set histPartitions without exchFut. I think, that problem in 
GridCachePartitionExchangeManager
(https://github.com/apache/ignite/blob/bc24f6baf3e9b4f98cf98cc5df67fb5deb5ceb6c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java#L3486).
 It doesn't call generateAssignments without forcePreload if rebalanceDelay is 
configured.

Historical rebalance works after removing rebalanceDelay.

  was:
I have big cache with configured rebalanceMode = ASYNC, rebalanceDelay =
10_000ms. Persistence is enabled, maxWalArchiveSize = 10GB. And I passed
-DIGNITE_PREFER_WAL_REBALANCE=true and 
-DIGNITE_PDS_WAL_REBALANCE_THRESHOLD=1 to Ignite. So node should use
historical rebalance if there is enough WAL. But it doesn't. After
investigation I found that GridDhtPreloader#generateAssignments always
get called with exchFut = null, and this method can't set histPartitions
without exchFut. I think, that problem in
GridCachePartitionExchangeManager
(https://github.com/apache/ignite/blob/bc24f6baf3e9b4f98cf98cc5df67fb5deb5ceb6c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java#L3486).
It doesn't call generateAssignments without forcePreload if
rebalanceDelay is configured.

Historical rebalance works after removing rebalanceDelay.


> Historical rebalance doesn't work if cache has configured rebalanceDelay
> ------------------------------------------------------------------------
>
>                 Key: IGNITE-14524
>                 URL: https://issues.apache.org/jira/browse/IGNITE-14524
>             Project: Ignite
>          Issue Type: Bug
>    Affects Versions: 2.10
>            Reporter: Dmitry Lazurkin
>            Priority: Major
>
> I have big cache with configured rebalanceMode = ASYNC, rebalanceDelay = 
> 10_000ms. Persistence is enabled, maxWalArchiveSize = 10GB. And I passed
> -DIGNITE_PREFER_WAL_REBALANCE=true and -DIGNITE_PDS_WAL_REBALANCE_THRESHOLD=1 
> to Ignite. So node should use historical rebalance if there is enough WAL. 
> But it doesn't. After investigation I found that 
> GridDhtPreloader#generateAssignments always get called with exchFut = null, 
> and this method can't set histPartitions without exchFut. I think, that 
> problem in GridCachePartitionExchangeManager
> (https://github.com/apache/ignite/blob/bc24f6baf3e9b4f98cf98cc5df67fb5deb5ceb6c/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java#L3486).
>  It doesn't call generateAssignments without forcePreload if rebalanceDelay 
> is configured.
> Historical rebalance works after removing rebalanceDelay.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to