You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Dmitry Lazurkin (Jira)" <ji...@apache.org> on 2021/04/12 12:40:00 UTC

[jira] [Updated] (IGNITE-14524) Historical rebalance doesn't work if cache has configured rebalanceDelay

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