This is an automated email from the ASF dual-hosted git repository.

zstan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new 79e1e405f99 IGNITE-15735 Ingite configuration log message improvements 
(#13191)
79e1e405f99 is described below

commit 79e1e405f99a52dce1e30dbc7a2c1c6820dfc9d9
Author: Egor Baranov <[email protected]>
AuthorDate: Fri Jun 5 09:15:08 2026 +0300

    IGNITE-15735 Ingite configuration log message improvements (#13191)
---
 .../configuration/DataStorageConfiguration.java    |  2 +
 .../configuration/EncryptionConfiguration.java     |  3 +
 .../ignite/configuration/IgniteConfiguration.java  |  3 +
 .../SystemDataRegionConfiguration.java             |  6 ++
 .../marshaller/IgniteMarshallerClassFilter.java    |  5 ++
 .../spi/collision/noop/NoopCollisionSpi.java       |  3 +-
 .../spi/communication/tcp/TcpCommunicationSpi.java |  8 +-
 .../ignite/spi/discovery/tcp/ServerImpl.java       |  3 +
 .../ignite/spi/discovery/tcp/TcpDiscoverySpi.java  |  5 ++
 .../encryption/keystore/KeystoreEncryptionSpi.java |  5 ++
 .../spi/encryption/noop/NoopEncryptionSpi.java     |  5 ++
 .../apache/ignite/spi/tracing/NoopTracingSpi.java  |  5 ++
 .../configuration/IgniteConfigurationTest.java     | 86 ++++++++++++++++++++++
 .../testframework/junits/GridAbstractTest.java     | 10 ++-
 .../ignite/testsuites/IgniteBasicTestSuite2.java   |  3 +
 .../tracing/opencensus/OpenCensusTracingSpi.java   |  5 ++
 16 files changed, 149 insertions(+), 8 deletions(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/configuration/DataStorageConfiguration.java
 
b/modules/core/src/main/java/org/apache/ignite/configuration/DataStorageConfiguration.java
index a6e7a2db23b..10bd7b1fb86 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/configuration/DataStorageConfiguration.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/configuration/DataStorageConfiguration.java
@@ -23,6 +23,7 @@ import org.apache.ignite.IgniteSystemProperties;
 import 
org.apache.ignite.internal.processors.cache.persistence.file.AsyncFileIOFactory;
 import 
org.apache.ignite.internal.processors.cache.persistence.file.FileIOFactory;
 import 
org.apache.ignite.internal.processors.cache.persistence.file.RandomAccessFileIOFactory;
+import org.apache.ignite.internal.util.tostring.GridToStringExclude;
 import org.apache.ignite.internal.util.tostring.GridToStringInclude;
 import org.apache.ignite.internal.util.typedef.internal.A;
 import org.apache.ignite.internal.util.typedef.internal.S;
@@ -301,6 +302,7 @@ public class DataStorageConfiguration implements 
Serializable {
     private boolean alwaysWriteFullPages = DFLT_WAL_ALWAYS_WRITE_FULL_PAGES;
 
     /** Factory to provide I/O interface for data storage files */
+    @GridToStringExclude
     private FileIOFactory fileIOFactory =
         IgniteSystemProperties.getBoolean(IGNITE_USE_ASYNC_FILE_IO_FACTORY, 
DFLT_USE_ASYNC_FILE_IO_FACTORY) ?
             new AsyncFileIOFactory() : new RandomAccessFileIOFactory();
diff --git 
a/modules/core/src/main/java/org/apache/ignite/configuration/EncryptionConfiguration.java
 
b/modules/core/src/main/java/org/apache/ignite/configuration/EncryptionConfiguration.java
index 6b9345d4c75..320795026ec 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/configuration/EncryptionConfiguration.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/configuration/EncryptionConfiguration.java
@@ -18,11 +18,14 @@
 package org.apache.ignite.configuration;
 
 import java.io.Serializable;
+
+import org.apache.ignite.internal.util.tostring.GridToStringExclude;
 import org.apache.ignite.internal.util.typedef.internal.A;
 
 /**
  * Encryption configuration.
  */
+@GridToStringExclude
 public class EncryptionConfiguration implements Serializable {
     /** */
     private static final long serialVersionUID = 0L;
diff --git 
a/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
 
b/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
index 481bbdeae11..47082a6688f 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
@@ -49,6 +49,7 @@ import org.apache.ignite.events.EventType;
 import org.apache.ignite.failure.FailureHandler;
 import 
org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager;
 import org.apache.ignite.internal.processors.odbc.ClientListenerProcessor;
+import org.apache.ignite.internal.util.tostring.GridToStringExclude;
 import org.apache.ignite.internal.util.typedef.internal.A;
 import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.internal.util.typedef.internal.U;
@@ -314,6 +315,7 @@ public class IgniteConfiguration implements 
IgniteConfigurationDefaults {
     private String igniteWorkDir;
 
     /** MBean server. */
+    @GridToStringExclude
     private MBeanServer mbeanSrv;
 
     /** Local node ID. */
@@ -398,6 +400,7 @@ public class IgniteConfiguration implements 
IgniteConfigurationDefaults {
     private LoadBalancingSpi[] loadBalancingSpi;
 
     /** Indexing SPI. */
+    @GridToStringExclude
     private IndexingSpi indexingSpi;
 
     /** Address resolver. */
diff --git 
a/modules/core/src/main/java/org/apache/ignite/configuration/SystemDataRegionConfiguration.java
 
b/modules/core/src/main/java/org/apache/ignite/configuration/SystemDataRegionConfiguration.java
index bfa20048a7d..76b2b1e3a0a 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/configuration/SystemDataRegionConfiguration.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/configuration/SystemDataRegionConfiguration.java
@@ -18,6 +18,7 @@ package org.apache.ignite.configuration;
 
 import java.io.Serializable;
 import org.apache.ignite.internal.util.typedef.internal.A;
+import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
  * This class allows defining system data region configuration with various 
parameters for Apache Ignite
@@ -90,4 +91,9 @@ public class SystemDataRegionConfiguration implements 
Serializable {
 
         return this;
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(SystemDataRegionConfiguration.class, this);
+    }
 }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/marshaller/IgniteMarshallerClassFilter.java
 
b/modules/core/src/main/java/org/apache/ignite/marshaller/IgniteMarshallerClassFilter.java
index 2c215465f9b..bc6c20b1a90 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/marshaller/IgniteMarshallerClassFilter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/marshaller/IgniteMarshallerClassFilter.java
@@ -67,4 +67,9 @@ public class IgniteMarshallerClassFilter implements 
IgnitePredicate<String> {
     @Override public int hashCode() {
         return Objects.hash(whiteList, blackList);
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return "IgniteMarshallerClassFilter";
+    }
 }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/collision/noop/NoopCollisionSpi.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/collision/noop/NoopCollisionSpi.java
index a7c7feef2b3..1400a417777 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/collision/noop/NoopCollisionSpi.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/collision/noop/NoopCollisionSpi.java
@@ -17,7 +17,6 @@
 
 package org.apache.ignite.spi.collision.noop;
 
-import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.spi.IgniteSpiAdapter;
 import org.apache.ignite.spi.IgniteSpiException;
 import org.apache.ignite.spi.IgniteSpiMultipleInstancesSupport;
@@ -67,6 +66,6 @@ public class NoopCollisionSpi extends IgniteSpiAdapter 
implements CollisionSpi {
 
     /** {@inheritDoc} */
     @Override public String toString() {
-        return S.toString(NoopCollisionSpi.class, this);
+        return "NoopCollisionSpi";
     }
 }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
index cf1a42cf840..3078e20a0e9 100755
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
@@ -54,7 +54,7 @@ import 
org.apache.ignite.internal.util.nio.GridNioRecoveryDescriptor;
 import org.apache.ignite.internal.util.nio.GridNioServer;
 import org.apache.ignite.internal.util.nio.GridNioSession;
 import org.apache.ignite.internal.util.nio.GridNioSessionMetaKey;
-import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.tostring.GridToStringInclude;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.internal.worker.WorkersRegistry;
 import org.apache.ignite.lang.IgniteFuture;
@@ -194,6 +194,7 @@ import static 
org.apache.ignite.spi.communication.tcp.internal.TcpConnectionInde
  */
 @IgniteSpiMultipleInstancesSupport(true)
 @IgniteSpiConsistencyChecked(optional = false)
+@GridToStringInclude
 public class TcpCommunicationSpi extends TcpCommunicationConfigInitializer {
     /** Node attribute that is mapped to node IP addresses (value is 
<tt>comm.tcp.addrs</tt>). */
     public static final String ATTR_ADDRS = "comm.tcp.addrs";
@@ -1153,7 +1154,10 @@ public class TcpCommunicationSpi extends 
TcpCommunicationConfigInitializer {
 
     /** {@inheritDoc} */
     @Override public String toString() {
-        return S.toString(TcpCommunicationSpi.class, this);
+        return "TcpCommunicationSpi [" +
+                "ctxInitLatch=" + ctxInitLatch.getCount() +
+                ", stopping=" + stopping +
+                "]";
     }
 
     /**
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
index d16d5994878..0b25f0a2386 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
@@ -255,6 +255,7 @@ class ServerImpl extends TcpDiscoveryImpl {
     private long connCheckTick;
 
     /** */
+    @GridToStringExclude
     private final IgniteThreadPoolExecutor utilityPool;
 
     /** Pool size to ping remote DC if a corner node loses the ring 
connection. */
@@ -292,6 +293,7 @@ class ServerImpl extends TcpDiscoveryImpl {
     private StatisticsPrinter statsPrinter;
 
     /** Metric for max message queue size. */
+    @GridToStringExclude
     private MaxValueMetric maxMsgQueueSizeMetric;
 
     /** Failed nodes (but still in topology). */
@@ -310,6 +312,7 @@ class ServerImpl extends TcpDiscoveryImpl {
     private Queue<TcpDiscoveryCustomEventMessage> pendingCustomMsgs = new 
ArrayDeque<>();
 
     /** Messages history used for client reconnect. */
+    @GridToStringExclude
     private final EnsuredMessageHistory msgHist = new EnsuredMessageHistory();
 
     /** If non-shared IP finder is used this flag shows whether IP finder 
contains local address. */
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
index 0ccf594f1f6..f634b44f173 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java
@@ -350,9 +350,11 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter 
implements IgniteDiscovery
     protected long connRecoveryTimeout = DFLT_CONNECTION_RECOVERY_TIMEOUT;
 
     /** Grid discovery listener. */
+    @GridToStringExclude
     protected volatile DiscoverySpiListener lsnr;
 
     /** Data exchange. */
+    @GridToStringExclude
     protected DiscoverySpiDataExchange exchange;
 
     /** Metrics provider. */
@@ -383,6 +385,7 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter 
implements IgniteDiscovery
     private Marshaller marsh;
 
     /** Statistics. */
+    @GridToStringExclude
     protected final TcpDiscoveryStatistics stats = new 
TcpDiscoveryStatistics();
 
     /** Local port which node uses. */
@@ -455,9 +458,11 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter 
implements IgniteDiscovery
     private IgniteBiTuple<Collection<String>, Collection<String>> addrs;
 
     /** */
+    @GridToStringExclude
     protected IgniteSpiContext spiCtx;
 
     /** Discovery messages factory. */
+    @GridToStringExclude
     private MessageFactory msgFactory;
 
     /** For test purposes. */
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.java
index 7613c5bccc6..1f2e1b244e9 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/encryption/keystore/KeystoreEncryptionSpi.java
@@ -546,4 +546,9 @@ public class KeystoreEncryptionSpi extends IgniteSpiAdapter 
implements Encryptio
             throw new IgniteSpiException(e);
         }
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return "KeystoreEncryptionSpi";
+    }
 }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/encryption/noop/NoopEncryptionSpi.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/encryption/noop/NoopEncryptionSpi.java
index 31e52498b32..13e6d51aca5 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/encryption/noop/NoopEncryptionSpi.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/encryption/noop/NoopEncryptionSpi.java
@@ -124,4 +124,9 @@ public class NoopEncryptionSpi extends IgniteSpiAdapter 
implements EncryptionSpi
     @Override public void spiStop() throws IgniteSpiException {
         // No-op.
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return "NoopEncryptionSpi";
+    }
 }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/tracing/NoopTracingSpi.java 
b/modules/core/src/main/java/org/apache/ignite/spi/tracing/NoopTracingSpi.java
index c12714bc5e6..23a51c01204 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/tracing/NoopTracingSpi.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/tracing/NoopTracingSpi.java
@@ -67,4 +67,9 @@ public class NoopTracingSpi extends IgniteSpiAdapter 
implements TracingSpi<NoopS
     @Override public byte type() {
         return TracingSpiType.NOOP_TRACING_SPI.index();
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return "NoopTracingSpi";
+    }
 }
diff --git 
a/modules/core/src/test/java/org/apache/ignite/configuration/IgniteConfigurationTest.java
 
b/modules/core/src/test/java/org/apache/ignite/configuration/IgniteConfigurationTest.java
new file mode 100644
index 00000000000..d910110b3ea
--- /dev/null
+++ 
b/modules/core/src/test/java/org/apache/ignite/configuration/IgniteConfigurationTest.java
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.configuration;
+
+import java.util.regex.Pattern;
+import org.apache.ignite.internal.IgniteEx;
+import org.apache.ignite.testframework.ListeningTestLogger;
+import org.apache.ignite.testframework.LogListener;
+import org.apache.ignite.testframework.junits.WithSystemProperty;
+import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
+import org.junit.Assert;
+import org.junit.Test;
+
+import static org.apache.ignite.IgniteSystemProperties.IGNITE_QUIET;
+
+/**
+ * Test covers cases where Ignite configuration,
+ * or it's nested objects have default implementation of {@link 
Object#toString()}
+ */
+@WithSystemProperty(key = IGNITE_QUIET, value = "false")
+public class IgniteConfigurationTest extends GridCommonAbstractTest {
+    /** Error message to be prompted for ignite configuration */
+    private static final String ASSERTION_ERROR_MESSAGE =
+            "Ignite configuration log message contains objects with default 
#toString() implementation";
+
+    /** Error message to be prompted for node start log message */
+    private static final String NODE_START_ASSERTION_ERROR_MESSAGE =
+            "Node start log message contains objects with default #toString() 
implementation";
+
+    /** Contains not identity hash fragments ("@...") */
+    public static final String CONTAINS_NOT_DEFAULT_TO_STRING = 
"(?!.*@[a-fA-F0-9]+).*";
+
+    /** Pattern to check any object has default {@link Object#toString()} 
implementation */
+    private static final Pattern ERROR_PATTERN =
+            Pattern.compile("^(?=.*IgniteConfiguration \\[)"
+                    + CONTAINS_NOT_DEFAULT_TO_STRING + "$");
+
+    /** Pattern to check any object has default {@link Object#toString()} 
implementation */
+    private static final Pattern NODE_START_ERROR_PATTERN =
+            Pattern.compile("^(?=.*Node started with the following 
configuration \\[id=)"
+                    + CONTAINS_NOT_DEFAULT_TO_STRING + "$");
+
+    /** */
+    private final ListeningTestLogger listeningLog = new 
ListeningTestLogger(log);
+
+    /**
+     * Checks that Ignite configuration log message contains no identity hash 
fragments ("@...").
+     * This is a common heuristic to ensure all logged objects override {@link 
Object#toString()}.
+     */
+    @Test
+    public void testIgniteConfigurationPrompt() throws Exception {
+        LogListener igniteConfigurationLogListener = LogListener
+                .matches(ERROR_PATTERN)
+                .build();
+        LogListener nodeStartIgniteConfigurationLogListener = LogListener
+                .matches(NODE_START_ERROR_PATTERN)
+                .build();
+        listeningLog.registerListener(igniteConfigurationLogListener);
+        listeningLog.registerListener(nodeStartIgniteConfigurationLogListener);
+        try (IgniteEx ignored = startGrid(0)) {
+            Assert.assertTrue(ASSERTION_ERROR_MESSAGE, 
igniteConfigurationLogListener.check());
+            Assert.assertTrue(NODE_START_ASSERTION_ERROR_MESSAGE, 
nodeStartIgniteConfigurationLogListener.check());
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override protected IgniteConfiguration getConfiguration(String 
igniteInstanceName) throws Exception {
+        return super.getConfiguration(igniteInstanceName)
+                .setGridLogger(listeningLog);
+    }
+}
diff --git 
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
 
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
index 039309f8663..5029cb64a89 100755
--- 
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
@@ -1324,10 +1324,12 @@ public abstract class GridAbstractTest extends 
JUnitAssertAware {
 
                 IgniteConfiguration nodeCfg = node.configuration();
 
-                log.info("Node started with the following configuration [id=" 
+ node.cluster().localNode().id()
-                    + ", discovery=" + nodeCfg.getDiscoverySpi()
-                    + ", binaryCfg=" + nodeCfg.getBinaryConfiguration()
-                    + ", lateAff=" + nodeCfg.isLateAffinityAssignment() + "]");
+                nodeCfg.getGridLogger().getLogger(getClass().getName())
+                        .info("Node started with the following configuration ["
+                                + "id=" + node.cluster().localNode().id()
+                                + ", discovery=" + nodeCfg.getDiscoverySpi()
+                                + ", binaryCfg=" + 
nodeCfg.getBinaryConfiguration()
+                                + ", lateAff=" + 
nodeCfg.isLateAffinityAssignment() + "]");
 
                 return node;
             }
diff --git 
a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite2.java
 
b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite2.java
index def9e319d23..9b5ca62ce85 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite2.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBasicTestSuite2.java
@@ -19,6 +19,7 @@ package org.apache.ignite.testsuites;
 
 import org.apache.ignite.ClassPathContentLoggingTest;
 import org.apache.ignite.cache.RemoveAllDeadlockTest;
+import org.apache.ignite.configuration.IgniteConfigurationTest;
 import org.apache.ignite.events.ClusterActivationStartedEventTest;
 import org.apache.ignite.failure.ExchangeTaskHandlerWaitingForTasksTest;
 import org.apache.ignite.failure.FailureHandlerTriggeredTest;
@@ -227,6 +228,8 @@ import org.junit.runners.Suite;
 
     FreeListCutTailDifferentGcTest.class,
     MdcCacheReadRequestsRoutingTest.class,
+
+    IgniteConfigurationTest.class,
 })
 public class IgniteBasicTestSuite2 {
 }
diff --git 
a/modules/opencensus/src/main/java/org/apache/ignite/spi/tracing/opencensus/OpenCensusTracingSpi.java
 
b/modules/opencensus/src/main/java/org/apache/ignite/spi/tracing/opencensus/OpenCensusTracingSpi.java
index 1e3a8611483..85f0c0ca5ec 100644
--- 
a/modules/opencensus/src/main/java/org/apache/ignite/spi/tracing/opencensus/OpenCensusTracingSpi.java
+++ 
b/modules/opencensus/src/main/java/org/apache/ignite/spi/tracing/opencensus/OpenCensusTracingSpi.java
@@ -151,4 +151,9 @@ public class OpenCensusTracingSpi extends IgniteSpiAdapter 
implements TracingSpi
     @Override public byte type() {
         return TracingSpiType.OPEN_CENSUS_TRACING_SPI.index();
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return "OpenCensusTracingSpi";
+    }
 }

Reply via email to