IGNITE-28441 Add lightweight method for getting local node information#7924
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR introduces a lightweight API to fetch local node information (ClusterService.staticLocalNode()) and refactors multiple components/tests to use it instead of TopologyService.localMember() / ClusterService.nodeName(), reducing topology lookups and removing unnecessary laziness.
Changes:
- Replace
ClusterService.nodeName()withClusterService.staticLocalNode()and update call sites across modules. - Refactor several services/components to accept an
InternalClusterNode localNodedirectly (transactions, table, raft, compute, network, metastorage, etc.). - Simplify local-node-dependent helpers by removing
Lazy<>/NodeIdSupplierwhere the value is stable.
Reviewed changes
Copilot reviewed 132 out of 132 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| modules/transactions/src/test/java/org/apache/ignite/internal/tx/impl/TransactionStateResolverTest.java | Tests updated to pass InternalClusterNode directly (no Lazy). |
| modules/transactions/src/test/java/org/apache/ignite/internal/tx/TxManagerTest.java | Tests switched to clusterService.staticLocalNode(). |
| modules/transactions/src/test/java/org/apache/ignite/internal/tx/TxCleanupTest.java | Test stubbing adjusted for removal of localMember() usage. |
| modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/WriteIntentSwitchProcessor.java | Uses injected localNode instead of TopologyService. |
| modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/TxManagerImpl.java | Inject localNode and remove dependence on topology lookups for local identity. |
| modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/TransactionStateResolver.java | Replace Lazy<InternalClusterNode> with direct InternalClusterNode. |
| modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/TransactionIdGenerator.java | Remove NodeIdSupplier indirection; store stable nodeId value. |
| modules/transactions/src/main/java/org/apache/ignite/internal/tx/impl/NodeIdSupplier.java | Deleted; replaced by direct nodeId usage. |
| modules/table/src/testFixtures/java/org/apache/ignite/internal/table/impl/DummyInternalTableImpl.java | Test fixture stubs staticLocalNode(). |
| modules/table/src/testFixtures/java/org/apache/ignite/distributed/ItTxTestCluster.java | Cluster test fixture updated to use staticLocalNode() and pass nodes to constructors. |
| modules/table/src/test/java/org/apache/ignite/internal/table/distributed/storage/InternalTableEstimatedSizeTest.java | Use staticLocalNode() for local node in setup. |
| modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/ZonePartitionReplicaListenerTest.java | Remove localMember() stubbing; pass InternalClusterNode directly. |
| modules/table/src/test/java/org/apache/ignite/internal/table/distributed/replication/PartitionReplicaListenerTest.java | Remove localMember() stubbing; pass InternalClusterNode directly. |
| modules/table/src/test/java/org/apache/ignite/internal/table/distributed/raft/PartitionCommandListenerTest.java | Use staticLocalNode() for id/name/address in tests. |
| modules/table/src/test/java/org/apache/ignite/internal/table/distributed/TableManagerTest.java | Pass staticLocalNode() to TableManager. |
| modules/table/src/test/java/org/apache/ignite/internal/table/distributed/TableManagerRecoveryTest.java | Pass local node into managers; stubbing updated to staticLocalNode(). |
| modules/table/src/test/java/org/apache/ignite/internal/table/TableKvOperationsMockedTest.java | Tests now use staticLocalNode().address(). |
| modules/table/src/test/java/org/apache/ignite/internal/table/InteropOperationsTest.java | Use staticLocalNode().address() for setup. |
| modules/table/src/main/java/org/apache/ignite/internal/table/distributed/disaster/DisasterRecoveryManager.java | Inject localNode and use it for local identity. |
| modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TablePartitionResourcesFactory.java | Pass localNode through to partition/replica components. |
| modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java | Accept and forward localNode. |
| modules/table/src/integrationTest/java/org/apache/ignite/internal/table/distributed/disaster/ItHighAvailablePartitionsRecoveryTest.java | Use staticLocalNode() for expected node set. |
| modules/table/src/integrationTest/java/org/apache/ignite/internal/table/ItColocationTest.java | Stubbing updated to staticLocalNode(). |
| modules/table/src/integrationTest/java/org/apache/ignite/distributed/ReplicasSafeTimePropagationTest.java | Use staticLocalNode().name() for raft/log components. |
| modules/table/src/integrationTest/java/org/apache/ignite/distributed/ReplicaUnavailableTest.java | Use staticLocalNode() for placement driver and request coordinator id. |
| modules/table/src/integrationTest/java/org/apache/ignite/distributed/ItTxStateLocalMapTest.java | Use staticLocalNode() for coordinator and tx manager map key. |
| modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/framework/TestNode.java | Use staticLocalNode() and pass localNode to services. |
| modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/framework/TestClusterService.java | Implement staticLocalNode() for test cluster service. |
| modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/rel/TableScanNodeExecutionTest.java | Use staticLocalNode() stubbing. |
| modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/rel/ExchangeExecutionTest.java | Use staticLocalNode() for message service local sender. |
| modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImplTest.java | Execution service now constructed with InternalClusterNode. |
| modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java | Refactor to accept InternalClusterNode localNode instead of TopologyService. |
| modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/SqlQueryProcessor.java | Use staticLocalNode() and pass local node to execution service. |
| modules/sql-engine/src/integrationTest/java/org/apache/ignite/internal/sql/engine/systemviews/ItTransactionsSystemViewTest.java | Use staticLocalNode() for local member mapping. |
| modules/runner/src/testFixtures/java/org/apache/ignite/internal/table/NodeUtils.java | Send messages using staticLocalNode() recipients. |
| modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java | Use staticLocalNode() for IDs/names and to construct managers. |
| modules/runner/src/integrationTest/java/org/apache/ignite/internal/table/ItReplicasTest.java | Use staticLocalNode() for sender/receiver InternalClusterNode. |
| modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteNodeRestartTest.java | Use staticLocalNode().name() and pass local node to metastorage/zone/table managers. |
| modules/runner/src/integrationTest/java/org/apache/ignite/internal/configuration/storage/ItDistributedConfigurationStorageTest.java | Use staticLocalNode() throughout node helpers. |
| modules/runner/src/integrationTest/java/org/apache/ignite/internal/configuration/ItDistributedConfigurationPropertiesTest.java | Use staticLocalNode() throughout node helpers. |
| modules/replicator/src/testFixtures/java/org/apache/ignite/internal/raft/client/AbstractTopologyAwareGroupServiceTest.java | Use staticLocalNode().name() for peer matching and log storage naming. |
| modules/replicator/src/test/java/org/apache/ignite/internal/replicator/ReplicaManagerTest.java | Stub staticLocalNode() for local identity. |
| modules/replicator/src/main/java/org/apache/ignite/internal/replicator/ReplicaManager.java | Use staticLocalNode() to get local node/id/consistentId. |
| modules/replicator/src/integrationTest/java/org/apache/ignite/internal/replicator/ItPlacementDriverReplicaSideTest.java | Use staticLocalNode() for primary replica supplier and handlers. |
| modules/raft/src/test/java/org/apache/ignite/raft/jraft/rpc/IgniteRpcTest.java | Use staticLocalNode().name() in diagnostics. |
| modules/raft/src/test/java/org/apache/ignite/internal/raft/client/PhysicalTopologyAwareRaftGroupServiceTest.java | Use staticLocalNode().name() for peer matching/log naming. |
| modules/raft/src/test/java/org/apache/ignite/internal/raft/LozaTest.java | Update test stubs to staticLocalNode() and use .name(). |
| modules/raft/src/main/java/org/apache/ignite/raft/jraft/rpc/impl/IgniteRpcServer.java | Use staticLocalNode().name() as local consistent id. |
| modules/raft/src/main/java/org/apache/ignite/internal/raft/server/impl/JraftServerImpl.java | Replace nodeName()/localMember() with staticLocalNode().name(). |
| modules/raft/src/main/java/org/apache/ignite/internal/raft/client/RaftGroupServiceImpl.java | Logging now uses staticLocalNode().address(). |
| modules/raft/src/main/java/org/apache/ignite/internal/raft/Loza.java | Thread naming uses staticLocalNode().name(). |
| modules/raft/src/integrationTest/java/org/apache/ignite/raft/server/JraftAbstractTest.java | Use staticLocalNode().name() for log manager configuration. |
| modules/raft/src/integrationTest/java/org/apache/ignite/raft/server/ItSimpleCounterServerTest.java | Use staticLocalNode() for server name and thread factory. |
| modules/raft/src/integrationTest/java/org/apache/ignite/raft/server/ItJraftServerTest.java | Use staticLocalNode().name() for local peer. |
| modules/raft/src/integrationTest/java/org/apache/ignite/raft/server/ItJraftServerLogPathTest.java | Use staticLocalNode().name() for log manager configuration. |
| modules/raft/src/integrationTest/java/org/apache/ignite/raft/server/ItJraftHlcServerTest.java | Use staticLocalNode().name() for peer selection/tests. |
| modules/raft/src/integrationTest/java/org/apache/ignite/raft/server/ItJraftCounterServerTest.java | Use staticLocalNode().name() across raft tests. |
| modules/raft/src/integrationTest/java/org/apache/ignite/raft/server/ItConnectionErrorTest.java | Use staticLocalNode().name() for leader comparisons. |
| modules/raft/src/integrationTest/java/org/apache/ignite/internal/raft/ItRaftGroupServiceTest.java | Use staticLocalNode().name() to identify node consistently. |
| modules/raft/src/integrationTest/java/org/apache/ignite/internal/raft/ItLozaTest.java | Use staticLocalNode() for names and peer configuration. |
| modules/raft/src/integrationTest/java/org/apache/ignite/internal/raft/ItLearnersTest.java | Use staticLocalNode().name() for raft directories/IDs. |
| modules/placement-driver/src/main/java/org/apache/ignite/internal/placementdriver/PlacementDriverManager.java | Replace local-member lookups with staticLocalNode() and compare by id. |
| modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/PlacementDriverManagerTest.java | Use staticLocalNode() for naming, metastorage, and assertions. |
| modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/MultiActorPlacementDriverTest.java | Use staticLocalNode() for handlers, messaging, and log creation. |
| modules/partition-replicator/src/test/java/org/apache/ignite/internal/partition/replicator/raft/snapshot/outgoing/OutgoingSnapshotReaderTest.java | Update snapshot storage construction to pass localNode. |
| modules/partition-replicator/src/test/java/org/apache/ignite/internal/partition/replicator/raft/snapshot/incoming/IncomingSnapshotCopierTest.java | Update snapshot storage construction to pass localNode. |
| modules/partition-replicator/src/test/java/org/apache/ignite/internal/partition/replicator/raft/snapshot/PartitionSnapshotStorageTest.java | Snapshot storage now requires localNode in tests. |
| modules/partition-replicator/src/test/java/org/apache/ignite/internal/partition/replicator/raft/snapshot/PartitionSnapshotStorageFactoryTest.java | Snapshot storage now requires localNode in tests. |
| modules/partition-replicator/src/test/java/org/apache/ignite/internal/partition/replicator/ZoneResourcesManagerTest.java | Pass localNode into ZoneResourcesManager. |
| modules/partition-replicator/src/test/java/org/apache/ignite/internal/partition/replicator/PartitionReplicaLifecycleManagerTest.java | Stub staticLocalNode() and pass it into lifecycle manager. |
| modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/raft/snapshot/outgoing/OutgoingSnapshotReader.java | Use snapshot storage’s localNodeName() helper. |
| modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/raft/snapshot/PartitionSnapshotStorage.java | Persist localNode, expose localNodeName(). |
| modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/ZoneResourcesManager.java | Carry localNode into snapshot storage and resources. |
| modules/partition-replicator/src/main/java/org/apache/ignite/internal/partition/replicator/PartitionReplicaLifecycleManager.java | Replace lazy local member lookup with injected localNode. |
| modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/raft/ItZonePartitionRaftListenerRecoveryTest.java | Use staticLocalNode() for naming/ids and snapshot storage creation. |
| modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/fixtures/Node.java | Use staticLocalNode() for metastorage/zone/table initialization. |
| modules/partition-replicator/src/integrationTest/java/org/apache/ignite/internal/partition/replicator/ItZoneInMemoryTest.java | Use staticLocalNode().name() for raft peer ID. |
| modules/network/src/test/java/org/apache/ignite/internal/network/DefaultMessagingServiceTest.java | Pass local node into messaging service constructor. |
| modules/network/src/main/java/org/apache/ignite/internal/network/scalecube/ScaleCubeClusterService.java | Implement staticLocalNode() and pass local node into messaging. |
| modules/network/src/main/java/org/apache/ignite/internal/network/DefaultMessagingService.java | Store injected localNode and use it for self-delivery sender. |
| modules/network/src/integrationTest/java/org/apache/ignite/internal/network/scalecube/ItScaleCubeNetworkMessagingTest.java | Replace nodeName()/localMember() usages with staticLocalNode(). |
| modules/network/src/integrationTest/java/org/apache/ignite/internal/network/scalecube/ItNodeRestartsTest.java | Replace localMember() usage in assertions and send loop with staticLocalNode(). |
| modules/network/src/integrationTest/java/org/apache/ignite/internal/network/scalecube/ItMulticastNodeFinderTest.java | Replace localMember() usage in assertions with staticLocalNode(). |
| modules/network-api/src/main/java/org/apache/ignite/internal/network/TopologyService.java | Clarify localMember() vs staticLocalNode() semantics in API docs. |
| modules/network-api/src/main/java/org/apache/ignite/internal/network/ClusterService.java | Introduce staticLocalNode() API (replacing nodeName()). |
| modules/metastorage/src/testFixtures/java/org/apache/ignite/internal/metastorage/impl/StandaloneMetaStorageManager.java | Pass InternalClusterNode directly to metastorage manager. |
| modules/metastorage/src/test/java/org/apache/ignite/internal/metastorage/impl/MetaStorageManagerRecoveryTest.java | Use mocked staticLocalNode() and pass it to metastorage manager. |
| modules/metastorage/src/test/java/org/apache/ignite/internal/metastorage/impl/MetaStorageLeaderElectionListenerTest.java | Pass node name directly into leader election listener. |
| modules/metastorage/src/test/java/org/apache/ignite/internal/metastorage/impl/MetaStorageDeployWatchesCorrectnessTest.java | Use staticLocalNode() stubbing and pass local node into manager. |
| modules/metastorage/src/main/java/org/apache/ignite/internal/metastorage/impl/MetaStorageManagerImpl.java | Replace ClusterService dependency with injected InternalClusterNode localNode. |
| modules/metastorage/src/main/java/org/apache/ignite/internal/metastorage/impl/MetaStorageLeaderElectionListener.java | Accept node name directly instead of ClusterService. |
| modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/raft/service/ItAbstractListenerSnapshotTest.java | Use staticLocalNode().name() for raft node id creation. |
| modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/server/raft/ItMetaStorageRaftGroupTest.java | Replace nodeName() and localMember() calls with staticLocalNode(). |
| modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageWatchTest.java | Replace nodeName() calls with staticLocalNode().name() and pass local node into manager. |
| modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageServiceTest.java | Replace nodeName()/localMember().id() with staticLocalNode(). |
| modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageServicePersistenceTest.java | Replace nodeName()/localMember() with staticLocalNode(). |
| modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageMultipleNodesAbstractTest.java | Replace nodeName() with staticLocalNode().name() and pass local node into manager. |
| modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItMetaStorageManagerImplTest.java | Replace nodeName() with staticLocalNode().name() and pass local node into manager. |
| modules/metastorage/src/integrationTest/java/org/apache/ignite/internal/metastorage/impl/ItIdempotentCommandCacheTest.java | Replace nodeName() with staticLocalNode().name() across cluster helpers. |
| modules/index/src/test/java/org/apache/ignite/internal/index/IndexManagementUtilsTest.java | Use staticLocalNode() instead of mocked topology local member. |
| modules/index/src/test/java/org/apache/ignite/internal/index/ChangeIndexStatusTaskTest.java | Use staticLocalNode() for local node in tests. |
| modules/index/src/test/java/org/apache/ignite/internal/index/ChangeIndexStatusTaskControllerTest.java | Use staticLocalNode() for local node in tests. |
| modules/index/src/main/java/org/apache/ignite/internal/index/IndexManagementUtils.java | Use staticLocalNode() as the local node accessor. |
| modules/index/src/main/java/org/apache/ignite/internal/index/IndexBuildingManager.java | Pass staticLocalNode() to tx components (no Lazy). |
| modules/distribution-zones/src/test/java/org/apache/ignite/internal/distributionzones/DataNodesManagerTest.java | Update tests to construct DataNodesManager with InternalClusterNode. |
| modules/distribution-zones/src/test/java/org/apache/ignite/internal/distributionzones/BaseDistributionZoneManagerTest.java | Update tests to construct DistributionZoneManager with InternalClusterNode. |
| modules/distribution-zones/src/main/java/org/apache/ignite/internal/distributionzones/DistributionZoneManager.java | Replace nodeName/supplier with InternalClusterNode localNode. |
| modules/distribution-zones/src/main/java/org/apache/ignite/internal/distributionzones/DataNodesManager.java | Replace lazy/supplier node id with injected InternalClusterNode. |
| modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/rebalance/ItRebalanceDistributedTest.java | Replace nodeName() usage with staticLocalNode().name(); pass local node to components. |
| modules/distribution-zones/src/integrationTest/java/org/apache/ignite/internal/distributionzones/ItIgniteDistributionZoneManagerNodeRestartTest.java | Construct zone manager with staticLocalNode(). |
| modules/compute/src/test/java/org/apache/ignite/internal/compute/executor/ComputeExecutorTest.java | Compute executor now uses injected localNode. |
| modules/compute/src/test/java/org/apache/ignite/internal/compute/IgniteComputeImplTest.java | Construct compute impl with localNode and remove localMember() stubbing. |
| modules/compute/src/test/java/org/apache/ignite/internal/compute/ComputeComponentImplTest.java | Pass localNode to executor/component and stop stubbing localMember(). |
| modules/compute/src/main/java/org/apache/ignite/internal/compute/messaging/ComputeMessaging.java | Use injected localNode for self filtering. |
| modules/compute/src/main/java/org/apache/ignite/internal/compute/executor/ComputeExecutorImpl.java | Use injected localNode in job execution metadata. |
| modules/compute/src/main/java/org/apache/ignite/internal/compute/IgniteComputeImpl.java | Use injected localNode for local-target detection. |
| modules/compute/src/main/java/org/apache/ignite/internal/compute/ExecutionManager.java | Use injected localNode.name() for cleaner naming. |
| modules/compute/src/main/java/org/apache/ignite/internal/compute/ComputeJobFailover.java | Use injected localNode to decide local vs remote execution. |
| modules/compute/src/main/java/org/apache/ignite/internal/compute/ComputeComponentImpl.java | Provide localNode to ExecutionManager/ComputeMessaging and task wrappers. |
| modules/cluster-management/src/testFixtures/java/org/apache/ignite/internal/cluster/management/MockNode.java | Replace localMember() with staticLocalNode() and update log naming. |
| modules/cluster-management/src/test/java/org/apache/ignite/internal/cluster/management/raft/CmgRaftServiceTest.java | Construct CmgRaftService with localNode directly. |
| modules/cluster-management/src/test/java/org/apache/ignite/internal/cluster/management/network/CmgMessageHandlerTest.java | Use staticLocalNode().name() for node name in tests. |
| modules/cluster-management/src/test/java/org/apache/ignite/internal/cluster/management/ClusterManagementGroupManagerTest.java | Update CMG/metastorage node sets to use staticLocalNode().name(). |
| modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/raft/CmgRaftService.java | Inject localNode instead of querying topology for local member. |
| modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/metrics/LocalTopologyMetricsSource.java | Metrics source now uses injected localNode. |
| modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/ClusterManagementGroupManager.java | Use staticLocalNode() for metrics/thread names and local identity. |
| modules/cluster-management/src/integrationTest/java/org/apache/ignite/internal/cluster/management/raft/ItCmgRaftServiceTest.java | Replace localMember() with staticLocalNode() in integration tests. |
| modules/cluster-management/src/integrationTest/java/org/apache/ignite/internal/cluster/management/metrics/ItTopologyMetricsTest.java | Assertions updated to staticLocalNode() id/name. |
| modules/client/src/test/java/org/apache/ignite/client/TestServer.java | Stub staticLocalNode() for handler tests. |
| modules/client-handler/src/main/java/org/apache/ignite/client/handler/ClientInboundMessageHandler.java | Use staticLocalNode() for handshake payload. |
| modules/catalog-compaction/src/test/java/org/apache/ignite/internal/catalog/compaction/CatalogCompactionRunnerSelfTest.java | Test setup passes localNode into compaction runner. |
| modules/catalog-compaction/src/main/java/org/apache/ignite/internal/catalog/compaction/CatalogCompactionRunner.java | Inject localNode and use it for local node id. |
Comments suppressed due to low confidence (4)
modules/network-api/src/main/java/org/apache/ignite/internal/network/TopologyService.java:1
- The added
NodeMetadataimport is unused in compilation units (Javadoc references do not count as usage), which will fail the Java build with an unused-import error. Remove the import and reference the type via fully qualified name in Javadoc (e.g.,{@link org.apache.ignite.network.NodeMetadata}), or otherwise use it in code.
modules/network-api/src/main/java/org/apache/ignite/internal/network/ClusterService.java:1 - This Javadoc references
NodeMetadatabut there is no import (and adding one would be unused and fail compilation). Use a fully-qualified Javadoc link ({@link org.apache.ignite.network.NodeMetadata}) to keep docs correct without introducing an unused import.
modules/network/src/main/java/org/apache/ignite/internal/network/scalecube/ScaleCubeClusterService.java:1 staticLocalNode()now exposes anInternalClusterNodeinstance that throws at runtime fornodeMetadata()andtoPublicNode(). Even if the intent is to discourage metadata usage, these methods are part of theInternalClusterNodecontract and may be invoked indirectly (logging, telemetry, conversions, etc.), turning a refactor into a production-only failure. Prefer returning safe values:nodeMetadata()can returnnull(or a snapshot value), andtoPublicNode()should return a valid publicClusterNodebased on the stored id/name/address.
modules/network/src/main/java/org/apache/ignite/internal/network/DefaultMessagingService.java:1- The constructor now takes both
nodeNameandlocalNode, which can diverge and create hard-to-debug inconsistencies (thread names, metrics tags, logging vs. sender identity). Consider derivingnodeNamefromlocalNode.name()(or asserting they match) to ensure a single source of truth.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
ibessonov
reviewed
Apr 3, 2026
ibessonov
approved these changes
Apr 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
https://issues.apache.org/jira/browse/IGNITE-28441
Thank you for submitting the pull request.
To streamline the review process of the patch and ensure better code quality
we ask both an author and a reviewer to verify the following:
The Review Checklist
- There is a single JIRA ticket related to the pull request.
- The web-link to the pull request is attached to the JIRA ticket.
- The JIRA ticket has the Patch Available state.
- The description of the JIRA ticket explains WHAT was made, WHY and HOW.
- The pull request title is treated as the final commit message. The following pattern must be used: IGNITE-XXXX Change summary where XXXX - number of JIRA issue.
Notes