[jira] [Updated] (IGNITE-20317) Meta storage invokes are not completed when events are handled in DZM

2023-10-16 Thread Vyacheslav Koptilin (Jira)


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

Vyacheslav Koptilin updated IGNITE-20317:
-
Fix Version/s: 3.0.0-beta2

> Meta storage invokes are not completed when events are handled in DZM 
> --
>
> Key: IGNITE-20317
> URL: https://issues.apache.org/jira/browse/IGNITE-20317
> Project: Ignite
>  Issue Type: Bug
>Reporter: Sergey Uttsel
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> h3. *Motivation*
> There are meta storage invokes in DistributionZoneManager in zone's 
> lifecycle. The futures of these invokes are ignored, so after the lifecycle 
> method is completed actually not all its actions are completed. Therefore 
> several invokes for example on createZone and alterZone can be reordered. 
> Currently it does the meta storage invokes in:
> # ZonesConfigurationListener#onCreate to init a zone.
> # ZonesConfigurationListener#onDelete to clean up the zone data.
> # DistributionZoneManager#onUpdateFilter to save data nodes in the meta 
> storage.
> # DistributionZoneManager#onUpdateScaleUp
> # DistributionZoneManager#onUpdateScaleDown
> -DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
> replicas update.-
> -LogicalTopologyEventListener to update logical topology.-
> -DistributionZoneRebalanceEngine#createDistributionZonesDataNodesListener 
> watch listener to update pending assignments.-
> h3. *Definition of Done*
> Need to ensure event handling linearization. All immediate data nodes 
> recalculation must be returned  to the event handler.
> h3. *Implementation Notes*
> * ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
> DistributionZoneManager#onUpdateFilter and 
> DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
> listeners. So we can  just return the ms invoke future  from these methods 
> and it ensure, that this invoke will be completed within the current event 
> handling.
> * We cannnot return future from LogicalTopologyEventListener's methods. We 
> can ignore these futures. It has drawback: we can skip the topology update
> # topology=[A,B], dataNodes=[A,B], scaleUp=0, scaleDown=100
> # Node C was joined to the topology and left quickly and ms invokes to update 
> topology entry was reordered.
> # data nodes was not updated immediately to [A,B,C].
> We think that we can ignore this bug because eventually it doesn't break the 
> consistency of the date node. For this purpose we need to change the invoke 
> condition:
> `value(zonesLogicalTopologyVersionKey()).lt(longToBytes(newTopology.version()))`
>  instead of
> `value(zonesLogicalTopologyVersionKey()).eq(longToBytes(newTopology.version() 
> - 1))`
> * Need to return ms invoke futures from WatchListener#onUpdate method of the 
> data nodes listener.



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


[jira] [Updated] (IGNITE-20317) Meta storage invokes are not completed when events are handled in DZM

2023-10-13 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-20317:
-
Description: 
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# DistributionZoneManager#onUpdateScaleUp
# DistributionZoneManager#onUpdateScaleDown
-DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
replicas update.-
-LogicalTopologyEventListener to update logical topology.-
-DistributionZoneRebalanceEngine#createDistributionZonesDataNodesListener watch 
listener to update pending assignments.-


h3. *Definition of Done*
Need to ensure event handling linearization. All immediate data nodes 
recalculation must be returned  to the event handler.

h3. *Implementation Notes*
* ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
DistributionZoneManager#onUpdateFilter and 
DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
listeners. So we can  just return the ms invoke future  from these methods and 
it ensure, that this invoke will be completed within the current event handling.

* We cannnot return future from LogicalTopologyEventListener's methods. We can 
ignore these futures. It has drawback: we can skip the topology update
# topology=[A,B], dataNodes=[A,B], scaleUp=0, scaleDown=100
# Node C was joined to the topology and left quickly and ms invokes to update 
topology entry was reordered.
# data nodes was not updated immediately to [A,B,C].
We think that we can ignore this bug because eventually it doesn't break the 
consistency of the date node. For this purpose we need to change the invoke 
condition:
`value(zonesLogicalTopologyVersionKey()).lt(longToBytes(newTopology.version()))`
 instead of
`value(zonesLogicalTopologyVersionKey()).eq(longToBytes(newTopology.version() - 
1))`

* Need to return ms invoke futures from WatchListener#onUpdate method of the 
data nodes listener.

  was:
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# DistributionZoneManager#onUpdateScaleUp
# DistributionZoneManager#onUpdateScaleDown
-DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
replicas update.-
-LogicalTopologyEventListener to update logical topology.-
-DistributionZoneRebalanceEngine#createDistributionZonesDataNodesListener watch 
listener to update pending assignments.-


h3. *Definition of Done*
Need to ensure event handling linearization. All immediate data nodes 
recalculation must be returned  to the event handler.

h3. *Implementation Notes*
* ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
DistributionZoneManager#onUpdateFilter and 
DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
listeners. So we can  just return the ms invoke future  from these methods and 
it ensure, that this invoke will be completed within the current event handling.

* We cannnot return future from LogicalTopologyEventListener's methods. We can 
ignore these futures. It has drawback: we can skip the topology update
# topology=[A,B], dataNodes=[A,B], scaleUp=0, scaleDown=100
# Node C was joined to the topology and left quickly and ms invokes to update 
topology entry was reordered.
# data nodes was not updated immediately to [A,B,C].
We think that we can ignore this bug because eventually it doesn't break the 
consistency of the date node. For this purpose we need to change the invoke 
condition:
`value(zonesLogicalTopologyVersionKey()).lt(longToBytes(newTopology.version()))`
 instead of
`value(zonesLogicalTopologyVersionKey()).eq(longToBytes(newTopology.version() - 
1))`

-* Need to return ms invoke futures from WatchListener#onUpdate method of the 
data nodes listener.-


> Meta storage invokes are not completed when events are handled in DZM 
> --
>
> Key: IGNITE-20317
> URL: 

[jira] [Updated] (IGNITE-20317) Meta storage invokes are not completed when events are handled in DZM

2023-10-13 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-20317:
-
Description: 
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# DistributionZoneManager#onUpdateScaleUp
# DistributionZoneManager#onUpdateScaleDown
-DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
replicas update.-
-LogicalTopologyEventListener to update logical topology.-
-DistributionZoneRebalanceEngine#createDistributionZonesDataNodesListener watch 
listener to update pending assignments.-


h3. *Definition of Done*
Need to ensure event handling linearization. All immediate data nodes 
recalculation must be returned  to the event handler.

h3. *Implementation Notes*
* ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
DistributionZoneManager#onUpdateFilter and 
DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
listeners. So we can  just return the ms invoke future  from these methods and 
it ensure, that this invoke will be completed within the current event handling.

* We cannnot return future from LogicalTopologyEventListener's methods. We can 
ignore these futures. It has drawback: we can skip the topology update
# topology=[A,B], dataNodes=[A,B], scaleUp=0, scaleDown=100
# Node C was joined to the topology and left quickly and ms invokes to update 
topology entry was reordered.
# data nodes was not updated immediately to [A,B,C].
We think that we can ignore this bug because eventually it doesn't break the 
consistency of the date node. For this purpose we need to change the invoke 
condition:
`value(zonesLogicalTopologyVersionKey()).lt(longToBytes(newTopology.version()))`
 instead of
`value(zonesLogicalTopologyVersionKey()).eq(longToBytes(newTopology.version() - 
1))`

-* Need to return ms invoke futures from WatchListener#onUpdate method of the 
data nodes listener.-

  was:
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# DistributionZoneManager#onUpdateScaleUp
# DistributionZoneManager#onUpdateScaleDown
-DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
replicas update.-
-LogicalTopologyEventListener to update logical topology.-
-DistributionZoneRebalanceEngine#createDistributionZonesDataNodesListener watch 
listener to update pending assignments.-


h3. *Definition of Done*
Need to ensure event handling linearization. All immediate data nodes 
recalculation must be returned  to the event handler.

h3. *Implementation Notes*
* ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
DistributionZoneManager#onUpdateFilter and 
DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
listeners. So we can  just return the ms invoke future  from these methods and 
it ensure, that this invoke will be completed within the current event handling.

* We cannnot return future from LogicalTopologyEventListener's methods. We can 
ignore these futures. It has drawback: we can skip the topology update
# topology=[A,B], dataNodes=[A,B], scaleUp=0, scaleDown=100
# Node C was joined to the topology and left quickly and ms invokes to update 
topology entry was reordered.
# data nodes was not updated immediately to [A,B,C].
We think that we can ignore this bug because eventually it doesn't break the 
consistency of the date node. For this purpose we need to change the invoke 
condition:
`value(zonesLogicalTopologyVersionKey()).lt(longToBytes(newTopology.version()))`
 instead of
`value(zonesLogicalTopologyVersionKey()).eq(longToBytes(newTopology.version() - 
1))`

* Need to return ms invoke futures from WatchListener#onUpdate method of the 
data nodes listener.


> Meta storage invokes are not completed when events are handled in DZM 
> --
>
> Key: IGNITE-20317
> URL: 

[jira] [Updated] (IGNITE-20317) Meta storage invokes are not completed when events are handled in DZM

2023-10-10 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-20317:
-
Epic Link: IGNITE-20611  (was: IGNITE-20166)

> Meta storage invokes are not completed when events are handled in DZM 
> --
>
> Key: IGNITE-20317
> URL: https://issues.apache.org/jira/browse/IGNITE-20317
> Project: Ignite
>  Issue Type: Bug
>Reporter: Sergey Uttsel
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> h3. *Motivation*
> There are meta storage invokes in DistributionZoneManager in zone's 
> lifecycle. The futures of these invokes are ignored, so after the lifecycle 
> method is completed actually not all its actions are completed. Therefore 
> several invokes for example on createZone and alterZone can be reordered. 
> Currently it does the meta storage invokes in:
> # ZonesConfigurationListener#onCreate to init a zone.
> # ZonesConfigurationListener#onDelete to clean up the zone data.
> # DistributionZoneManager#onUpdateFilter to save data nodes in the meta 
> storage.
> # DistributionZoneManager#onUpdateScaleUp
> # DistributionZoneManager#onUpdateScaleDown
> -DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
> replicas update.-
> -LogicalTopologyEventListener to update logical topology.-
> -DistributionZoneRebalanceEngine#createDistributionZonesDataNodesListener 
> watch listener to update pending assignments.-
> h3. *Definition of Done*
> Need to ensure event handling linearization. All immediate data nodes 
> recalculation must be returned  to the event handler.
> h3. *Implementation Notes*
> * ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
> DistributionZoneManager#onUpdateFilter and 
> DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
> listeners. So we can  just return the ms invoke future  from these methods 
> and it ensure, that this invoke will be completed within the current event 
> handling.
> * We cannnot return future from LogicalTopologyEventListener's methods. We 
> can ignore these futures. It has drawback: we can skip the topology update
> # topology=[A,B], dataNodes=[A,B], scaleUp=0, scaleDown=100
> # Node C was joined to the topology and left quickly and ms invokes to update 
> topology entry was reordered.
> # data nodes was not updated immediately to [A,B,C].
> We think that we can ignore this bug because eventually it doesn't break the 
> consistency of the date node. For this purpose we need to change the invoke 
> condition:
> `value(zonesLogicalTopologyVersionKey()).lt(longToBytes(newTopology.version()))`
>  instead of
> `value(zonesLogicalTopologyVersionKey()).eq(longToBytes(newTopology.version() 
> - 1))`
> * Need to return ms invoke futures from WatchListener#onUpdate method of the 
> data nodes listener.



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


[jira] [Updated] (IGNITE-20317) Meta storage invokes are not completed when events are handled in DZM

2023-10-04 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-20317:
-
Epic Link: IGNITE-20166

> Meta storage invokes are not completed when events are handled in DZM 
> --
>
> Key: IGNITE-20317
> URL: https://issues.apache.org/jira/browse/IGNITE-20317
> Project: Ignite
>  Issue Type: Bug
>Reporter: Sergey Uttsel
>Priority: Major
>  Labels: ignite-3
>
> h3. *Motivation*
> There are meta storage invokes in DistributionZoneManager in zone's 
> lifecycle. The futures of these invokes are ignored, so after the lifecycle 
> method is completed actually not all its actions are completed. Therefore 
> several invokes for example on createZone and alterZone can be reordered. 
> Currently it does the meta storage invokes in:
> # ZonesConfigurationListener#onCreate to init a zone.
> # ZonesConfigurationListener#onDelete to clean up the zone data.
> # DistributionZoneManager#onUpdateFilter to save data nodes in the meta 
> storage.
> # DistributionZoneManager#onUpdateScaleUp
> # DistributionZoneManager#onUpdateScaleDown
> -DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
> replicas update.-
> -LogicalTopologyEventListener to update logical topology.-
> -DistributionZoneRebalanceEngine#createDistributionZonesDataNodesListener 
> watch listener to update pending assignments.-
> h3. *Definition of Done*
> Need to ensure event handling linearization. All immediate data nodes 
> recalculation must be returned  to the event handler.
> h3. *Implementation Notes*
> * ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
> DistributionZoneManager#onUpdateFilter and 
> DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
> listeners. So we can  just return the ms invoke future  from these methods 
> and it ensure, that this invoke will be completed within the current event 
> handling.
> * We cannnot return future from LogicalTopologyEventListener's methods. We 
> can ignore these futures. It has drawback: we can skip the topology update
> # topology=[A,B], dataNodes=[A,B], scaleUp=0, scaleDown=100
> # Node C was joined to the topology and left quickly and ms invokes to update 
> topology entry was reordered.
> # data nodes was not updated immediately to [A,B,C].
> We think that we can ignore this bug because eventually it doesn't break the 
> consistency of the date node. For this purpose we need to change the invoke 
> condition:
> `value(zonesLogicalTopologyVersionKey()).lt(longToBytes(newTopology.version()))`
>  instead of
> `value(zonesLogicalTopologyVersionKey()).eq(longToBytes(newTopology.version() 
> - 1))`
> * Need to return ms invoke futures from WatchListener#onUpdate method of the 
> data nodes listener.



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


[jira] [Updated] (IGNITE-20317) Meta storage invokes are not completed when events are handled in DZM

2023-10-04 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-20317:
-
Description: 
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# DistributionZoneManager#onUpdateScaleUp
# DistributionZoneManager#onUpdateScaleDown
- DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
replicas update.-
- LogicalTopologyEventListener to update logical topology.-
- DistributionZoneRebalanceEngine#createDistributionZonesDataNodesListener 
watch listener to update pending assignments.-

All immediate data nodes recalculation must be returned  

h3. *Definition of Done*
Need to ensure event handling linearization. All immediate data nodes 
recalculation must be returned  to the event handler.

h3. *Implementation Notes*
* ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
DistributionZoneManager#onUpdateFilter and 
DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
listeners. So we can  just return the ms invoke future  from these methods and 
it ensure, that this invoke will be completed within the current event handling.

* We cannnot return future from LogicalTopologyEventListener's methods. We can 
ignore these futures. It has drawback: we can skip the topology update
# topology=[A,B], dataNodes=[A,B], scaleUp=0, scaleDown=100
# Node C was joined to the topology and left quickly and ms invokes to update 
topology entry was reordered.
# data nodes was not updated immediately to [A,B,C].
We think that we can ignore this bug because eventually it doesn't break the 
consistency of the date node. For this purpose we need to change the invoke 
condition:
`value(zonesLogicalTopologyVersionKey()).lt(longToBytes(newTopology.version()))`
 instead of
`value(zonesLogicalTopologyVersionKey()).eq(longToBytes(newTopology.version() - 
1))`

* Need to return ms invoke futures from WatchListener#onUpdate method of the 
data nodes listener.

  was:
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# DistributionZoneManager#onUpdateScaleUp
# DistributionZoneManager#onUpdateScaleDown
-# DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
replicas update.-
-# LogicalTopologyEventListener to update logical topology.-
-# DistributionZoneRebalanceEngine#createDistributionZonesDataNodesListener 
watch listener to update pending assignments.-

All immediate data nodes recalculation must be returned  

h3. *Definition of Done*
Need to ensure event handling linearization. All immediate data nodes 
recalculation must be returned  to the event handler.

h3. *Implementation Notes*
* ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
DistributionZoneManager#onUpdateFilter and 
DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
listeners. So we can  just return the ms invoke future  from these methods and 
it ensure, that this invoke will be completed within the current event handling.

* We cannnot return future from LogicalTopologyEventListener's methods. We can 
ignore these futures. It has drawback: we can skip the topology update
# topology=[A,B], dataNodes=[A,B], scaleUp=0, scaleDown=100
# Node C was joined to the topology and left quickly and ms invokes to update 
topology entry was reordered.
# data nodes was not updated immediately to [A,B,C].
We think that we can ignore this bug because eventually it doesn't break the 
consistency of the date node. For this purpose we need to change the invoke 
condition:
`value(zonesLogicalTopologyVersionKey()).lt(longToBytes(newTopology.version()))`
 instead of
`value(zonesLogicalTopologyVersionKey()).eq(longToBytes(newTopology.version() - 
1))`

* Need to return ms invoke futures from WatchListener#onUpdate method of the 
data nodes listener.


> Meta storage invokes are not completed when events are handled in DZM 
> 

[jira] [Updated] (IGNITE-20317) Meta storage invokes are not completed when events are handled in DZM

2023-10-04 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-20317:
-
Description: 
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# DistributionZoneManager#onUpdateScaleUp
# DistributionZoneManager#onUpdateScaleDown
-DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
replicas update.-
-LogicalTopologyEventListener to update logical topology.-
-DistributionZoneRebalanceEngine#createDistributionZonesDataNodesListener watch 
listener to update pending assignments.-


h3. *Definition of Done*
Need to ensure event handling linearization. All immediate data nodes 
recalculation must be returned  to the event handler.

h3. *Implementation Notes*
* ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
DistributionZoneManager#onUpdateFilter and 
DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
listeners. So we can  just return the ms invoke future  from these methods and 
it ensure, that this invoke will be completed within the current event handling.

* We cannnot return future from LogicalTopologyEventListener's methods. We can 
ignore these futures. It has drawback: we can skip the topology update
# topology=[A,B], dataNodes=[A,B], scaleUp=0, scaleDown=100
# Node C was joined to the topology and left quickly and ms invokes to update 
topology entry was reordered.
# data nodes was not updated immediately to [A,B,C].
We think that we can ignore this bug because eventually it doesn't break the 
consistency of the date node. For this purpose we need to change the invoke 
condition:
`value(zonesLogicalTopologyVersionKey()).lt(longToBytes(newTopology.version()))`
 instead of
`value(zonesLogicalTopologyVersionKey()).eq(longToBytes(newTopology.version() - 
1))`

* Need to return ms invoke futures from WatchListener#onUpdate method of the 
data nodes listener.

  was:
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# DistributionZoneManager#onUpdateScaleUp
# DistributionZoneManager#onUpdateScaleDown
-DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
replicas update.-
-LogicalTopologyEventListener to update logical topology.-
-DistributionZoneRebalanceEngine#createDistributionZonesDataNodesListener watch 
listener to update pending assignments.-

All immediate data nodes recalculation must be returned  

h3. *Definition of Done*
Need to ensure event handling linearization. All immediate data nodes 
recalculation must be returned  to the event handler.

h3. *Implementation Notes*
* ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
DistributionZoneManager#onUpdateFilter and 
DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
listeners. So we can  just return the ms invoke future  from these methods and 
it ensure, that this invoke will be completed within the current event handling.

* We cannnot return future from LogicalTopologyEventListener's methods. We can 
ignore these futures. It has drawback: we can skip the topology update
# topology=[A,B], dataNodes=[A,B], scaleUp=0, scaleDown=100
# Node C was joined to the topology and left quickly and ms invokes to update 
topology entry was reordered.
# data nodes was not updated immediately to [A,B,C].
We think that we can ignore this bug because eventually it doesn't break the 
consistency of the date node. For this purpose we need to change the invoke 
condition:
`value(zonesLogicalTopologyVersionKey()).lt(longToBytes(newTopology.version()))`
 instead of
`value(zonesLogicalTopologyVersionKey()).eq(longToBytes(newTopology.version() - 
1))`

* Need to return ms invoke futures from WatchListener#onUpdate method of the 
data nodes listener.


> Meta storage invokes are not completed when events are handled in DZM 
> --
>
> 

[jira] [Updated] (IGNITE-20317) Meta storage invokes are not completed when events are handled in DZM

2023-10-04 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-20317:
-
Description: 
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# DistributionZoneManager#onUpdateScaleUp
# DistributionZoneManager#onUpdateScaleDown
-# DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
replicas update.-
-# LogicalTopologyEventListener to update logical topology.-
-# DistributionZoneRebalanceEngine#createDistributionZonesDataNodesListener 
watch listener to update pending assignments.-

All immediate data nodes recalculation must be returned  

h3. *Definition of Done*
Need to ensure event handling linearization. All immediate data nodes 
recalculation must be returned  to the event handler.

h3. *Implementation Notes*
* ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
DistributionZoneManager#onUpdateFilter and 
DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
listeners. So we can  just return the ms invoke future  from these methods and 
it ensure, that this invoke will be completed within the current event handling.

* We cannnot return future from LogicalTopologyEventListener's methods. We can 
ignore these futures. It has drawback: we can skip the topology update
# topology=[A,B], dataNodes=[A,B], scaleUp=0, scaleDown=100
# Node C was joined to the topology and left quickly and ms invokes to update 
topology entry was reordered.
# data nodes was not updated immediately to [A,B,C].
We think that we can ignore this bug because eventually it doesn't break the 
consistency of the date node. For this purpose we need to change the invoke 
condition:
`value(zonesLogicalTopologyVersionKey()).lt(longToBytes(newTopology.version()))`
 instead of
`value(zonesLogicalTopologyVersionKey()).eq(longToBytes(newTopology.version() - 
1))`

* Need to return ms invoke futures from WatchListener#onUpdate method of the 
data nodes listener.

  was:
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
replicas update.
# LogicalTopologyEventListener to update logical topology.
# DistributionZoneRebalanceEngine#createDistributionZonesDataNodesListener 
watch listener to update pending assignments.

h3. *Definition of Done*
Need to ensure event handling linearization.

h3. *Implementation Notes*
* ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
DistributionZoneManager#onUpdateFilter and 
DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
listeners. So we can  just return the ms invoke future  from these methods and 
it ensure, that this invoke will be completed within the current event handling.

* We cannnot return future from LogicalTopologyEventListener's methods. We can 
ignore these futures. It has drawback: we can skip the topology update
# topology=[A,B], dataNodes=[A,B], scaleUp=0, scaleDown=100
# Node C was joined to the topology and left quickly and ms invokes to update 
topology entry was reordered.
# data nodes was not updated immediately to [A,B,C].
We think that we can ignore this bug because eventually it doesn't break the 
consistency of the date node. For this purpose we need to change the invoke 
condition:
`value(zonesLogicalTopologyVersionKey()).lt(longToBytes(newTopology.version()))`
 instead of
`value(zonesLogicalTopologyVersionKey()).eq(longToBytes(newTopology.version() - 
1))`

* Need to return ms invoke futures from WatchListener#onUpdate method of the 
data nodes listener.


> Meta storage invokes are not completed when events are handled in DZM 
> --
>
> Key: IGNITE-20317
> URL: https://issues.apache.org/jira/browse/IGNITE-20317
> Project: Ignite
>  Issue Type: Bug

[jira] [Updated] (IGNITE-20317) Meta storage invokes are not completed when events are handled in DZM

2023-10-04 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-20317:
-
Description: 
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# DistributionZoneManager#onUpdateScaleUp
# DistributionZoneManager#onUpdateScaleDown
-DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
replicas update.-
-LogicalTopologyEventListener to update logical topology.-
-DistributionZoneRebalanceEngine#createDistributionZonesDataNodesListener watch 
listener to update pending assignments.-

All immediate data nodes recalculation must be returned  

h3. *Definition of Done*
Need to ensure event handling linearization. All immediate data nodes 
recalculation must be returned  to the event handler.

h3. *Implementation Notes*
* ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
DistributionZoneManager#onUpdateFilter and 
DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
listeners. So we can  just return the ms invoke future  from these methods and 
it ensure, that this invoke will be completed within the current event handling.

* We cannnot return future from LogicalTopologyEventListener's methods. We can 
ignore these futures. It has drawback: we can skip the topology update
# topology=[A,B], dataNodes=[A,B], scaleUp=0, scaleDown=100
# Node C was joined to the topology and left quickly and ms invokes to update 
topology entry was reordered.
# data nodes was not updated immediately to [A,B,C].
We think that we can ignore this bug because eventually it doesn't break the 
consistency of the date node. For this purpose we need to change the invoke 
condition:
`value(zonesLogicalTopologyVersionKey()).lt(longToBytes(newTopology.version()))`
 instead of
`value(zonesLogicalTopologyVersionKey()).eq(longToBytes(newTopology.version() - 
1))`

* Need to return ms invoke futures from WatchListener#onUpdate method of the 
data nodes listener.

  was:
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# DistributionZoneManager#onUpdateScaleUp
# DistributionZoneManager#onUpdateScaleDown
- DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
replicas update.-
- LogicalTopologyEventListener to update logical topology.-
- DistributionZoneRebalanceEngine#createDistributionZonesDataNodesListener 
watch listener to update pending assignments.-

All immediate data nodes recalculation must be returned  

h3. *Definition of Done*
Need to ensure event handling linearization. All immediate data nodes 
recalculation must be returned  to the event handler.

h3. *Implementation Notes*
* ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
DistributionZoneManager#onUpdateFilter and 
DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
listeners. So we can  just return the ms invoke future  from these methods and 
it ensure, that this invoke will be completed within the current event handling.

* We cannnot return future from LogicalTopologyEventListener's methods. We can 
ignore these futures. It has drawback: we can skip the topology update
# topology=[A,B], dataNodes=[A,B], scaleUp=0, scaleDown=100
# Node C was joined to the topology and left quickly and ms invokes to update 
topology entry was reordered.
# data nodes was not updated immediately to [A,B,C].
We think that we can ignore this bug because eventually it doesn't break the 
consistency of the date node. For this purpose we need to change the invoke 
condition:
`value(zonesLogicalTopologyVersionKey()).lt(longToBytes(newTopology.version()))`
 instead of
`value(zonesLogicalTopologyVersionKey()).eq(longToBytes(newTopology.version() - 
1))`

* Need to return ms invoke futures from WatchListener#onUpdate method of the 
data nodes listener.


> Meta storage invokes are not completed when events are handled in DZM 
> 

[jira] [Updated] (IGNITE-20317) Meta storage invokes are not completed when events are handled in DZM

2023-09-04 Thread Sergey Uttsel (Jira)


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

Sergey Uttsel updated IGNITE-20317:
---
Description: 
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
replicas update.
# LogicalTopologyEventListener to update logical topology.
# DistributionZoneRebalanceEngine#createDistributionZonesDataNodesListener 
watch listener to update pending assignments.

h3. *Definition of Done*
Need to ensure event handling linearization.

h3. *Implementation Notes*
* ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
DistributionZoneManager#onUpdateFilter and 
DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
listeners. So we can  just return the ms invoke future  from these methods and 
it ensure, that this invoke will be completed within the current event handling.

* We cannnot return future from LogicalTopologyEventListener's methods. We can 
ignore these futures. It has drawback: we can skip the topology update
# topology=[A,B], dataNodes=[A,B], scaleUp=0, scaleDown=100
# Node C was joined to the topology and left quickly and ms invokes to update 
topology entry was reordered.
# data nodes was not updated immediately to [A,B,C].
We think that we can ignore this bug because eventually it doesn't break the 
consistency of the date node. For this purpose we need to change the invoke 
condition:
`value(zonesLogicalTopologyVersionKey()).lt(longToBytes(newTopology.version()))`
 instead of
`value(zonesLogicalTopologyVersionKey()).eq(longToBytes(newTopology.version() - 
1))`

* Need to return futures from WatchListener#onUpdate method of the data nodes 
listener.

  was:
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
replicas update.
# LogicalTopologyEventListener to update logical topology.
# DistributionZoneRebalanceEngine#createDistributionZonesDataNodesListener 
watch listener to update pending assignments.

h3. *Definition of Done*
Need to ensure event handling linearization.

h3. *Implementation Notes*
ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
DistributionZoneManager#onUpdateFilter and 
DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
listeners. So we can  just return the ms invoke future  from these methods and 
it ensure, that this invoke will be completed within the current event handling.

We cannnot return future from LogicalTopologyEventListener's methods. We can 
ignore these futures. It has drawback: we can skip the topology update
# topology=[A,B], dataNodes=[A,B], scaleUp=0, scaleDown=100
# Node C was joined to the topology and left quickly and ms invokes to update 
topology entry was reordered.
# data nodes was not updated immediately to [A,B,C].
We think that we can ignore this bug because eventually it doesn't break the 
consistency of the date node. For this purpose we need to change the invoke 
condition:
`value(zonesLogicalTopologyVersionKey()).lt(longToBytes(newTopology.version()))`
 instead of
`value(zonesLogicalTopologyVersionKey()).eq(longToBytes(newTopology.version() - 
1))`

Need to return futures from WatchListener#onUpdate method of the data nodes 
listener.


> Meta storage invokes are not completed when events are handled in DZM 
> --
>
> Key: IGNITE-20317
> URL: https://issues.apache.org/jira/browse/IGNITE-20317
> Project: Ignite
>  Issue Type: Bug
>Reporter: Sergey Uttsel
>Priority: Major
>  Labels: ignite-3
>
> h3. *Motivation*
> There are meta storage invokes in DistributionZoneManager in zone's 
> lifecycle. The futures of these invokes are ignored, so 

[jira] [Updated] (IGNITE-20317) Meta storage invokes are not completed when events are handled in DZM

2023-09-04 Thread Sergey Uttsel (Jira)


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

Sergey Uttsel updated IGNITE-20317:
---
Description: 
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
replicas update.
# LogicalTopologyEventListener to update logical topology.
# DistributionZoneRebalanceEngine#createDistributionZonesDataNodesListener 
watch listener to update pending assignments.

h3. *Definition of Done*
Need to ensure event handling linearization.

h3. *Implementation Notes*
* ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
DistributionZoneManager#onUpdateFilter and 
DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
listeners. So we can  just return the ms invoke future  from these methods and 
it ensure, that this invoke will be completed within the current event handling.

* We cannnot return future from LogicalTopologyEventListener's methods. We can 
ignore these futures. It has drawback: we can skip the topology update
# topology=[A,B], dataNodes=[A,B], scaleUp=0, scaleDown=100
# Node C was joined to the topology and left quickly and ms invokes to update 
topology entry was reordered.
# data nodes was not updated immediately to [A,B,C].
We think that we can ignore this bug because eventually it doesn't break the 
consistency of the date node. For this purpose we need to change the invoke 
condition:
`value(zonesLogicalTopologyVersionKey()).lt(longToBytes(newTopology.version()))`
 instead of
`value(zonesLogicalTopologyVersionKey()).eq(longToBytes(newTopology.version() - 
1))`

* Need to return ms invoke futures from WatchListener#onUpdate method of the 
data nodes listener.

  was:
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
replicas update.
# LogicalTopologyEventListener to update logical topology.
# DistributionZoneRebalanceEngine#createDistributionZonesDataNodesListener 
watch listener to update pending assignments.

h3. *Definition of Done*
Need to ensure event handling linearization.

h3. *Implementation Notes*
* ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
DistributionZoneManager#onUpdateFilter and 
DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
listeners. So we can  just return the ms invoke future  from these methods and 
it ensure, that this invoke will be completed within the current event handling.

* We cannnot return future from LogicalTopologyEventListener's methods. We can 
ignore these futures. It has drawback: we can skip the topology update
# topology=[A,B], dataNodes=[A,B], scaleUp=0, scaleDown=100
# Node C was joined to the topology and left quickly and ms invokes to update 
topology entry was reordered.
# data nodes was not updated immediately to [A,B,C].
We think that we can ignore this bug because eventually it doesn't break the 
consistency of the date node. For this purpose we need to change the invoke 
condition:
`value(zonesLogicalTopologyVersionKey()).lt(longToBytes(newTopology.version()))`
 instead of
`value(zonesLogicalTopologyVersionKey()).eq(longToBytes(newTopology.version() - 
1))`

* Need to return futures from WatchListener#onUpdate method of the data nodes 
listener.


> Meta storage invokes are not completed when events are handled in DZM 
> --
>
> Key: IGNITE-20317
> URL: https://issues.apache.org/jira/browse/IGNITE-20317
> Project: Ignite
>  Issue Type: Bug
>Reporter: Sergey Uttsel
>Priority: Major
>  Labels: ignite-3
>
> h3. *Motivation*
> There are meta storage invokes in DistributionZoneManager in zone's 
> lifecycle. The futures of these invokes are 

[jira] [Updated] (IGNITE-20317) Meta storage invokes are not completed when events are handled in DZM

2023-09-04 Thread Sergey Uttsel (Jira)


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

Sergey Uttsel updated IGNITE-20317:
---
Description: 
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
replicas update.
# LogicalTopologyEventListener to update logical topology.
# DistributionZoneRebalanceEngine#createDistributionZonesDataNodesListener 
watch listener to update pending assignments.

h3. *Definition of Done*
Need to ensure event handling linearization.

h3. *Implementation Notes*
ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
DistributionZoneManager#onUpdateFilter and 
DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
listeners. So we can  just return the ms invoke future  from these methods and 
it ensure, that this invoke will be completed within the current event handling.

We cannnot return future from LogicalTopologyEventListener's methods. We can 
ignore these futures. It has drawback: we can skip the topology update
# topology=[A,B], dataNodes=[A,B], scaleUp=0, scaleDown=100
# Node C was joined to the topology and left quickly and ms invokes to update 
topology entry was reordered.
# data nodes was not updated immediately to [A,B,C].
We think that we can ignore this bug because eventually it doesn't break the 
consistency of the date node. For this purpose we need to change the invoke 
condition:
`value(zonesLogicalTopologyVersionKey()).lt(longToBytes(newTopology.version()))`
 instead of
`value(zonesLogicalTopologyVersionKey()).eq(longToBytes(newTopology.version() - 
1))`

Need to return futures from WatchListener#onUpdate method of the data nodes 
listener.

  was:
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
replicas update.
# LogicalTopologyEventListener to update logical topology.
# DistributionZoneRebalanceEngine#createDistributionZonesDataNodesListener 
watch listener to update pending assignments.

h3. *Definition of Done*
Need to ensure event handling linearization.

h3. *Implementation Notes*
# ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
DistributionZoneManager#onUpdateFilter and 
DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
listeners. So we can  just return the ms invoke future  from these methods and 
it ensure, that this invoke will be completed within the current event handling.
# We cannnot return future from LogicalTopologyEventListener's methods. So we 
can chain their ms invokes futures in DZM or we can add tasks with ms invoke to 
executor.
# Need to return futures from WatchListener#onUpdate method of the data nodes 
listener.


> Meta storage invokes are not completed when events are handled in DZM 
> --
>
> Key: IGNITE-20317
> URL: https://issues.apache.org/jira/browse/IGNITE-20317
> Project: Ignite
>  Issue Type: Bug
>Reporter: Sergey Uttsel
>Priority: Major
>  Labels: ignite-3
>
> h3. *Motivation*
> There are meta storage invokes in DistributionZoneManager in zone's 
> lifecycle. The futures of these invokes are ignored, so after the lifecycle 
> method is completed actually not all its actions are completed. Therefore 
> several invokes for example on createZone and alterZone can be reordered. 
> Currently it does the meta storage invokes in:
> # ZonesConfigurationListener#onCreate to init a zone.
> # ZonesConfigurationListener#onDelete to clean up the zone data.
> # DistributionZoneManager#onUpdateFilter to save data nodes in the meta 
> storage.
> # DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
> replicas update.
> # 

[jira] [Updated] (IGNITE-20317) Meta storage invokes are not completed when events are handled in DZM

2023-09-01 Thread Sergey Uttsel (Jira)


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

Sergey Uttsel updated IGNITE-20317:
---
Description: 
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
replicas update.
# LogicalTopologyEventListener to update logical topology.
# DistributionZoneRebalanceEngine#createDistributionZonesDataNodesListener 
watch listener to update pending assignments.

h3. *Definition of Done*
Need to ensure event handling linearization.

h3. *Implementation Notes*
# ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
DistributionZoneManager#onUpdateFilter and 
DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
listeners. So we can  just return the ms invoke future  from these methods and 
it ensure, that this invoke will be completed within the current event handling.
# We cannnot return future from LogicalTopologyEventListener's methods. So we 
can chain their ms invokes futures in DZM or we can add tasks with ms invoke to 
executor.
# Need to return futures from WatchListener#onUpdate method of the data nodes 
listener.

  was:
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
replicas update.
# LogicalTopologyEventListener to update logical topology.

h3. *Definition of Done*
Need to ensure event handling linearization.

h3. *Implementation Notes*
# ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
DistributionZoneManager#onUpdateFilter and 
DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
listeners. So we can  just return the ms invoke future  from these methods and 
it ensure, that this invoke will be completed within the current event handling.
# We cannnot return future from LogicalTopologyEventListener's methods. So we 
can chain their ms invokes futures in DZM or we can add tasks with ms invoke to 
executor.


> Meta storage invokes are not completed when events are handled in DZM 
> --
>
> Key: IGNITE-20317
> URL: https://issues.apache.org/jira/browse/IGNITE-20317
> Project: Ignite
>  Issue Type: Bug
>Reporter: Sergey Uttsel
>Priority: Major
>  Labels: ignite-3
>
> h3. *Motivation*
> There are meta storage invokes in DistributionZoneManager in zone's 
> lifecycle. The futures of these invokes are ignored, so after the lifecycle 
> method is completed actually not all its actions are completed. Therefore 
> several invokes for example on createZone and alterZone can be reordered. 
> Currently it does the meta storage invokes in:
> # ZonesConfigurationListener#onCreate to init a zone.
> # ZonesConfigurationListener#onDelete to clean up the zone data.
> # DistributionZoneManager#onUpdateFilter to save data nodes in the meta 
> storage.
> # DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
> replicas update.
> # LogicalTopologyEventListener to update logical topology.
> # DistributionZoneRebalanceEngine#createDistributionZonesDataNodesListener 
> watch listener to update pending assignments.
> h3. *Definition of Done*
> Need to ensure event handling linearization.
> h3. *Implementation Notes*
> # ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
> DistributionZoneManager#onUpdateFilter and 
> DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
> listeners. So we can  just return the ms invoke future  from these methods 
> and it ensure, that this invoke will be completed within the current event 
> handling.
> # We cannnot return future from LogicalTopologyEventListener's methods. So we 
> can chain their ms invokes 

[jira] [Updated] (IGNITE-20317) Meta storage invokes are not completed when events are handled in DZM

2023-09-01 Thread Sergey Uttsel (Jira)


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

Sergey Uttsel updated IGNITE-20317:
---
Description: 
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
replicas update.
# LogicalTopologyEventListener to update logical topology.

h3. *Definition of Done*
Need to ensure event handling linearization.

h3. *Implementation Notes*
# ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
DistributionZoneManager#onUpdateFilter and 
DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
listeners. So we can  just return the ms invoke future  from these methods and 
it ensure, that this invoke will be completed within the current event handling.
# We cannnot return future from LogicalTopologyEventListener's methods. So we 
can chain their ms invokes futures in DZM or we can add tasks with ms invoke to 
executor.

  was:
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# LogicalTopologyEventListener to update logical topology.

h3. *Definition of Done*
Need to ensure event handling linearization.

h3. *Implementation Notes*
# ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete and 
DistributionZoneManager#onUpdateFilter are invoked in configuration listeners. 
So we can  just return the ms invoke future  from these methods and it ensure, 
that this invoke will be completed within the current event handling.
# We cannnot return future from LogicalTopologyEventListener's methods. So we 
can chain their ms invokes futures in DZM or we can add tasks with ms invoke to 
executor.


> Meta storage invokes are not completed when events are handled in DZM 
> --
>
> Key: IGNITE-20317
> URL: https://issues.apache.org/jira/browse/IGNITE-20317
> Project: Ignite
>  Issue Type: Bug
>Reporter: Sergey Uttsel
>Priority: Major
>  Labels: ignite-3
>
> h3. *Motivation*
> There are meta storage invokes in DistributionZoneManager in zone's 
> lifecycle. The futures of these invokes are ignored, so after the lifecycle 
> method is completed actually not all its actions are completed. Therefore 
> several invokes for example on createZone and alterZone can be reordered. 
> Currently it does the meta storage invokes in:
> # ZonesConfigurationListener#onCreate to init a zone.
> # ZonesConfigurationListener#onDelete to clean up the zone data.
> # DistributionZoneManager#onUpdateFilter to save data nodes in the meta 
> storage.
> # DistributionZoneRebalanceEngine#onUpdateReplicas to apdate assignment on 
> replicas update.
> # LogicalTopologyEventListener to update logical topology.
> h3. *Definition of Done*
> Need to ensure event handling linearization.
> h3. *Implementation Notes*
> # ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete, 
> DistributionZoneManager#onUpdateFilter and 
> DistributionZoneRebalanceEngine#onUpdateReplicas are invoked in configuration 
> listeners. So we can  just return the ms invoke future  from these methods 
> and it ensure, that this invoke will be completed within the current event 
> handling.
> # We cannnot return future from LogicalTopologyEventListener's methods. So we 
> can chain their ms invokes futures in DZM or we can add tasks with ms invoke 
> to executor.



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


[jira] [Updated] (IGNITE-20317) Meta storage invokes are not completed when events are handled in DZM

2023-09-01 Thread Sergey Uttsel (Jira)


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

Sergey Uttsel updated IGNITE-20317:
---
Description: 
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# LogicalTopologyEventListener to update logical topology.

h3. *Definition of Done*
Need to ensure event handling linearization.

h3. *Implementation Notes*
# ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete and 
DistributionZoneManager#onUpdateFilter are invoked in configuration listeners. 
So we can  just return the ms invoke future  from these methods and it ensure, 
that this invoke will be completed within the current event handling.
# We cannnot return future from LogicalTopologyEventListener's methods. So we 
can chain their ms invokes futures in DZM or we can add tasks with ms invoke to 
executor.

  was:
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# LogicalTopologyEventListener to update logical topology.

h3. *Definition of Done*
Need to return meta storage futures from event handlers to ensure event 
linearization.

h3. *Implementation Notes*
# ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete and 
DistributionZoneManager#onUpdateFilter are invoked in configuration listeners. 
So we can  just return the ms invoke future  from these methods and it ensure, 
that this invoke will be completed within the current event handling.
# We cannnot return future from LogicalTopologyEventListener's methods. So we 
can chain their ms invokes futures in DZM or we can add tasks with ms invoke to 
executor.


> Meta storage invokes are not completed when events are handled in DZM 
> --
>
> Key: IGNITE-20317
> URL: https://issues.apache.org/jira/browse/IGNITE-20317
> Project: Ignite
>  Issue Type: Bug
>Reporter: Sergey Uttsel
>Priority: Major
>  Labels: ignite-3
>
> h3. *Motivation*
> There are meta storage invokes in DistributionZoneManager in zone's 
> lifecycle. The futures of these invokes are ignored, so after the lifecycle 
> method is completed actually not all its actions are completed. Therefore 
> several invokes for example on createZone and alterZone can be reordered. 
> Currently it does the meta storage invokes in:
> # ZonesConfigurationListener#onCreate to init a zone.
> # ZonesConfigurationListener#onDelete to clean up the zone data.
> # DistributionZoneManager#onUpdateFilter to save data nodes in the meta 
> storage.
> # LogicalTopologyEventListener to update logical topology.
> h3. *Definition of Done*
> Need to ensure event handling linearization.
> h3. *Implementation Notes*
> # ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete 
> and DistributionZoneManager#onUpdateFilter are invoked in configuration 
> listeners. So we can  just return the ms invoke future  from these methods 
> and it ensure, that this invoke will be completed within the current event 
> handling.
> # We cannnot return future from LogicalTopologyEventListener's methods. So we 
> can chain their ms invokes futures in DZM or we can add tasks with ms invoke 
> to executor.



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


[jira] [Updated] (IGNITE-20317) Meta storage invokes are not completed when events are handled in DZM

2023-09-01 Thread Sergey Uttsel (Jira)


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

Sergey Uttsel updated IGNITE-20317:
---
Description: 
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# LogicalTopologyEventListener to update logical topology.

h3. *Definition of Done*
Need to return meta storage futures from event handlers to ensure event 
linearization.

h3. *Implementation Notes*
# ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete and 
DistributionZoneManager#onUpdateFilter are invoked in configuration listeners. 
So we can  just return the ms invoke future  from these methods and it ensure, 
that this invoke will be completed within the current event handling.
# We cannnot return future from LogicalTopologyEventListener's methods. So we 
can chain their ms invokes futures in DZM or we can add tasks with ms invoke to 
executor.

  was:
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# LogicalTopologyEventListener to update logical topology.

h3. *Definition of Done*
Need to return meta storage futures from event handlers to ensure event 
linearization.

h3. *Implementation Notes*
ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete and 
DistributionZoneManager#onUpdateFilter are invoked in configuration listeners. 
So we can  just return the ms invoke future  from these methods and it ensure, 
that this invoke will be completed within the current event handling.


> Meta storage invokes are not completed when events are handled in DZM 
> --
>
> Key: IGNITE-20317
> URL: https://issues.apache.org/jira/browse/IGNITE-20317
> Project: Ignite
>  Issue Type: Bug
>Reporter: Sergey Uttsel
>Priority: Major
>  Labels: ignite-3
>
> h3. *Motivation*
> There are meta storage invokes in DistributionZoneManager in zone's 
> lifecycle. The futures of these invokes are ignored, so after the lifecycle 
> method is completed actually not all its actions are completed. Therefore 
> several invokes for example on createZone and alterZone can be reordered. 
> Currently it does the meta storage invokes in:
> # ZonesConfigurationListener#onCreate to init a zone.
> # ZonesConfigurationListener#onDelete to clean up the zone data.
> # DistributionZoneManager#onUpdateFilter to save data nodes in the meta 
> storage.
> # LogicalTopologyEventListener to update logical topology.
> h3. *Definition of Done*
> Need to return meta storage futures from event handlers to ensure event 
> linearization.
> h3. *Implementation Notes*
> # ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete 
> and DistributionZoneManager#onUpdateFilter are invoked in configuration 
> listeners. So we can  just return the ms invoke future  from these methods 
> and it ensure, that this invoke will be completed within the current event 
> handling.
> # We cannnot return future from LogicalTopologyEventListener's methods. So we 
> can chain their ms invokes futures in DZM or we can add tasks with ms invoke 
> to executor.



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


[jira] [Updated] (IGNITE-20317) Meta storage invokes are not completed when events are handled in DZM

2023-09-01 Thread Sergey Uttsel (Jira)


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

Sergey Uttsel updated IGNITE-20317:
---
Description: 
h3. *Motivation*
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Therefore several invokes 
for example on createZone and alterZone can be reordered. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# LogicalTopologyEventListener to update logical topology.

h3. *Definition of Done*
Need to return meta storage futures from event handlers to ensure event 
linearization.

h3. *Implementation Notes*
ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete and 
DistributionZoneManager#onUpdateFilter are invoked in configuration listeners. 
So we can  just return the ms invoke future  from these methods and it ensure, 
that this invoke will be completed within the current event handling.

  was:
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# LogicalTopologyEventListener to update logical topology.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.

Need to return meta storage futures from event handlers to ensure event 
linearization.


> Meta storage invokes are not completed when events are handled in DZM 
> --
>
> Key: IGNITE-20317
> URL: https://issues.apache.org/jira/browse/IGNITE-20317
> Project: Ignite
>  Issue Type: Bug
>Reporter: Sergey Uttsel
>Priority: Major
>  Labels: ignite-3
>
> h3. *Motivation*
> There are meta storage invokes in DistributionZoneManager in zone's 
> lifecycle. The futures of these invokes are ignored, so after the lifecycle 
> method is completed actually not all its actions are completed. Therefore 
> several invokes for example on createZone and alterZone can be reordered. 
> Currently it does the meta storage invokes in:
> # ZonesConfigurationListener#onCreate to init a zone.
> # ZonesConfigurationListener#onDelete to clean up the zone data.
> # DistributionZoneManager#onUpdateFilter to save data nodes in the meta 
> storage.
> # LogicalTopologyEventListener to update logical topology.
> h3. *Definition of Done*
> Need to return meta storage futures from event handlers to ensure event 
> linearization.
> h3. *Implementation Notes*
> ZonesConfigurationListener#onCreate, ZonesConfigurationListener#onDelete and 
> DistributionZoneManager#onUpdateFilter are invoked in configuration 
> listeners. So we can  just return the ms invoke future  from these methods 
> and it ensure, that this invoke will be completed within the current event 
> handling.



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


[jira] [Updated] (IGNITE-20317) Meta storage invokes are not completed when events are handled in DZM

2023-09-01 Thread Sergey Uttsel (Jira)


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

Sergey Uttsel updated IGNITE-20317:
---
Description: 
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# LogicalTopologyEventListener to update logical topology.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.

Need to return meta storage futures from event handlers to ensure event 
linearization.

  was:
There are meta storage invokes in DistributionZoneManager in zone's lifecycle. 
The futures of these invokes are ignored, so after the lifecycle method is 
completed actually not all its actions are completed. Currently it does the 
meta storage invokes in:
# ZonesConfigurationListener#onCreate to init a zone.
# ZonesConfigurationListener#onDelete to clean up the zone data.
# LogicalTopologyEventListener to update logical topology.
# DistributionZoneManager#onUpdateFilter to save data nodes in the meta storage.
# Also saveDataNodesToMetaStorageOnScaleUp and 
saveDataNodesToMetaStorageOnScaleDown do invokes.

Need to return meta storage futures from event handlers to ensure event 
linearization.


> Meta storage invokes are not completed when events are handled in DZM 
> --
>
> Key: IGNITE-20317
> URL: https://issues.apache.org/jira/browse/IGNITE-20317
> Project: Ignite
>  Issue Type: Bug
>Reporter: Sergey Uttsel
>Priority: Major
>  Labels: ignite-3
>
> There are meta storage invokes in DistributionZoneManager in zone's 
> lifecycle. The futures of these invokes are ignored, so after the lifecycle 
> method is completed actually not all its actions are completed. Currently it 
> does the meta storage invokes in:
> # ZonesConfigurationListener#onCreate to init a zone.
> # ZonesConfigurationListener#onDelete to clean up the zone data.
> # LogicalTopologyEventListener to update logical topology.
> # DistributionZoneManager#onUpdateFilter to save data nodes in the meta 
> storage.
> Need to return meta storage futures from event handlers to ensure event 
> linearization.



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