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

Alexander Lapin updated IGNITE-19440:
-------------------------------------
    Description: 
h3. Motivation

While reviewing https://issues.apache.org/jira/browse/IGNITE-18955 it became 
obvious that having zone specific details in 
TableManager#createDistributionZonesDataNodesListener and partial dataNodes 
emptiness check is a result of bad design and should be fixed ASAP. The core 
idea here is that instead of TableManager, distribution Zones should manage 
rebalance so that it's worth to move all corresponding listeners to an 
appropriate place. Unfortunately it's not that easy because some listeners are 
coupled with table logic too tight but aforementioned 
createDistributionZonesDataNodesListener and onUpdateReplicas not of that kind, 
they are easy to move and thus might be considered as good candidates to start 
with.

Besides moving listeners that update pending assignments keys it's also worth 
to substitute baselineManager usage with dataNodes one in onUpdateReplicas in 
order to provide an ability to add filter appliance and dataNodes emptiness 
check there.
h3. Definition of Done
 * Both createDistributionZonesDataNodesListener and onUpdateReplicas are moved 
from TableManager to distribution zones.
 * Within onUpdateReplicas baselineManager#nodes usage is substituted with 
dataNodes one in order apply filter and emptiness check.

  was:
h3. Motivation

While reviewing https://issues.apache.org/jira/browse/IGNITE-18955 it became 
obvious that having zone specific details in TableManager in particular ones 
that are exposed through distributionZonesDataNodesListener and partial 
dataNodes emptiness check is a result of bad design and should be fixed ASAP. 
The core idea here is that instead of TableManager Distribution Zones should 
manage rebalance logic and moving


> Move onUpdateReplicas and distributionZonesDataNodesListener from table 
> manager to distribution zones
> -----------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-19440
>                 URL: https://issues.apache.org/jira/browse/IGNITE-19440
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Alexander Lapin
>            Priority: Major
>              Labels: ignite-3
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> h3. Motivation
> While reviewing https://issues.apache.org/jira/browse/IGNITE-18955 it became 
> obvious that having zone specific details in 
> TableManager#createDistributionZonesDataNodesListener and partial dataNodes 
> emptiness check is a result of bad design and should be fixed ASAP. The core 
> idea here is that instead of TableManager, distribution Zones should manage 
> rebalance so that it's worth to move all corresponding listeners to an 
> appropriate place. Unfortunately it's not that easy because some listeners 
> are coupled with table logic too tight but aforementioned 
> createDistributionZonesDataNodesListener and onUpdateReplicas not of that 
> kind, they are easy to move and thus might be considered as good candidates 
> to start with.
> Besides moving listeners that update pending assignments keys it's also worth 
> to substitute baselineManager usage with dataNodes one in onUpdateReplicas in 
> order to provide an ability to add filter appliance and dataNodes emptiness 
> check there.
> h3. Definition of Done
>  * Both createDistributionZonesDataNodesListener and onUpdateReplicas are 
> moved from TableManager to distribution zones.
>  * Within onUpdateReplicas baselineManager#nodes usage is substituted with 
> dataNodes one in order apply filter and emptiness check.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to