[
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)