You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2020/05/08 10:29:22 UTC
[ignite] branch master updated: IGNITE-12985 Fixed unguarded
log.info()/log.debug()/log.trace() calls. - Fixes #7776.
This is an automated email from the ASF dual-hosted git repository.
agoncharuk 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 6e9a6d3 IGNITE-12985 Fixed unguarded log.info()/log.debug()/log.trace() calls. - Fixes #7776.
6e9a6d3 is described below
commit 6e9a6d37d86b4024c113a6e584d188c2bef8ce9c
Author: Sergey Antonov <an...@gmail.com>
AuthorDate: Fri May 8 13:26:13 2020 +0300
IGNITE-12985 Fixed unguarded log.info()/log.debug()/log.trace() calls. - Fixes #7776.
Signed-off-by: Alexey Goncharuk <al...@gmail.com>
---
.../cassandra/session/CassandraSessionImpl.java | 60 +++++++++-----
...ThinPartitionAwarenessTransactionsSelfTest.java | 4 +-
.../DefaultCommunicationFailureResolver.java | 11 +--
.../org/apache/ignite/internal/IgnitionEx.java | 5 +-
.../affinity/GridAffinityAssignmentCache.java | 2 +-
.../processors/cache/CacheGroupContext.java | 11 ++-
.../dht/topology/GridDhtPartitionTopologyImpl.java | 12 +--
.../dht/topology/PartitionsEvictManager.java | 8 +-
.../GridCacheDatabaseSharedManager.java | 35 ++++----
.../pagemem/PagesWriteSpeedBasedThrottle.java | 2 +-
.../persistence/wal/scanner/PrintToLogHandler.java | 3 +-
.../verify/VerifyBackupPartitionsDumpTask.java | 6 +-
.../autoadjust/BaselineAutoAdjustScheduler.java | 6 +-
.../datastructures/GridCacheLockImpl.java | 5 +-
.../diagnostic/PageHistoryDiagnoster.java | 6 +-
.../processors/odbc/ClientListenerProcessor.java | 9 +-
.../ignite/internal/util/GridJavaProcess.java | 2 +-
.../ignite/internal/util/IgniteStopwatch.java | 14 ++--
.../ignite/spi/discovery/tcp/ClientImpl.java | 3 +-
.../internal/GridJobMasterLeaveAwareSelfTest.java | 8 +-
.../MessageDirectTypeIdConflictTest.java | 3 +-
.../IgnitePdsBinaryMetadataAsyncWritingTest.java | 13 ++-
.../pagemem/IgniteThrottlingUnitTest.java | 2 +
.../persistence/wal/scanner/WalScannerTest.java | 4 +
...CacheContinuousWithTransformerFailoverTest.java | 3 +-
...coveryDataDeserializationFailureHanderTest.java | 3 +-
.../failure/FailureProcessorLoggingTest.java | 7 +-
.../FailureProcessorThreadDumpThrottlingTest.java | 2 +-
.../apache/ignite/testframework/GridTestUtils.java | 23 ++++++
.../ignite/testframework/ListeningTestLogger.java | 50 +++++++-----
.../testframework/junits/GridAbstractTest.java | 23 +++++-
.../junits/logger/GridTestLog4jLogger.java | 6 ++
.../junits/logger/GridTestLog4jLoggerSelfTest.java | 95 ++++++++++++++++++++++
.../ignite/testsuites/IgniteLangSelfTestSuite.java | 3 +
.../processors/query/h2/SchemaManager.java | 6 +-
.../query/h2/twostep/GridMapQueryExecutor.java | 2 +-
.../query/h2/twostep/ReducePartitionMapper.java | 40 +++++----
.../processors/client/IgniteDataStreamerTest.java | 6 +-
.../org/apache/ignite/sqltests/BaseSqlTest.java | 3 +-
.../apache/ignite/stream/kafka/KafkaStreamer.java | 3 +-
.../java/org/apache/ignite/ml/math/Tracer.java | 11 ++-
.../ignite/ml/util/plugin/MLPluginProvider.java | 6 +-
.../osgi/IgniteAbstractOsgiContextActivator.java | 3 +-
.../zk/internal/ZookeeperDiscoveryImpl.java | 2 +-
44 files changed, 384 insertions(+), 147 deletions(-)
diff --git a/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/session/CassandraSessionImpl.java b/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/session/CassandraSessionImpl.java
index 5267d3f..c954ef9 100644
--- a/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/session/CassandraSessionImpl.java
+++ b/modules/cassandra/store/src/main/java/org/apache/ignite/cache/store/cassandra/session/CassandraSessionImpl.java
@@ -697,17 +697,25 @@ public class CassandraSessionImpl implements CassandraSession {
try {
ses = session();
- log.info("-----------------------------------------------------------------------");
- log.info("Creating Cassandra keyspace '" + settings.getKeyspace() + "'");
- log.info("-----------------------------------------------------------------------\n\n" +
- settings.getKeyspaceDDLStatement() + "\n");
- log.info("-----------------------------------------------------------------------");
+ if (log.isInfoEnabled()) {
+ log.info("-----------------------------------------------------------------------");
+ log.info("Creating Cassandra keyspace '" + settings.getKeyspace() + "'");
+ log.info("-----------------------------------------------------------------------\n\n" +
+ settings.getKeyspaceDDLStatement() + "\n");
+ log.info("-----------------------------------------------------------------------");
+ }
+
ses.execute(settings.getKeyspaceDDLStatement());
- log.info("Cassandra keyspace '" + settings.getKeyspace() + "' was successfully created");
+
+ if (log.isInfoEnabled())
+ log.info("Cassandra keyspace '" + settings.getKeyspace() + "' was successfully created");
+
return;
}
catch (AlreadyExistsException ignored) {
- log.info("Cassandra keyspace '" + settings.getKeyspace() + "' already exist");
+ if (log.isInfoEnabled())
+ log.info("Cassandra keyspace '" + settings.getKeyspace() + "' already exist");
+
return;
}
catch (Throwable e) {
@@ -742,17 +750,25 @@ public class CassandraSessionImpl implements CassandraSession {
try {
ses = session();
- log.info("-----------------------------------------------------------------------");
- log.info("Creating Cassandra table '" + tableFullName + "'");
- log.info("-----------------------------------------------------------------------\n\n" +
+ if (log.isInfoEnabled()) {
+ log.info("-----------------------------------------------------------------------");
+ log.info("Creating Cassandra table '" + tableFullName + "'");
+ log.info("-----------------------------------------------------------------------\n\n" +
settings.getTableDDLStatement(table) + "\n");
- log.info("-----------------------------------------------------------------------");
+ log.info("-----------------------------------------------------------------------");
+ }
+
ses.execute(settings.getTableDDLStatement(table));
- log.info("Cassandra table '" + tableFullName + "' was successfully created");
+
+ if (log.isInfoEnabled())
+ log.info("Cassandra table '" + tableFullName + "' was successfully created");
+
return;
}
catch (AlreadyExistsException ignored) {
- log.info("Cassandra table '" + tableFullName + "' already exist");
+ if (log.isInfoEnabled())
+ log.info("Cassandra table '" + tableFullName + "' already exist");
+
return;
}
catch (Throwable e) {
@@ -798,14 +814,19 @@ public class CassandraSessionImpl implements CassandraSession {
try {
ses = session();
- log.info("-----------------------------------------------------------------------");
- log.info("Creating indexes for Cassandra table '" + tableFullName + "'");
- log.info("-----------------------------------------------------------------------");
+ if (log.isInfoEnabled()) {
+ log.info("-----------------------------------------------------------------------");
+ log.info("Creating indexes for Cassandra table '" + tableFullName + "'");
+ log.info("-----------------------------------------------------------------------");
+ }
for (String statement : indexDDLStatements) {
try {
- log.info(statement);
- log.info("-----------------------------------------------------------------------");
+ if (log.isInfoEnabled()) {
+ log.info(statement);
+ log.info("-----------------------------------------------------------------------");
+ }
+
ses.execute(statement);
}
catch (AlreadyExistsException ignored) {
@@ -816,7 +837,8 @@ public class CassandraSessionImpl implements CassandraSession {
}
}
- log.info("Indexes for Cassandra table '" + tableFullName + "' were successfully created");
+ if (log.isInfoEnabled())
+ log.info("Indexes for Cassandra table '" + tableFullName + "' were successfully created");
return;
}
diff --git a/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinPartitionAwarenessTransactionsSelfTest.java b/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinPartitionAwarenessTransactionsSelfTest.java
index f250571..8afb8f2 100644
--- a/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinPartitionAwarenessTransactionsSelfTest.java
+++ b/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinPartitionAwarenessTransactionsSelfTest.java
@@ -32,7 +32,6 @@ import org.apache.ignite.internal.processors.query.NestedTxMode;
import org.apache.ignite.internal.processors.query.QueryHistory;
import org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing;
import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.testframework.GridStringLogger;
import org.jetbrains.annotations.NotNull;
import org.junit.Test;
@@ -60,8 +59,7 @@ public class JdbcThinPartitionAwarenessTransactionsSelfTest extends JdbcThinAbst
@Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception {
return super.getConfiguration(igniteInstanceName)
.setCacheConfiguration(cacheConfiguration(DEFAULT_CACHE_NAME).setNearConfiguration(null))
- .setMarshaller(new BinaryMarshaller())
- .setGridLogger(log = new GridStringLogger());
+ .setMarshaller(new BinaryMarshaller());
}
/**
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/DefaultCommunicationFailureResolver.java b/modules/core/src/main/java/org/apache/ignite/configuration/DefaultCommunicationFailureResolver.java
index 30a8802..eccba3f 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/DefaultCommunicationFailureResolver.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/DefaultCommunicationFailureResolver.java
@@ -48,11 +48,12 @@ public class DefaultCommunicationFailureResolver implements CommunicationFailure
if (largestCluster == null)
return;
- log.info("Communication problem resolver found fully connected independent cluster ["
- + "serverNodesCnt=" + largestCluster.srvNodesCnt + ", "
- + "clientNodesCnt=" + largestCluster.connectedClients.size() + ", "
- + "totalAliveNodes=" + ctx.topologySnapshot().size() + ", "
- + "serverNodesIds=" + clusterNodeIds(largestCluster.srvNodesSet, ctx.topologySnapshot(), 1000) + "]");
+ if (log.isInfoEnabled())
+ log.info("Communication problem resolver found fully connected independent cluster ["
+ + "serverNodesCnt=" + largestCluster.srvNodesCnt + ", "
+ + "clientNodesCnt=" + largestCluster.connectedClients.size() + ", "
+ + "totalAliveNodes=" + ctx.topologySnapshot().size() + ", "
+ + "serverNodesIds=" + clusterNodeIds(largestCluster.srvNodesSet, ctx.topologySnapshot(), 1000) + "]");
keepCluster(ctx, largestCluster);
}
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
index ff6ddfb..2698ee9 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
@@ -1702,8 +1702,9 @@ public class IgnitionEx {
start0(startCtx, myCfg, startNodeTimer);
- log.info("Node started : "
- + startNodeTimer.stagesTimings().stream().collect(joining(",", "[", "]")));
+ if (log.isInfoEnabled())
+ log.info("Node started : "
+ + startNodeTimer.stagesTimings().stream().collect(joining(",", "[", "]")));
}
catch (Exception e) {
if (log != null)
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java
index 52a9342..f2037e5 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java
@@ -535,7 +535,7 @@ public class GridAffinityAssignmentCache {
float deltaPrimary = Math.abs(1 - (float)locPrimaryCnt / expCnt) * 100;
float deltaBackup = Math.abs(1 - (float)locBackupCnt / (expCnt * backups)) * 100;
- if (deltaPrimary > partDistribution || deltaBackup > partDistribution) {
+ if ((deltaPrimary > partDistribution || deltaBackup > partDistribution) && log.isInfoEnabled()) {
log.info(String.format("Local node affinity assignment distribution is not ideal " +
"[cache=%s, expectedPrimary=%.2f, actualPrimary=%d, " +
"expectedBackups=%.2f, actualBackups=%d, warningThreshold=%.2f%%]",
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java
index 54ed210..c1242d2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheGroupContext.java
@@ -1240,8 +1240,9 @@ public class CacheGroupContext {
*/
public void globalWalEnabled(boolean enabled) {
if (globalWalEnabled != enabled) {
- log.info("Global WAL state for group=" + cacheOrGroupName() +
- " changed from " + globalWalEnabled + " to " + enabled);
+ if (log.isInfoEnabled())
+ log.info("Global WAL state for group=" + cacheOrGroupName() +
+ " changed from " + globalWalEnabled + " to " + enabled);
persistGlobalWalState(enabled);
@@ -1255,8 +1256,10 @@ public class CacheGroupContext {
*/
public void localWalEnabled(boolean enabled, boolean persist) {
if (localWalEnabled != enabled) {
- log.info("Local WAL state for group=" + cacheOrGroupName() +
- " changed from " + localWalEnabled + " to " + enabled);
+ if (log.isInfoEnabled()) {
+ log.info("Local WAL state for group=" + cacheOrGroupName() +
+ " changed from " + localWalEnabled + " to " + enabled);
+ }
if (persist)
persistLocalWalState(enabled);
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtPartitionTopologyImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtPartitionTopologyImpl.java
index 1a94737..528bd63 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtPartitionTopologyImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/GridDhtPartitionTopologyImpl.java
@@ -2704,14 +2704,14 @@ public class GridDhtPartitionTopologyImpl implements GridDhtPartitionTopology {
@Override public void ownMoving(AffinityTopologyVersion rebFinishedTopVer) {
lock.writeLock().lock();
- AffinityTopologyVersion lastAffChangeVer = ctx.exchange().lastAffinityChangedTopologyVersion(lastTopChangeVer);
+ try {
+ AffinityTopologyVersion lastAffChangeVer = ctx.exchange().lastAffinityChangedTopologyVersion(lastTopChangeVer);
- if (lastAffChangeVer.compareTo(rebFinishedTopVer) > 0)
- log.info("Affinity topology changed, no MOVING partitions will be owned " +
- "[rebFinishedTopVer=" + rebFinishedTopVer +
- ", lastAffChangeVer=" + lastAffChangeVer + "]");
+ if (lastAffChangeVer.compareTo(rebFinishedTopVer) > 0 && log.isInfoEnabled())
+ log.info("Affinity topology changed, no MOVING partitions will be owned " +
+ "[rebFinishedTopVer=" + rebFinishedTopVer +
+ ", lastAffChangeVer=" + lastAffChangeVer + "]");
- try {
for (GridDhtLocalPartition locPart : grp.topology().currentLocalPartitions()) {
if (locPart.state() == MOVING) {
boolean reserved = locPart.reserve();
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/PartitionsEvictManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/PartitionsEvictManager.java
index db84007..e2d28c2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/PartitionsEvictManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/PartitionsEvictManager.java
@@ -295,7 +295,8 @@ public class PartitionsEvictManager extends GridCacheSharedManagerAdapter {
if (threads == 0)
threads = permits = 1;
- log.info("Evict partition permits=" + permits);
+ if (log.isInfoEnabled())
+ log.info("Evict partition permits=" + permits);
evictionQueue = new BucketQueue(threads);
}
@@ -420,8 +421,9 @@ public class PartitionsEvictManager extends GridCacheSharedManagerAdapter {
private void awaitFinish(Integer part, IgniteInternalFuture<?> fut) {
// Wait for last offered partition eviction completion
try {
- log.info("Await partition evict, grpName=" + grp.cacheOrGroupName() +
- ", grpId=" + grp.groupId() + ", partId=" + part);
+ if (log.isInfoEnabled())
+ log.info("Await partition evict, grpName=" + grp.cacheOrGroupName() +
+ ", grpId=" + grp.groupId() + ", partId=" + part);
fut.get();
}
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java
index 9d9433b..7e2a0ae 100755
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java
@@ -2298,8 +2298,9 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan
WALPointer cpMark = ((CheckpointRecord)startRec).checkpointMark();
if (cpMark != null) {
- log.info("Restoring checkpoint after logical recovery, will start physical recovery from " +
- "back pointer: " + cpMark);
+ if (log.isInfoEnabled())
+ log.info("Restoring checkpoint after logical recovery, will start physical recovery from " +
+ "back pointer: " + cpMark);
recPtr = cpMark;
}
@@ -2468,8 +2469,9 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan
"on disk, but checkpoint record is missed in WAL) " +
"[cpStatus=" + status + ", lastRead=" + lastReadPtr + "]");
- log.info("Finished applying memory changes [changesApplied=" + applied +
- ", time=" + (U.currentTimeMillis() - start) + " ms]");
+ if (log.isInfoEnabled())
+ log.info("Finished applying memory changes [changesApplied=" + applied +
+ ", time=" + (U.currentTimeMillis() - start) + " ms]");
finalizeCheckpointOnRecovery(status.cpStartTs, status.cpStartId, status.startPtr, exec);
}
@@ -5222,11 +5224,12 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan
GridDhtLocalPartition part = grp.topology().localPartition(p);
if (part != null) {
- log.info("Partition [grp=" + grp.cacheOrGroupName()
- + ", id=" + p
- + ", state=" + part.state()
- + ", counter=" + part.dataStore().partUpdateCounter()
- + ", size=" + part.fullSize() + "]");
+ if (log.isInfoEnabled())
+ log.info("Partition [grp=" + grp.cacheOrGroupName()
+ + ", id=" + p
+ + ", state=" + part.state()
+ + ", counter=" + part.dataStore().partUpdateCounter()
+ + ", size=" + part.fullSize() + "]");
continue;
}
@@ -5237,7 +5240,8 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan
pageStore.ensure(grp.groupId(), p);
if (pageStore.pages(grp.groupId(), p) <= 1) {
- log.info("Partition [grp=" + grp.cacheOrGroupName() + ", id=" + p + ", state=N/A (only file header) ]");
+ if (log.isInfoEnabled())
+ log.info("Partition [grp=" + grp.cacheOrGroupName() + ", id=" + p + ", state=N/A (only file header) ]");
continue;
}
@@ -5258,11 +5262,12 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan
long updateCntr = io.getUpdateCounter(pageAddr);
long size = io.getSize(pageAddr);
- log.info("Partition [grp=" + grp.cacheOrGroupName()
- + ", id=" + p
- + ", state=" + state
- + ", counter=" + updateCntr
- + ", size=" + size + "]");
+ if (log.isInfoEnabled())
+ log.info("Partition [grp=" + grp.cacheOrGroupName()
+ + ", id=" + p
+ + ", state=" + state
+ + ", counter=" + updateCntr
+ + ", size=" + size + "]");
}
finally {
pageMem.readUnlock(grp.groupId(), partMetaId, partMetaPage);
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteSpeedBasedThrottle.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteSpeedBasedThrottle.java
index c2a2dcb..d39b50c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteSpeedBasedThrottle.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteSpeedBasedThrottle.java
@@ -295,7 +295,7 @@ public class PagesWriteSpeedBasedThrottle implements PagesWriteThrottlePolicy {
if (weight <= WARN_THRESHOLD)
return;
- if (prevWarnTime.compareAndSet(prevWarningNs, curNs)) {
+ if (prevWarnTime.compareAndSet(prevWarningNs, curNs) && log.isInfoEnabled()) {
String msg = String.format("Throttling is applied to page modifications " +
"[percentOfPartTime=%.2f, markDirty=%d pages/sec, checkpointWrite=%d pages/sec, " +
"estIdealMarkDirty=%d pages/sec, curDirty=%.2f, maxDirty=%.2f, avgParkTime=%d ns, " +
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/scanner/PrintToLogHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/scanner/PrintToLogHandler.java
index 848acb9..551e4df 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/scanner/PrintToLogHandler.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/scanner/PrintToLogHandler.java
@@ -63,7 +63,8 @@ class PrintToLogHandler implements ScannerHandler {
resultString = null;
- log.info(msg);
+ if (log.isInfoEnabled())
+ log.info(msg);
}
/**
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/verify/VerifyBackupPartitionsDumpTask.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/verify/VerifyBackupPartitionsDumpTask.java
index 30433fb..0973b89 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/verify/VerifyBackupPartitionsDumpTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/verify/VerifyBackupPartitionsDumpTask.java
@@ -178,14 +178,16 @@ public class VerifyBackupPartitionsDumpTask extends ComputeTaskAdapter<VisorIdle
File out = new File(workDir, IDLE_DUMP_FILE_PREFIX + LocalDateTime.now().format(TIME_FORMATTER) + ".txt");
- ignite.log().info("IdleVerifyDumpTask will write output to " + out.getAbsolutePath());
+ if (ignite.log().isInfoEnabled())
+ ignite.log().info("IdleVerifyDumpTask will write output to " + out.getAbsolutePath());
try (PrintWriter writer = new PrintWriter(new FileWriter(out))) {
writeResult(partitions, conflictRes, skippedRecords, writer);
writer.flush();
- ignite.log().info("IdleVerifyDumpTask successfully written dump to '" + out.getAbsolutePath() + "'");
+ if (ignite.log().isInfoEnabled())
+ ignite.log().info("IdleVerifyDumpTask successfully written dump to '" + out.getAbsolutePath() + "'");
}
catch (IOException | IgniteException e) {
ignite.log().error("Failed to write dump file: " + out.getAbsolutePath(), e);
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/baseline/autoadjust/BaselineAutoAdjustScheduler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/baseline/autoadjust/BaselineAutoAdjustScheduler.java
index 4815663..2ffacc3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/baseline/autoadjust/BaselineAutoAdjustScheduler.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cluster/baseline/autoadjust/BaselineAutoAdjustScheduler.java
@@ -165,12 +165,14 @@ class BaselineAutoAdjustScheduler {
long lastScheduledTaskTime = totalEndTime - System.currentTimeMillis();
if (lastScheduledTaskTime <= 0) {
- log.info("Baseline auto-adjust will be executed right now.");
+ if (log.isInfoEnabled())
+ log.info("Baseline auto-adjust will be executed right now.");
baselineAutoAdjustExecutor.execute(baselineAutoAdjustData);
}
else {
- log.info("Baseline auto-adjust will be executed in '" + lastScheduledTaskTime + "' ms.");
+ if (log.isInfoEnabled())
+ log.info("Baseline auto-adjust will be executed in '" + lastScheduledTaskTime + "' ms.");
endTime = calculateEndTime(lastScheduledTaskTime);
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/GridCacheLockImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/GridCacheLockImpl.java
index 2d65e73..04c533d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/GridCacheLockImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/GridCacheLockImpl.java
@@ -634,8 +634,9 @@ public final class GridCacheLockImpl extends AtomicDataStructureProxy<GridCacheL
}
catch (Exception e) {
if (interruptAll) {
- log.info("Node is stopped (or lock is broken in non-failover safe mode)," +
- " aborting transaction.");
+ if (log.isInfoEnabled())
+ log.info("Node is stopped (or lock is broken in non-failover safe mode)," +
+ " aborting transaction.");
// Abort this attempt to synchronize queue and start another one,
// that will return immediately.
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/diagnostic/PageHistoryDiagnoster.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/diagnostic/PageHistoryDiagnoster.java
index e203924..d55f042 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/diagnostic/PageHistoryDiagnoster.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/diagnostic/PageHistoryDiagnoster.java
@@ -115,7 +115,8 @@ public class PageHistoryDiagnoster {
@NotNull PageHistoryDiagnoster.DiagnosticPageBuilder builder
) throws IgniteCheckedException {
if (walFolders == null) {
- log.info("Skipping dump page history due to WAL not configured");
+ if (log.isInfoEnabled())
+ log.info("Skipping dump page history due to WAL not configured");
return;
}
@@ -151,7 +152,8 @@ public class PageHistoryDiagnoster {
}
if (descIdx == -1) {
- log.info("Skipping dump page history due to can not reserve WAL segments: " + descToString(descs));
+ if (log.isInfoEnabled())
+ log.info("Skipping dump page history due to can not reserve WAL segments: " + descToString(descs));
return;
}
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientListenerProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientListenerProcessor.java
index 35feba1..36fe752 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientListenerProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientListenerProcessor.java
@@ -108,7 +108,8 @@ public class ClientListenerProcessor extends GridProcessorAdapter {
// Daemon node should not open client port
if (cfg.isDaemon()) {
- log.debug("Client connection configuration ignored for daemon node.");
+ if (log.isDebugEnabled())
+ log.debug("Client connection configuration ignored for daemon node.");
return;
}
@@ -543,7 +544,8 @@ public class ClientListenerProcessor extends GridProcessorAdapter {
srv.close(ses);
- log.info("Client session has been dropped: " + clientConnectionDescription(ses, connCtx));
+ if (log.isInfoEnabled())
+ log.info("Client session has been dropped: " + clientConnectionDescription(ses, connCtx));
}
}
@@ -568,7 +570,8 @@ public class ClientListenerProcessor extends GridProcessorAdapter {
srv.close(ses);
- log.info("Client session has been dropped: " + clientConnectionDescription(ses, connCtx));
+ if (log.isInfoEnabled())
+ log.info("Client session has been dropped: " + clientConnectionDescription(ses, connCtx));
return true;
}
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/GridJavaProcess.java b/modules/core/src/main/java/org/apache/ignite/internal/util/GridJavaProcess.java
index 34a7368..d1971ea 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/GridJavaProcess.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/GridJavaProcess.java
@@ -193,7 +193,7 @@ public final class GridJavaProcess {
int exitVal = killProc.exitValue();
- if (exitVal != 0)
+ if (exitVal != 0 && log.isInfoEnabled())
log.info(String.format("Abnormal exit value of %s for pid %s", exitVal, pid));
if (procKilledC != null)
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteStopwatch.java b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteStopwatch.java
index 496212c..642756d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteStopwatch.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteStopwatch.java
@@ -138,19 +138,23 @@ public final class IgniteStopwatch {
) throws IgniteCheckedException {
long start = System.currentTimeMillis();
- log.info("Operation was started: operation = " + operationName);
+ if (log.isInfoEnabled())
+ log.info("Operation was started: " + operationName);
+
try {
operation.run();
}
catch (Throwable ex) {
- log.info("Operation was failed: operation = " + operationName
- + ", elapsedTime = " + (System.currentTimeMillis() - start) + " ms");
+ if (log.isInfoEnabled())
+ log.info("Operation failed [operation=" + operationName
+ + ", elapsedTime=" + (System.currentTimeMillis() - start) + "ms]");
throw ex;
}
- log.info("Operation was success: operation = " + operationName
- + ", elapsedTime = " + (System.currentTimeMillis() - start) + " ms");
+ if (log.isInfoEnabled())
+ log.info("Operation succeeded [operation=" + operationName
+ + ", elapsedTime=" + (System.currentTimeMillis() - start) + "ms]");
}
/**
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
index 307ff9a..77bd521 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
@@ -2234,7 +2234,8 @@ class ClientImpl extends TcpDiscoveryImpl {
if (log.isInfoEnabled()) {
for (ClusterNode node : getRemoteNodes()) {
if (node.id().equals(locNode.clientRouterNodeId())) {
- log.info("Router node: " + node);
+ if (log.isInfoEnabled())
+ log.info("Router node: " + node);
break;
}
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/GridJobMasterLeaveAwareSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/GridJobMasterLeaveAwareSelfTest.java
index a6fee6b..f29ebff 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/GridJobMasterLeaveAwareSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/GridJobMasterLeaveAwareSelfTest.java
@@ -52,6 +52,7 @@ import org.apache.ignite.resources.LoggerResource;
import org.apache.ignite.resources.TaskSessionResource;
import org.apache.ignite.spi.IgniteSpiException;
import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi;
+import org.apache.ignite.testframework.GridTestUtils;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
import org.apache.ignite.testframework.junits.common.GridCommonTest;
import org.jetbrains.annotations.Nullable;
@@ -494,12 +495,7 @@ public class GridJobMasterLeaveAwareSelfTest extends GridCommonAbstractTest {
assert invokeLatch.await(5000, MILLISECONDS);
- try {
- fut.get();
- }
- catch (IgniteException e) {
- log.debug("Task failed: " + e);
- }
+ GridTestUtils.assertThrows(log, () -> fut.get(), IgniteException.class, null);
}
/**
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/MessageDirectTypeIdConflictTest.java b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/MessageDirectTypeIdConflictTest.java
index 07bb258..8f8f2ed 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/MessageDirectTypeIdConflictTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/MessageDirectTypeIdConflictTest.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.managers.communication;
import java.nio.ByteBuffer;
+import java.util.concurrent.Callable;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.plugin.AbstractTestPluginProvider;
@@ -73,7 +74,7 @@ public class MessageDirectTypeIdConflictTest extends GridCommonAbstractTest {
@Test
@SuppressWarnings({"RedundantThrows", "ThrowableNotThrown"})
public void testRegisterMessageFactoryWithConflictDirectTypeId() throws Exception {
- assertThrows(log, this::startGrid, IgniteCheckedException.class,
+ assertThrows(log, (Callable<Object>)this::startGrid, IgniteCheckedException.class,
"Message factory is already registered for direct type: " + MSG_DIRECT_TYPE);
}
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsBinaryMetadataAsyncWritingTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsBinaryMetadataAsyncWritingTest.java
index 2289d4e..2003ade 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsBinaryMetadataAsyncWritingTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsBinaryMetadataAsyncWritingTest.java
@@ -105,6 +105,8 @@ public class IgnitePdsBinaryMetadataAsyncWritingTest extends GridCommonAbstractT
/** {@inheritDoc} */
@Override protected void beforeTest() throws Exception {
+ super.beforeTest();
+
stopAllGrids();
cleanPersistenceDir();
@@ -118,6 +120,8 @@ public class IgnitePdsBinaryMetadataAsyncWritingTest extends GridCommonAbstractT
stopAllGrids();
cleanPersistenceDir();
+
+ super.afterTest();
}
/**
@@ -240,6 +244,8 @@ public class IgnitePdsBinaryMetadataAsyncWritingTest extends GridCommonAbstractT
specialFileIOFactory = new FailingFileIOFactory(new RandomAccessFileIOFactory());
+ setRootLoggerDebugLevel();
+
IgniteEx ig1 = startGrid(1);
ig0.cluster().active(true);
@@ -324,14 +330,15 @@ public class IgnitePdsBinaryMetadataAsyncWritingTest extends GridCommonAbstractT
(topVer, snd, msg) -> suppressException(fileWriteLatch::await)
);
- ListeningTestLogger listeningLog = new ListeningTestLogger(true, log);
+ ListeningTestLogger listeningLog = new ListeningTestLogger(log);
+
+ setRootLoggerDebugLevel();
+
LogListener waitingForWriteLsnr = LogListener.matches("Waiting for write completion of").build();
listeningLog.registerListener(waitingForWriteLsnr);
startGrid(2);
- listeningLog = null;
-
ig0.cluster().active(true);
IgniteCache cache0 = cl0.createCache(testCacheCfg);
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/IgniteThrottlingUnitTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/IgniteThrottlingUnitTest.java
index 52c14bc..d1bdf65 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/IgniteThrottlingUnitTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/IgniteThrottlingUnitTest.java
@@ -308,6 +308,8 @@ public class IgniteThrottlingUnitTest {
AtomicInteger warnings = new AtomicInteger(0);
IgniteLogger log = mock(IgniteLogger.class);
+ when(log.isInfoEnabled()).thenReturn(true);
+
doAnswer(invocation -> {
Object[] args = invocation.getArguments();
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/wal/scanner/WalScannerTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/wal/scanner/WalScannerTest.java
index 4ba50cd..088b1bf 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/wal/scanner/WalScannerTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/wal/scanner/WalScannerTest.java
@@ -183,6 +183,8 @@ public class WalScannerTest {
IgniteLogger log = mock(IgniteLogger.class);
+ when(log.isInfoEnabled()).thenReturn(true);
+
ArgumentCaptor<String> valCapture = ArgumentCaptor.forClass(String.class);
doNothing().when(log).info(valCapture.capture());
@@ -281,6 +283,8 @@ public class WalScannerTest {
IgniteLogger log = mock(IgniteLogger.class);
+ when(log.isInfoEnabled()).thenReturn(true);
+
ArgumentCaptor<String> valCapture = ArgumentCaptor.forClass(String.class);
doNothing().when(log).info(valCapture.capture());
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousWithTransformerFailoverTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousWithTransformerFailoverTest.java
index b174f24..71686f3 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousWithTransformerFailoverTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousWithTransformerFailoverTest.java
@@ -156,7 +156,8 @@ public class CacheContinuousWithTransformerFailoverTest extends GridCommonAbstra
@Override public void onUpdated(Iterable<? extends Integer> evts) throws CacheEntryListenerException {
for (Integer evt : evts) {
- log.debug("" + evt);
+ if (log.isDebugEnabled())
+ log.debug("" + evt);
}
}
});
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/DiscoveryDataDeserializationFailureHanderTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/DiscoveryDataDeserializationFailureHanderTest.java
index 90dacc7..e52d06f 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/DiscoveryDataDeserializationFailureHanderTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/DiscoveryDataDeserializationFailureHanderTest.java
@@ -17,6 +17,7 @@
package org.apache.ignite.internal.processors.cache.query.continuous;
+import java.util.concurrent.Callable;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import javax.cache.configuration.Factory;
@@ -70,7 +71,7 @@ public class DiscoveryDataDeserializationFailureHanderTest extends GridCommonAbs
assertTrue(latch.await(5, TimeUnit.SECONDS));
}
finally {
- GridTestUtils.assertThrows(log, fut::get, IgniteCheckedException.class, "Failed to start");
+ GridTestUtils.assertThrows(log, (Callable<Object>)fut::get, IgniteCheckedException.class, "Failed to start");
}
}
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/failure/FailureProcessorLoggingTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/failure/FailureProcessorLoggingTest.java
index 0c08036..a97ec1e 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/failure/FailureProcessorLoggingTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/failure/FailureProcessorLoggingTest.java
@@ -50,7 +50,7 @@ public class FailureProcessorLoggingTest extends GridCommonAbstractTest {
TestFailureHandler hnd = new TestFailureHandler(false);
- testLog = new CustomTestLogger(false, log);
+ testLog = new CustomTestLogger(log);
hnd.setIgnoredFailureTypes(ImmutableSet.of(FailureType.SYSTEM_CRITICAL_OPERATION_TIMEOUT, FailureType.SYSTEM_WORKER_BLOCKED));
@@ -150,11 +150,10 @@ public class FailureProcessorLoggingTest extends GridCommonAbstractTest {
private String expThreadDumpMsg;
/**
- * @param dbg Dbg.
* @param echo Echo.
*/
- public CustomTestLogger(boolean dbg, @Nullable IgniteLogger echo) {
- super(dbg, echo);
+ public CustomTestLogger(@Nullable IgniteLogger echo) {
+ super(echo);
}
/** {@inheritDoc} */
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/failure/FailureProcessorThreadDumpThrottlingTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/failure/FailureProcessorThreadDumpThrottlingTest.java
index fdf8c2c..027895a 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/failure/FailureProcessorThreadDumpThrottlingTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/failure/FailureProcessorThreadDumpThrottlingTest.java
@@ -41,7 +41,7 @@ import static org.apache.ignite.internal.util.IgniteUtils.THREAD_DUMP_MSG;
@WithSystemProperty(key = IgniteSystemProperties.IGNITE_DUMP_THREADS_ON_FAILURE, value = "true")
public class FailureProcessorThreadDumpThrottlingTest extends GridCommonAbstractTest {
/** Test logger. */
- private final ListeningTestLogger testLog = new ListeningTestLogger(true, log);
+ private final ListeningTestLogger testLog = new ListeningTestLogger(log);
/** {@inheritDoc} */
@Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception {
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java b/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java
index d0ee646..f799322 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java
@@ -442,6 +442,29 @@ public final class GridTestUtils {
}
/**
+ * Checks whether runnable throws expected exception or not.
+ *
+ * @param log Logger (optional).
+ * @param run Runnable.
+ * @param cls Exception class.
+ * @param msg Exception message (optional). If provided exception message
+ * and this message should be equal.
+ * @return Thrown throwable.
+ */
+ public static Throwable assertThrows(
+ @Nullable IgniteLogger log,
+ RunnableX run,
+ Class<? extends Throwable> cls,
+ @Nullable String msg
+ ) {
+ return assertThrows(log, () -> {
+ run.run();
+
+ return null;
+ }, cls, msg);
+ }
+
+ /**
* Checks whether callable throws expected exception or not.
*
* @param log Logger (optional).
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/ListeningTestLogger.java b/modules/core/src/test/java/org/apache/ignite/testframework/ListeningTestLogger.java
index 096ef1f..955d512 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/ListeningTestLogger.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/ListeningTestLogger.java
@@ -22,6 +22,7 @@ import java.util.concurrent.CopyOnWriteArraySet;
import java.util.function.Consumer;
import org.apache.ignite.IgniteLogger;
import org.apache.ignite.internal.util.typedef.X;
+import org.apache.ignite.testframework.junits.GridAbstractTest;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -31,11 +32,6 @@ import org.jetbrains.annotations.Nullable;
*/
public class ListeningTestLogger implements IgniteLogger {
/**
- * If set to {@code true}, enables debug and trace log messages processing.
- */
- private final boolean dbg;
-
- /**
* Logger to echo all messages, limited by {@code dbg} flag.
*/
private final IgniteLogger echo;
@@ -49,32 +45,52 @@ public class ListeningTestLogger implements IgniteLogger {
* Default constructor.
*/
public ListeningTestLogger() {
- this(false);
+ this(null);
}
/**
- * @param dbg If set to {@code true}, enables debug and trace log messages processing.
+ * @param dbg Ignored. For setting debug use {@link GridAbstractTest#setRootLoggerDebugLevel()}.
+ * @deprecated Use {@link #ListeningTestLogger()} instead.
*/
+ @Deprecated
public ListeningTestLogger(boolean dbg) {
- this(dbg, null);
+ this(null);
}
/**
- * @param dbg If set to {@code true}, enables debug and trace log messages processing.
+ * @param dbg Ignored. For setting debug use {@link GridAbstractTest#setRootLoggerDebugLevel()}.
* @param echo Logger to echo all messages, limited by {@code dbg} flag.
+ * @deprecated Use {@link #ListeningTestLogger(IgniteLogger)} instead.
*/
+ @Deprecated
public ListeningTestLogger(boolean dbg, @Nullable IgniteLogger echo) {
- this.dbg = dbg;
+ this(echo);
+ }
+
+ /**
+ * @param echo Logger to echo all messages, limited by {@code dbg} flag.
+ */
+ public ListeningTestLogger(@Nullable IgniteLogger echo) {
this.echo = echo;
}
/**
- * @param dbg If set to {@code true}, enables debug and trace log messages processing.
+ * @param dbg Ignored. For setting debug use {@link GridAbstractTest#setRootLoggerDebugLevel()}.
* @param echo Logger to echo all messages, limited by {@code dbg} flag.
* @param lsnrs LogListeners to register instantly.
+ * @deprecated Use {@link #ListeningTestLogger(IgniteLogger, LogListener...)} instead.
*/
+ @Deprecated
public ListeningTestLogger(boolean dbg, @Nullable IgniteLogger echo, @NotNull LogListener... lsnrs) {
- this(dbg, echo);
+ this(echo, lsnrs);
+ }
+
+ /**
+ * @param echo Logger to echo all messages, limited by {@code dbg} flag.
+ * @param lsnrs LogListeners to register instantly.
+ */
+ public ListeningTestLogger(@Nullable IgniteLogger echo, @NotNull LogListener... lsnrs) {
+ this(echo);
for (LogListener lsnr : lsnrs)
registerListener(lsnr);
@@ -140,9 +156,6 @@ public class ListeningTestLogger implements IgniteLogger {
/** {@inheritDoc} */
@Override public void trace(String msg) {
- if (!dbg)
- return;
-
if (echo != null)
echo.trace(msg);
@@ -151,9 +164,6 @@ public class ListeningTestLogger implements IgniteLogger {
/** {@inheritDoc} */
@Override public void debug(String msg) {
- if (!dbg)
- return;
-
if (echo != null)
echo.debug(msg);
@@ -192,12 +202,12 @@ public class ListeningTestLogger implements IgniteLogger {
/** {@inheritDoc} */
@Override public boolean isTraceEnabled() {
- return dbg;
+ return echo != null && echo.isTraceEnabled();
}
/** {@inheritDoc} */
@Override public boolean isDebugEnabled() {
- return dbg;
+ return echo != null && echo.isDebugEnabled();
}
/** {@inheritDoc} */
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 da422af..e7992cf 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
@@ -195,6 +195,9 @@ public abstract class GridAbstractTest extends JUnitAssertAware {
/** */
private static final transient Map<Class<?>, IgniteTestResources> tests = new ConcurrentHashMap<>();
+ /** Loggers with changed log level for test's purposes. */
+ private static final transient Map<Logger, Level> changedLevels = new ConcurrentHashMap<>();
+
/** */
protected static final String DEFAULT_CACHE_NAME = "default";
@@ -328,7 +331,13 @@ public abstract class GridAbstractTest extends JUnitAssertAware {
* @throws Exception If failed.
*/
protected void afterTest() throws Exception {
- // No-op.
+ try {
+ for (Logger logger : changedLevels.keySet())
+ logger.setLevel(changedLevels.get(logger));
+ }
+ finally {
+ changedLevels.clear();
+ }
}
/**
@@ -436,6 +445,18 @@ public abstract class GridAbstractTest extends JUnitAssertAware {
}
/**
+ * Sets the log level for root logger ({@link #log}) to {@link Level#DEBUG}. The log level will be resetted to
+ * default in {@link #afterTest()}.
+ */
+ protected final void setRootLoggerDebugLevel() {
+ Logger logger = Logger.getRootLogger();
+
+ assertNull(logger + " level: " + Level.DEBUG, changedLevels.put(logger, logger.getLevel()));
+
+ logger.setLevel(Level.DEBUG);
+ }
+
+ /**
* Resets log4j programmatically.
*
* @param log4jLevel Level.
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/logger/GridTestLog4jLogger.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/logger/GridTestLog4jLogger.java
index 2ac32ce..4464828 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/logger/GridTestLog4jLogger.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/logger/GridTestLog4jLogger.java
@@ -459,6 +459,8 @@ public class GridTestLog4jLogger implements IgniteLogger, LoggerNodeIdAware {
if (!impl.isTraceEnabled())
warning("Logging at TRACE level without checking if TRACE level is enabled: " + msg);
+ assert impl.isTraceEnabled() : "Logging at TRACE level without checking if TRACE level is enabled: " + msg;
+
impl.trace(msg);
}
@@ -467,6 +469,8 @@ public class GridTestLog4jLogger implements IgniteLogger, LoggerNodeIdAware {
if (!impl.isDebugEnabled())
warning("Logging at DEBUG level without checking if DEBUG level is enabled: " + msg);
+ assert impl.isDebugEnabled() : "Logging at DEBUG level without checking if DEBUG level is enabled: " + msg;
+
impl.debug(msg);
}
@@ -475,6 +479,8 @@ public class GridTestLog4jLogger implements IgniteLogger, LoggerNodeIdAware {
if (!impl.isInfoEnabled())
warning("Logging at INFO level without checking if INFO level is enabled: " + msg);
+ assert impl.isInfoEnabled() : "Logging at INFO level without checking if INFO level is enabled: " + msg;
+
impl.info(msg);
}
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/logger/GridTestLog4jLoggerSelfTest.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/logger/GridTestLog4jLoggerSelfTest.java
new file mode 100644
index 0000000..0e64c7a
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/logger/GridTestLog4jLoggerSelfTest.java
@@ -0,0 +1,95 @@
+/*
+ * 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.testframework.junits.logger;
+
+import org.apache.ignite.testframework.GridTestUtils;
+import org.apache.ignite.testframework.GridTestUtils.RunnableX;
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+import static java.lang.String.format;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+
+/**
+ * Checks that assertion error will be thrown, if logging for the level disabled and log message on this level was invoked.
+ */
+@RunWith(JUnit4.class)
+public class GridTestLog4jLoggerSelfTest {
+ /** Logger message. */
+ private static final String LOG_MESSAGE = "TEST MESSAGE";
+
+ /** Assertion message formatter. */
+ private static final String ASSERTION_FORMAT_MSG = "Logging at %s level without checking if %s level is enabled: " + LOG_MESSAGE;
+
+ /** Logger. */
+ private static final GridTestLog4jLogger LOGGER = new GridTestLog4jLogger();
+
+ /** Default root level. */
+ private static final Level defaultRootLevel = Logger.getRootLogger().getLevel();
+
+ /** */
+ @BeforeClass
+ public static void beforeTests() {
+ Logger.getRootLogger().setLevel(Level.WARN);
+ }
+
+ /** */
+ @AfterClass
+ public static void afterTests() {
+ Logger.getRootLogger().setLevel(defaultRootLevel);
+
+ assertEquals(defaultRootLevel, Logger.getRootLogger().getLevel());
+ }
+
+ /** */
+ @Test
+ public void testDebug() {
+ assertFalse(LOGGER.isDebugEnabled());
+
+ tryLog(() -> LOGGER.debug(LOG_MESSAGE), Level.DEBUG);
+ }
+
+ /** */
+ @Test
+ public void testInfo() {
+ assertFalse(LOGGER.isInfoEnabled());
+
+ tryLog(() -> LOGGER.info(LOG_MESSAGE), Level.INFO);
+ }
+
+ /** */
+ @Test
+ public void testTrace() {
+ assertFalse(LOGGER.isTraceEnabled());
+
+ tryLog(() -> LOGGER.trace(LOG_MESSAGE), Level.TRACE);
+ }
+
+ /** */
+ private static void tryLog(RunnableX clo, Level level) {
+ String assertionMsg = format(ASSERTION_FORMAT_MSG, level.toString(), level.toString());
+
+ GridTestUtils.assertThrows(null, clo, AssertionError.class, assertionMsg);
+ }
+}
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteLangSelfTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteLangSelfTestSuite.java
index 5934cbf..b43ff63 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteLangSelfTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteLangSelfTestSuite.java
@@ -42,6 +42,7 @@ import org.apache.ignite.lang.utils.GridLeanMapSelfTest;
import org.apache.ignite.lang.utils.GridListSetSelfTest;
import org.apache.ignite.lang.utils.GridStripedLockSelfTest;
import org.apache.ignite.lang.utils.IgniteOffheapReadWriteLockSelfTest;
+import org.apache.ignite.testframework.junits.logger.GridTestLog4jLoggerSelfTest;
import org.apache.ignite.util.GridConcurrentLinkedDequeSelfTest;
import org.apache.ignite.util.GridConcurrentLinkedHashMapMultiThreadedSelfTest;
import org.junit.runner.RunWith;
@@ -83,6 +84,8 @@ import org.junit.runners.Suite;
IgniteOffheapReadWriteLockSelfTest.class,
+ GridTestLog4jLoggerSelfTest.class,
+
// Consistent hash tests.
GridConsistentHashSelfTest.class,
})
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/SchemaManager.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/SchemaManager.java
index 2a68a6f..8e10558 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/SchemaManager.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/SchemaManager.java
@@ -220,8 +220,10 @@ public class SchemaManager {
boolean disabled = IgniteSystemProperties.getBoolean(IgniteSystemProperties.IGNITE_SQL_DISABLE_SYSTEM_VIEWS);
if (disabled) {
- log.info("SQL system views will not be created because they are disabled (see " +
- IgniteSystemProperties.IGNITE_SQL_DISABLE_SYSTEM_VIEWS + " system property)");
+ if (log.isInfoEnabled()) {
+ log.info("SQL system views will not be created because they are disabled (see " +
+ IgniteSystemProperties.IGNITE_SQL_DISABLE_SYSTEM_VIEWS + " system property)");
+ }
return;
}
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java
index fd2d400..2638aa5 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java
@@ -668,7 +668,7 @@ public class GridMapQueryExecutor {
if (log.isDebugEnabled())
U.warn(log, errMsg, err);
- else
+ else if (log.isInfoEnabled())
log.info(errMsg);
}
else
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/ReducePartitionMapper.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/ReducePartitionMapper.java
index a48c989..b748ef2 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/ReducePartitionMapper.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/ReducePartitionMapper.java
@@ -426,10 +426,12 @@ public class ReducePartitionMapper {
continue;
}
else if (!F.isEmpty(dataNodes(cctx.groupId(), NONE))) {
- logRetry("Failed to calculate nodes for SQL query (partition has no owners, but corresponding " +
- "cache group has data nodes) [cacheIds=" + cacheIds +
- ", cacheName=" + cctx.name() + ", cacheId=" + cctx.cacheId() + ", part=" + p +
- ", cacheGroupId=" + cctx.groupId() + ']');
+ if (log.isInfoEnabled()) {
+ logRetry("Failed to calculate nodes for SQL query (partition has no owners, but corresponding " +
+ "cache group has data nodes) [cacheIds=" + cacheIds +
+ ", cacheName=" + cctx.name() + ", cacheId=" + cctx.cacheId() + ", part=" + p +
+ ", cacheGroupId=" + cctx.groupId() + ']');
+ }
return null; // Retry.
}
@@ -461,10 +463,12 @@ public class ReducePartitionMapper {
if (F.isEmpty(owners)) {
if (!F.isEmpty(dataNodes(extraCctx.groupId(), NONE))) {
- logRetry("Failed to calculate nodes for SQL query (partition has no owners, but " +
- "corresponding cache group has data nodes) [ cacheIds=" + cacheIds + ", cacheName=" + extraCctx.name() +
- ", cacheId=" + extraCctx.cacheId() + ", part=" + p +
- ", cacheGroupId=" + extraCctx.groupId() + ']');
+ if (log.isInfoEnabled()) {
+ logRetry("Failed to calculate nodes for SQL query (partition has no owners, but " +
+ "corresponding cache group has data nodes) [ cacheIds=" + cacheIds + ", cacheName=" + extraCctx.name() +
+ ", cacheId=" + extraCctx.cacheId() + ", part=" + p +
+ ", cacheGroupId=" + extraCctx.groupId() + ']');
+ }
return null; // Retry.
}
@@ -479,10 +483,12 @@ public class ReducePartitionMapper {
partLocs[p].retainAll(owners); // Intersection of owners.
if (partLocs[p].isEmpty()) {
- logRetry("Failed to calculate nodes for SQL query (caches have no common data nodes for " +
- "partition) [cacheIds=" + cacheIds +
- ", lastCacheName=" + extraCctx.name() + ", lastCacheId=" + extraCctx.cacheId() +
- ", part=" + p + ']');
+ if (log.isInfoEnabled()) {
+ logRetry("Failed to calculate nodes for SQL query (caches have no common data nodes for " +
+ "partition) [cacheIds=" + cacheIds +
+ ", lastCacheName=" + extraCctx.name() + ", lastCacheId=" + extraCctx.cacheId() +
+ ", part=" + p + ']');
+ }
return null; // Intersection is empty -> retry.
}
@@ -511,10 +517,12 @@ public class ReducePartitionMapper {
partLoc.retainAll(dataNodes);
if (partLoc.isEmpty()) {
- logRetry("Failed to calculate nodes for SQL query (caches have no common data nodes for " +
- "partition) [cacheIds=" + cacheIds +
- ", lastReplicatedCacheName=" + extraCctx.name() +
- ", lastReplicatedCacheId=" + extraCctx.cacheId() + ", part=" + part + ']');
+ if (log.isInfoEnabled()) {
+ logRetry("Failed to calculate nodes for SQL query (caches have no common data nodes for " +
+ "partition) [cacheIds=" + cacheIds +
+ ", lastReplicatedCacheName=" + extraCctx.name() +
+ ", lastReplicatedCacheId=" + extraCctx.cacheId() + ", part=" + part + ']');
+ }
return null; // Retry.
}
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/client/IgniteDataStreamerTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/client/IgniteDataStreamerTest.java
index 9ab3dc6..2e63fdb 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/client/IgniteDataStreamerTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/client/IgniteDataStreamerTest.java
@@ -94,8 +94,10 @@ public class IgniteDataStreamerTest extends GridCommonAbstractTest {
//This should not throw any exception.
Object res = fut.get(WAIT_TIMEOUT);
- //Printing future result to log to prevent jvm optimization
- log.debug(res == null ? null : res.toString());
+ if (log.isDebugEnabled()) {
+ //Printing future result to log to prevent jvm optimization
+ log.debug(String.valueOf(res));
+ }
}
assertTrue(cache.size(ALL) == DATA_SIZE);
diff --git a/modules/indexing/src/test/java/org/apache/ignite/sqltests/BaseSqlTest.java b/modules/indexing/src/test/java/org/apache/ignite/sqltests/BaseSqlTest.java
index 838ddfe..1453e0c 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/sqltests/BaseSqlTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/sqltests/BaseSqlTest.java
@@ -396,7 +396,8 @@ public class BaseSqlTest extends AbstractIndexingCommonTest {
String explanation = (String)res.get(0).get(0);
- log.debug("Node: " + node.name() + ": Execution plan for query " + qry + ":\n" + explanation);
+ if (log.isDebugEnabled())
+ log.debug("Node: " + node.name() + ": Execution plan for query " + qry + ":\n" + explanation);
}
catch (Exception exc) {
log.error("Ignoring exception gotten explaining query : " + qry, exc);
diff --git a/modules/kafka/src/main/java/org/apache/ignite/stream/kafka/KafkaStreamer.java b/modules/kafka/src/main/java/org/apache/ignite/stream/kafka/KafkaStreamer.java
index 39d2e50..02dbedd 100644
--- a/modules/kafka/src/main/java/org/apache/ignite/stream/kafka/KafkaStreamer.java
+++ b/modules/kafka/src/main/java/org/apache/ignite/stream/kafka/KafkaStreamer.java
@@ -181,7 +181,8 @@ public class KafkaStreamer<K, V> extends StreamAdapter<ConsumerRecord, K, V> {
}
}
catch (WakeupException we) {
- log.info("Consumer is being stopped.");
+ if (log.isInfoEnabled())
+ log.info("Consumer is being stopped.");
}
catch (KafkaException ke) {
log.error("Kafka error", ke);
diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/math/Tracer.java b/modules/ml/src/main/java/org/apache/ignite/ml/math/Tracer.java
index 62c3c21..387c7d8 100644
--- a/modules/ml/src/main/java/org/apache/ignite/ml/math/Tracer.java
+++ b/modules/ml/src/main/java/org/apache/ignite/ml/math/Tracer.java
@@ -104,7 +104,8 @@ public class Tracer {
public static void showAscii(Vector vec, IgniteLogger log, String fmt) {
String cls = vec.getClass().getSimpleName();
- log.info(String.format(LOCALE, "%s(%d) [%s]", cls, vec.size(), mkString(vec, fmt)));
+ if (log.isInfoEnabled())
+ log.info(String.format(LOCALE, "%s(%d) [%s]", cls, vec.size(), mkString(vec, fmt)));
}
/**
@@ -211,10 +212,12 @@ public class Tracer {
int rows = mtx.rowSize();
int cols = mtx.columnSize();
- log.info(String.format(LOCALE, "%s(%dx%d)", cls, rows, cols));
+ if (log.isInfoEnabled()) {
+ log.info(String.format(LOCALE, "%s(%dx%d)", cls, rows, cols));
- for (int row = 0; row < rows; row++)
- log.info(rowStr(mtx, row, fmt));
+ for (int row = 0; row < rows; row++)
+ log.info(rowStr(mtx, row, fmt));
+ }
}
/**
diff --git a/modules/ml/src/main/java/org/apache/ignite/ml/util/plugin/MLPluginProvider.java b/modules/ml/src/main/java/org/apache/ignite/ml/util/plugin/MLPluginProvider.java
index de039fb..f766b89 100644
--- a/modules/ml/src/main/java/org/apache/ignite/ml/util/plugin/MLPluginProvider.java
+++ b/modules/ml/src/main/java/org/apache/ignite/ml/util/plugin/MLPluginProvider.java
@@ -172,7 +172,8 @@ public class MLPluginProvider implements PluginProvider<MLPluginConfiguration> {
ignite.getOrCreateCache(storageCfg);
- log.info("ML model storage is ready");
+ if (log.isInfoEnabled())
+ log.info("ML model storage is ready");
}
/**
@@ -190,6 +191,7 @@ public class MLPluginProvider implements PluginProvider<MLPluginConfiguration> {
ignite.getOrCreateCache(storageCfg);
- log.info("ML model descriptor storage is ready");
+ if (log.isInfoEnabled())
+ log.info("ML model descriptor storage is ready");
}
}
diff --git a/modules/osgi/src/main/java/org/apache/ignite/osgi/IgniteAbstractOsgiContextActivator.java b/modules/osgi/src/main/java/org/apache/ignite/osgi/IgniteAbstractOsgiContextActivator.java
index dc491e9..289d86f 100644
--- a/modules/osgi/src/main/java/org/apache/ignite/osgi/IgniteAbstractOsgiContextActivator.java
+++ b/modules/osgi/src/main/java/org/apache/ignite/osgi/IgniteAbstractOsgiContextActivator.java
@@ -117,7 +117,8 @@ public abstract class IgniteAbstractOsgiContextActivator implements BundleActiva
log = ignite.log();
- log.info("Started Ignite from OSGi Activator [name=" + ignite.name() + ']');
+ if (log.isInfoEnabled())
+ log.info("Started Ignite from OSGi Activator [name=" + ignite.name() + ']');
// Add into Ignite's OSGi registry.
IgniteOsgiUtils.classloaders().put(ignite, clsLdr);
diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
index 8822e5c..3ccf2de 100644
--- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
+++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
@@ -1353,7 +1353,7 @@ public class ZookeeperDiscoveryImpl {
log.info("Discovery coordinator already exists, watch for previous server node [" +
"locId=" + locNode.id() +
", watchPath=" + prevE.getValue() + ']');
- }
+ }
PreviousNodeWatcher watcher = new ServerPreviousNodeWatcher(rtState);