[ 
https://issues.apache.org/jira/browse/IGNITE-23245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17898485#comment-17898485
 ] 

Evgeny Stanilovsky commented on IGNITE-23245:
---------------------------------------------

Why this issue is marked as improvement ? It`s a bug as for me.

> Placement driver 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: Denis Chudov
>            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