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

Vyacheslav Koptilin reassigned IGNITE-23245:
--------------------------------------------

    Assignee: Alexander Lapin

> Placement returns assignments only in MS nodes
> ----------------------------------------------
>
>                 Key: IGNITE-23245
>                 URL: https://issues.apache.org/jira/browse/IGNITE-23245
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Vladislav Pyatkov
>            Assignee: Alexander Lapin
>            Priority: Major
>              Labels: ignite-3
>
> h3. Motivation
> The placement driver may be used from any nodes, but part of their method 
> (they are declared in AssignmentsPlacementDriver interface) returns the 
> correct value only in Meta storage nodes. It is just because the assignments 
> are tracked only in MS nodes:
> {code:java}
> placementDriverNodesNamesProvider.get()
>     .thenCompose(placementDriverNodes -> {
>         String thisNodeName = 
> clusterService.topologyService().localMember().name();
>         if (!placementDriverNodes.contains(thisNodeName)) {
>             return nullCompletedFuture();
>         }
>         try {
>             leaseUpdater.init();
>             return raftManager.startRaftGroupService(
>                     replicationGroupId,
>                     PeersAndLearners.fromConsistentIds(placementDriverNodes),
>                     topologyAwareRaftGroupServiceFactory,
>                     null // Use default commands marshaller.
>             ).thenCompose(client -> 
> client.subscribeLeader(this::onLeaderChange).thenApply(v -> client));
>         } catch (NodeStoppingException e) {
>             return failedFuture(e);
>         }
>     })
> {code}
> {code:java}
> public void init() {
>   topologyTracker.startTrack();
>   assignmentsTracker.startTrack();
> }
> {code}
> h3. Implementation notesĀ 
> I assume we could get rid of using a primary replica instead of assignment in 
> the SQL module (ExecutionTargetProviderImpl#allReplicas) right after the fix 
> would have been completed.
> It would be great to fix it in this patch and prove it by the green viza.
> h3. Definition of done
> We ought to start the assignment tracker in all nodes to make all methods 
> available in any cluster node.



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

Reply via email to