[
https://issues.apache.org/jira/browse/IGNITE-22305?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mirza Aliev updated IGNITE-22305:
---------------------------------
Description:
h3. Motivation
In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to
decompose original task to several subtasks.
In this ticket we need to use previously created decorator for Placement Driver
from https://issues.apache.org/jira/browse/IGNITE-21911 for
{{ClientPrimaryReplicaTracker}} where {{PlacementDriver.getPrimaryReplica}} was
used before. See spreadsheet from
https://issues.apache.org/jira/browse/IGNITE-21858 with details about places to
change.
This will be the last place of PD API where {{TablePartitionId}} is used, so
after that we can get rid of decorator and rename {{getPrimaryReplicaForTable}}
and {{awaitPrimaryReplicaForTable}} and also we can move logic from the
decorator to LeaseTracker. Also {{LeaseTracker#tablePartIdToZoneIdProvider}}
could removed.
h3. Definition of done
All usages of {{PlacementDriver}} API with {{TablePartitionId}}
({{getPrimaryReplica}}) in {{ClientPrimaryReplicaTracker}} must be changed to
new methods which use {{ZonePartitionId}} (with tableId). Also
{{LeaseTracker#tablePartIdToZoneIdProvider}} must be removed.
was:
h3. Motivation
In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to
decompose original task to several subtasks.
In this ticket we need to use previously created decorator for Placement Driver
from https://issues.apache.org/jira/browse/IGNITE-21911 for
ClientPrimaryReplicaTracker where PD.getPrimaryReplica was used before. See
spreadsheet from https://issues.apache.org/jira/browse/IGNITE-21858 with
details about places to change.
This will be the last place of PD API where {{TablePartitionId}} is used, so
after that we can get rid of decorator and rename {{getPrimaryReplicaForTable}}
and {{awaitPrimaryReplicaForTable}} and also we can move logic from the
decorator to LeaseTracker. Also {{LeaseTracker#tablePartIdToZoneIdProvider}}
could removed.
h3. Definition of done
All usages of {{PlacementDriver}} API with {{TablePartitionId}}
({{getPrimaryReplica}}) in {{ClientPrimaryReplicaTracker}} must be changed to
new methods which use {{ZonePartitionId}} (with tableId). Also
{{LeaseTracker#tablePartIdToZoneIdProvider}} must be removed.
> Change API usage of Placement driver for ClientPrimaryReplicaTracker from
> TablePartitionId to ZonePartitionId
> -------------------------------------------------------------------------------------------------------------
>
> Key: IGNITE-22305
> URL: https://issues.apache.org/jira/browse/IGNITE-22305
> Project: Ignite
> Issue Type: Bug
> Reporter: Mirza Aliev
> Priority: Major
> Labels: ignite-3
>
> h3. Motivation
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to
> decompose original task to several subtasks.
> In this ticket we need to use previously created decorator for Placement
> Driver from https://issues.apache.org/jira/browse/IGNITE-21911 for
> {{ClientPrimaryReplicaTracker}} where {{PlacementDriver.getPrimaryReplica}}
> was used before. See spreadsheet from
> https://issues.apache.org/jira/browse/IGNITE-21858 with details about places
> to change.
> This will be the last place of PD API where {{TablePartitionId}} is used, so
> after that we can get rid of decorator and rename
> {{getPrimaryReplicaForTable}} and {{awaitPrimaryReplicaForTable}} and also we
> can move logic from the decorator to LeaseTracker. Also
> {{LeaseTracker#tablePartIdToZoneIdProvider}} could removed.
> h3. Definition of done
> All usages of {{PlacementDriver}} API with {{TablePartitionId}}
> ({{getPrimaryReplica}}) in {{ClientPrimaryReplicaTracker}} must be changed to
> new methods which use {{ZonePartitionId}} (with tableId). Also
> {{LeaseTracker#tablePartIdToZoneIdProvider}} must be removed.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)