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)