[
https://issues.apache.org/jira/browse/IGNITE-20561?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sergey Uttsel updated IGNITE-20561:
-----------------------------------
Description:
*Motivation*
Currently we use zonesChangeTriggerKey in
DistributionZonesUtil#triggerKeyConditionForZonesChanges to create condition to
initialize the zone's meta storage keys on a zone creation and to remove these
keys on a zone drop. It cause some issues:
# we cannot remove zonesChangeTriggerKey to ensure that on the zone will not
recreated on DZM restart
# it doesn't work properly now because it possible that on DZM restart the
zone will be recreated with the revision which is higher than original the zone
create revision.
*Implementation notes*
To fix it we need to get rid of zonesChangeTriggerKey and use a dataNodes ms
key on a zone create and a zone drop.
so the condition for a zone creation will be:
{code:java}
and(
notExists(dataNodes(zoneId)),
notTombstone(dataNodes(zoneId))
){code}
and for a zone drop:
{code:java}
exists(dataNodes(zoneId)){code}
*Definition of done*
Got rid of the meta storage zonesChangeTriggerKey key.
was:
*Motivation*
Currently we use zonesChangeTriggerKey in
DistributionZonesUtil#triggerKeyConditionForZonesChanges to create condition to
initialize the zone's meta storage keys on a zone creation and to remove these
keys on a zone drop. It cause some issues: # we cannot remove
zonesChangeTriggerKey to ensure that on the zone will not recreated on DZM
restart
# it doesn't work properly now because it possible that on DZM restart the
zone will be recreated with the revision which is higher than original the zone
create revision.
*Implementation notes*
To fix it we need to get rid of zonesChangeTriggerKey and use a dataNodes ms
key on a zone create and a zone drop.
so the condition for a zone creation will be:
and(
notExists(dataNodes(zoneId)),
notTombstone(dataNodes(zoneId))
)
and for a zone drop:
exists(dataNodes(zoneId))
*Definition of done*
Got rid of the meta storage zonesChangeTriggerKey key.
> Change condition for DistributionZonesUtil#triggerKeyConditionForZonesChanges
> to use ConditionType#TOMBSTONE
> -------------------------------------------------------------------------------------------------------------
>
> Key: IGNITE-20561
> URL: https://issues.apache.org/jira/browse/IGNITE-20561
> Project: Ignite
> Issue Type: Bug
> Reporter: Mirza Aliev
> Priority: Major
> Labels: ignite-3
>
> *Motivation*
> Currently we use zonesChangeTriggerKey in
> DistributionZonesUtil#triggerKeyConditionForZonesChanges to create condition
> to initialize the zone's meta storage keys on a zone creation and to remove
> these keys on a zone drop. It cause some issues:
> # we cannot remove zonesChangeTriggerKey to ensure that on the zone will not
> recreated on DZM restart
> # it doesn't work properly now because it possible that on DZM restart the
> zone will be recreated with the revision which is higher than original the
> zone create revision.
> *Implementation notes*
> To fix it we need to get rid of zonesChangeTriggerKey and use a dataNodes ms
> key on a zone create and a zone drop.
> so the condition for a zone creation will be:
> {code:java}
> and(
> notExists(dataNodes(zoneId)),
> notTombstone(dataNodes(zoneId))
> ){code}
> and for a zone drop:
> {code:java}
> exists(dataNodes(zoneId)){code}
>
> *Definition of done*
> Got rid of the meta storage zonesChangeTriggerKey key.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)