http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/asterixdb/asterix-server/src/test/java/org/apache/asterix/server/test/NCServiceExecutionIT.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-server/src/test/java/org/apache/asterix/server/test/NCServiceExecutionIT.java b/asterixdb/asterix-server/src/test/java/org/apache/asterix/server/test/NCServiceExecutionIT.java index 93b26dc..1d3c1c5 100644 --- a/asterixdb/asterix-server/src/test/java/org/apache/asterix/server/test/NCServiceExecutionIT.java +++ b/asterixdb/asterix-server/src/test/java/org/apache/asterix/server/test/NCServiceExecutionIT.java @@ -24,8 +24,6 @@ import java.util.Collection; import java.util.List; import java.util.Random; import java.util.concurrent.TimeUnit; -import java.util.logging.Level; -import java.util.logging.Logger; import org.apache.asterix.test.common.TestExecutor; import org.apache.asterix.test.runtime.HDFSCluster; @@ -36,6 +34,9 @@ import org.apache.commons.lang3.StringUtils; import org.apache.hyracks.server.process.HyracksCCProcess; import org.apache.hyracks.server.process.HyracksNCServiceProcess; import org.apache.hyracks.server.process.HyracksVirtualCluster; +import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.junit.AfterClass; import org.junit.Assert; import org.junit.Before; @@ -91,7 +92,7 @@ public class NCServiceExecutionIT { public static final String ACTUAL_RESULTS_DIR = StringUtils.join(new String[] { TARGET_DIR, "ittest" }, File.separator); - private static final Logger LOGGER = Logger.getLogger(NCServiceExecutionIT.class.getName()); + private static final Logger LOGGER = LogManager.getLogger(); enum KillCommand { CC, @@ -256,7 +257,7 @@ public class NCServiceExecutionIT { testExecutor.waitForClusterActive(30, TimeUnit.SECONDS); } catch (Exception e) { // stop executing the rest of the tests since the cluster is not ACTIVE - LOGGER.log(Level.SEVERE, "Cannot continue since cluster is not ACTIVE", e); + LOGGER.log(Level.ERROR, "Cannot continue since cluster is not ACTIVE", e); clusterActive = false; Assert.fail("Cluster is not ACTIVE"); }
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/asterixdb/asterix-server/src/test/java/org/apache/asterix/server/test/RecoveryIT.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-server/src/test/java/org/apache/asterix/server/test/RecoveryIT.java b/asterixdb/asterix-server/src/test/java/org/apache/asterix/server/test/RecoveryIT.java index 21e3068..7aea282 100644 --- a/asterixdb/asterix-server/src/test/java/org/apache/asterix/server/test/RecoveryIT.java +++ b/asterixdb/asterix-server/src/test/java/org/apache/asterix/server/test/RecoveryIT.java @@ -23,7 +23,6 @@ import java.io.FilenameFilter; import java.util.ArrayList; import java.util.Collection; import java.util.Map; -import java.util.logging.Logger; import org.apache.asterix.test.base.RetainLogsRule; import org.apache.asterix.test.common.TestExecutor; @@ -31,6 +30,8 @@ import org.apache.asterix.test.runtime.HDFSCluster; import org.apache.asterix.testframework.context.TestCaseContext; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Rule; @@ -43,7 +44,7 @@ import org.junit.runners.Parameterized.Parameters; @RunWith(Parameterized.class) public class RecoveryIT { - private static final Logger LOGGER = Logger.getLogger(RecoveryIT.class.getName()); + private static final Logger LOGGER = LogManager.getLogger(); private static final String PATH_ACTUAL = "target" + File.separator + "rttest" + File.separator; private static final String PATH_BASE = "src/test/resources/transactionts/"; private static final String HDFS_BASE = "../asterix-app/"; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/asterixdb/asterix-server/src/test/java/org/apache/asterix/server/test/ReplicationIT.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-server/src/test/java/org/apache/asterix/server/test/ReplicationIT.java b/asterixdb/asterix-server/src/test/java/org/apache/asterix/server/test/ReplicationIT.java index 6ebb632..aa2d97d 100644 --- a/asterixdb/asterix-server/src/test/java/org/apache/asterix/server/test/ReplicationIT.java +++ b/asterixdb/asterix-server/src/test/java/org/apache/asterix/server/test/ReplicationIT.java @@ -22,7 +22,6 @@ import java.io.File; import java.util.ArrayList; import java.util.Collection; import java.util.concurrent.TimeUnit; -import java.util.logging.Logger; import org.apache.asterix.test.base.RetainLogsRule; import org.apache.asterix.test.common.TestExecutor; @@ -33,7 +32,12 @@ import org.apache.hyracks.server.process.HyracksCCProcess; import org.apache.hyracks.server.process.HyracksNCServiceProcess; import org.apache.hyracks.server.process.HyracksVirtualCluster; import org.apache.hyracks.util.file.FileUtil; -import org.junit.*; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.junit.After; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; import org.junit.rules.TestRule; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -52,7 +56,7 @@ public class ReplicationIT { public static final String CONF_DIR = StringUtils.join(new String[] { TARGET_DIR, "test-classes", "ReplicationIT" }, File.separator); private static final String PATH_ACTUAL = FileUtil.joinPath("target", "ittest"); - private static final Logger LOGGER = Logger.getLogger(ReplicationIT.class.getName()); + private static final Logger LOGGER = LogManager.getLogger(); private static String reportPath = new File(FileUtil.joinPath("target", "failsafe-reports")).getAbsolutePath(); private final TestExecutor testExecutor = new TestExecutor(); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/asterixdb/asterix-tools/pom.xml ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-tools/pom.xml b/asterixdb/asterix-tools/pom.xml index efe1418..40453e1 100644 --- a/asterixdb/asterix-tools/pom.xml +++ b/asterixdb/asterix-tools/pom.xml @@ -153,5 +153,9 @@ <version>${project.version}</version> <scope>test</scope> </dependency> + <dependency> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-api</artifactId> + </dependency> </dependencies> </project> http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/asterixdb/asterix-tools/src/test/java/org/apache/asterix/tools/external/data/TweetGeneratorForSpatialIndexEvaluation.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-tools/src/test/java/org/apache/asterix/tools/external/data/TweetGeneratorForSpatialIndexEvaluation.java b/asterixdb/asterix-tools/src/test/java/org/apache/asterix/tools/external/data/TweetGeneratorForSpatialIndexEvaluation.java index fcaa2a4..0b7121f 100644 --- a/asterixdb/asterix-tools/src/test/java/org/apache/asterix/tools/external/data/TweetGeneratorForSpatialIndexEvaluation.java +++ b/asterixdb/asterix-tools/src/test/java/org/apache/asterix/tools/external/data/TweetGeneratorForSpatialIndexEvaluation.java @@ -23,16 +23,16 @@ import java.io.IOException; import java.io.OutputStream; import java.nio.ByteBuffer; import java.util.Map; -import java.util.logging.Level; -import java.util.logging.Logger; import org.apache.asterix.tools.external.data.DataGeneratorForSpatialIndexEvaluation.InitializationInfo; import org.apache.asterix.tools.external.data.DataGeneratorForSpatialIndexEvaluation.TweetMessage; import org.apache.asterix.tools.external.data.DataGeneratorForSpatialIndexEvaluation.TweetMessageIterator; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; public class TweetGeneratorForSpatialIndexEvaluation { - private static Logger LOGGER = Logger.getLogger(TweetGeneratorForSpatialIndexEvaluation.class.getName()); + private static Logger LOGGER = LogManager.getLogger(); public static final String KEY_DURATION = "duration"; public static final String KEY_TPS = "tps"; @@ -116,7 +116,7 @@ public class TweetGeneratorForSpatialIndexEvaluation { numFlushedTweets += frameTweetCount; frameTweetCount = 0; } - if (LOGGER.isLoggable(Level.INFO)) { + if (LOGGER.isInfoEnabled()) { LOGGER.info("Reached end of batch. Tweet Count: [" + partition + "]" + tweetCount); } return false; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/asterixdb/asterix-tools/src/test/java/org/apache/asterix/tools/test/AdmDataGenTest.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-tools/src/test/java/org/apache/asterix/tools/test/AdmDataGenTest.java b/asterixdb/asterix-tools/src/test/java/org/apache/asterix/tools/test/AdmDataGenTest.java index 1eef3c3..b6d44e0 100644 --- a/asterixdb/asterix-tools/src/test/java/org/apache/asterix/tools/test/AdmDataGenTest.java +++ b/asterixdb/asterix-tools/src/test/java/org/apache/asterix/tools/test/AdmDataGenTest.java @@ -24,8 +24,9 @@ import java.io.FileFilter; import java.io.FileReader; import java.util.ArrayList; import java.util.Collection; -import java.util.logging.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.junit.AfterClass; import org.junit.Assume; import org.junit.BeforeClass; @@ -40,7 +41,7 @@ import org.apache.asterix.tools.datagen.AdmDataGen; @RunWith(Parameterized.class) public class AdmDataGenTest { - private static final Logger LOGGER = Logger.getLogger(AdmDataGenTest.class.getName()); + private static final Logger LOGGER = LogManager.getLogger(); private static final String SEPARATOR = File.separator; private static final String EXTENSION_QUERY = "adg"; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/asterixdb/asterix-transactions/pom.xml ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-transactions/pom.xml b/asterixdb/asterix-transactions/pom.xml index b7e1871..7ec8307 100644 --- a/asterixdb/asterix-transactions/pom.xml +++ b/asterixdb/asterix-transactions/pom.xml @@ -151,5 +151,9 @@ <groupId>org.apache.hyracks</groupId> <artifactId>algebricks-runtime</artifactId> </dependency> + <dependency> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-api</artifactId> + </dependency> </dependencies> </project> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/locking/ConcurrentLockManager.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/locking/ConcurrentLockManager.java b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/locking/ConcurrentLockManager.java index 3aa2578..726f95c 100644 --- a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/locking/ConcurrentLockManager.java +++ b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/locking/ConcurrentLockManager.java @@ -24,8 +24,6 @@ import java.io.OutputStream; import java.util.ArrayList; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.TimeUnit; -import java.util.logging.Level; -import java.util.logging.Logger; import org.apache.asterix.common.exceptions.ACIDException; import org.apache.asterix.common.transactions.DatasetId; @@ -34,6 +32,9 @@ import org.apache.asterix.common.transactions.ITransactionContext; import org.apache.asterix.common.transactions.ITransactionManager; import org.apache.asterix.transaction.management.service.transaction.TransactionManagementConstants.LockManagerConstants.LockMode; import org.apache.hyracks.api.lifecycle.ILifeCycleComponent; +import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; /** * A concurrent implementation of the ILockManager interface. @@ -43,8 +44,8 @@ import org.apache.hyracks.api.lifecycle.ILifeCycleComponent; */ public class ConcurrentLockManager implements ILockManager, ILifeCycleComponent { - static final Logger LOGGER = Logger.getLogger(ConcurrentLockManager.class.getName()); - static final Level LVL = Level.FINER; + static final Logger LOGGER = LogManager.getLogger(); + static final Level LVL = Level.TRACE; public static final boolean ENABLED_DEADLOCK_FREE_LOCKING_PROTOCOL = true; public static final int NIL = -1; @@ -375,7 +376,7 @@ public class ConcurrentLockManager implements ILockManager, ILifeCycleComponent if (reqSlot != NILL) { // deallocate request, if we allocated one earlier if (DEBUG_MODE) { - LOGGER.finer("del req slot " + TypeUtil.Global.toString(reqSlot)); + LOGGER.trace("del req slot " + TypeUtil.Global.toString(reqSlot)); } reqArenaMgr.deallocate(reqSlot); } @@ -494,7 +495,7 @@ public class ConcurrentLockManager implements ILockManager, ILifeCycleComponent // deallocate request if (DEBUG_MODE) { - LOGGER.finer("del req slot " + TypeUtil.Global.toString(holder)); + LOGGER.trace("del req slot " + TypeUtil.Global.toString(holder)); } reqArenaMgr.deallocate(holder); // deallocate resource or fix max lock mode @@ -509,7 +510,7 @@ public class ConcurrentLockManager implements ILockManager, ILifeCycleComponent resArenaMgr.setNext(prev, resArenaMgr.getNext(resource)); } if (DEBUG_MODE) { - LOGGER.finer("del res slot " + TypeUtil.Global.toString(resource)); + LOGGER.trace("del res slot " + TypeUtil.Global.toString(resource)); } resArenaMgr.deallocate(resource); } else { @@ -535,7 +536,7 @@ public class ConcurrentLockManager implements ILockManager, ILifeCycleComponent return; } //System.err.println(table.append(new StringBuilder(), true).toString()); - if (LOGGER.isLoggable(LVL)) { + if (LOGGER.isEnabled(LVL)) { LOGGER.log(LVL, "jobArenaMgr " + jobArenaMgr.addTo(new RecordManagerStats()).toString()); LOGGER.log(LVL, "resArenaMgr " + resArenaMgr.addTo(new RecordManagerStats()).toString()); LOGGER.log(LVL, "reqArenaMgr " + reqArenaMgr.addTo(new RecordManagerStats()).toString()); @@ -554,11 +555,11 @@ public class ConcurrentLockManager implements ILockManager, ILifeCycleComponent } } if (DEBUG_MODE) { - LOGGER.finer("del job slot " + TypeUtil.Global.toString(jobSlot)); + LOGGER.trace("del job slot " + TypeUtil.Global.toString(jobSlot)); } jobArenaMgr.deallocate(jobSlot); txnId2TxnSlotMap.remove(txnId); - stats.logCounters(LOGGER, Level.FINE, true); + stats.logCounters(LOGGER, Level.DEBUG, true); } private long findOrAllocJobSlot(long txnId) { @@ -566,7 +567,7 @@ public class ConcurrentLockManager implements ILockManager, ILifeCycleComponent if (jobSlot == null) { jobSlot = new Long(jobArenaMgr.allocate()); if (DEBUG_MODE) { - LOGGER.finer("new job slot " + TypeUtil.Global.toString(jobSlot) + " (" + txnId + ")"); + LOGGER.trace("new job slot " + TypeUtil.Global.toString(jobSlot) + " (" + txnId + ")"); } jobArenaMgr.setTxnId(jobSlot, txnId); Long oldSlot = txnId2TxnSlotMap.putIfAbsent(txnId, jobSlot); @@ -575,7 +576,7 @@ public class ConcurrentLockManager implements ILockManager, ILifeCycleComponent // get(..) and putIfAbsent(..), we'll use that slot and // deallocate the one we allocated if (DEBUG_MODE) { - LOGGER.finer("del job slot " + TypeUtil.Global.toString(jobSlot) + " due to conflict"); + LOGGER.trace("del job slot " + TypeUtil.Global.toString(jobSlot) + " due to conflict"); } jobArenaMgr.deallocate(jobSlot); jobSlot = oldSlot; @@ -596,12 +597,12 @@ public class ConcurrentLockManager implements ILockManager, ILifeCycleComponent resArenaMgr.setNext(resSlot, group.firstResourceIndex.get()); group.firstResourceIndex.set(resSlot); if (DEBUG_MODE) { - LOGGER.finer("new res slot " + TypeUtil.Global.toString(resSlot) + " (" + dsId + ", " + entityHashValue + LOGGER.trace("new res slot " + TypeUtil.Global.toString(resSlot) + " (" + dsId + ", " + entityHashValue + ")"); } } else { if (DEBUG_MODE) { - LOGGER.finer("fnd res slot " + TypeUtil.Global.toString(resSlot) + " (" + dsId + ", " + entityHashValue + LOGGER.trace("fnd res slot " + TypeUtil.Global.toString(resSlot) + " (" + dsId + ", " + entityHashValue + ")"); } } @@ -614,7 +615,7 @@ public class ConcurrentLockManager implements ILockManager, ILifeCycleComponent reqArenaMgr.setLockMode(reqSlot, lockMode); // lock mode is a byte!! reqArenaMgr.setJobSlot(reqSlot, jobSlot); if (DEBUG_MODE) { - LOGGER.finer("new req slot " + TypeUtil.Global.toString(reqSlot) + " (" + TypeUtil.Global.toString(resSlot) + LOGGER.trace("new req slot " + TypeUtil.Global.toString(reqSlot) + " (" + TypeUtil.Global.toString(resSlot) + ", " + TypeUtil.Global.toString(jobSlot) + ", " + LockMode.toString(lockMode) + ")"); } return reqSlot; @@ -667,7 +668,7 @@ public class ConcurrentLockManager implements ILockManager, ILifeCycleComponent } private long findResourceInGroup(ResourceGroup group, int dsId, int entityHashValue) { - stats.logCounters(LOGGER, Level.FINE, false); + stats.logCounters(LOGGER, Level.DEBUG, false); long resSlot = group.firstResourceIndex.get(); while (resSlot != NILL) { // either we already have a lock on this resource or we have a @@ -934,7 +935,7 @@ public class ConcurrentLockManager implements ILockManager, ILifeCycleComponent */ private void log(String string, int id, int entityHashValue, byte lockMode, ITransactionContext txnContext) { - if (!LOGGER.isLoggable(LVL)) { + if (!LOGGER.isEnabled(LVL)) { return; } StringBuilder sb = new StringBuilder(); @@ -980,7 +981,7 @@ public class ConcurrentLockManager implements ILockManager, ILifeCycleComponent group.releaseLatch(); } } else { - LOGGER.warning("Could not check locks for " + group); + LOGGER.warn("Could not check locks for " + group); } } } catch (InterruptedException e) { @@ -993,7 +994,7 @@ public class ConcurrentLockManager implements ILockManager, ILifeCycleComponent String msg = "request for " + LockMode.toString(lockMode) + " lock on dataset " + dsId + " entity " + entityHashValue + " not found for txn " + txnId + " in thread " + Thread.currentThread().getName(); - LOGGER.severe(msg); + LOGGER.error(msg); throw new IllegalStateException(msg); } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/locking/LockManagerStats.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/locking/LockManagerStats.java b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/locking/LockManagerStats.java index 1050d54..4d9c94a 100644 --- a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/locking/LockManagerStats.java +++ b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/locking/LockManagerStats.java @@ -20,8 +20,9 @@ package org.apache.asterix.transaction.management.service.locking; import java.util.concurrent.atomic.AtomicLong; -import java.util.logging.Level; -import java.util.logging.Logger; + +import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.Logger; final class LockManagerStats { private final int loggingPeriod; @@ -67,7 +68,7 @@ final class LockManagerStats { } final void logCounters(final Logger logger, final Level lvl, boolean always) { - if (logger.isLoggable(lvl) + if (logger.isEnabled(lvl) && (always || requestSum() % loggingPeriod == 0)) { logger.log(lvl, toString()); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/locking/ResourceGroup.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/locking/ResourceGroup.java b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/locking/ResourceGroup.java index bec4e53..436745d 100644 --- a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/locking/ResourceGroup.java +++ b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/locking/ResourceGroup.java @@ -53,7 +53,7 @@ class ResourceGroup { try { return latch.writeLock().tryLock(timeout, unit); } catch (InterruptedException e) { - ConcurrentLockManager.LOGGER.finer("interrupted while wating on ResourceGroup"); + ConcurrentLockManager.LOGGER.trace("interrupted while wating on ResourceGroup"); throw e; } } @@ -72,7 +72,7 @@ class ResourceGroup { try { condition.await(); } catch (InterruptedException e) { - ConcurrentLockManager.LOGGER.finer("interrupted while waiting on ResourceGroup"); + ConcurrentLockManager.LOGGER.trace("interrupted while waiting on ResourceGroup"); throw e; } } @@ -83,7 +83,7 @@ class ResourceGroup { } void log(String s) { - if (ConcurrentLockManager.LOGGER.isLoggable(ConcurrentLockManager.LVL)) { + if (ConcurrentLockManager.LOGGER.isEnabled(ConcurrentLockManager.LVL)) { ConcurrentLockManager.LOGGER.log(ConcurrentLockManager.LVL, s + " " + toString()); } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogBuffer.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogBuffer.java b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogBuffer.java index 96a31c6..dcf8250 100644 --- a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogBuffer.java +++ b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogBuffer.java @@ -23,7 +23,6 @@ import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.atomic.AtomicBoolean; -import java.util.logging.Logger; import org.apache.asterix.common.context.PrimaryIndexOperationTracker; import org.apache.asterix.common.exceptions.ACIDException; @@ -40,11 +39,13 @@ import org.apache.asterix.common.transactions.MutableLong; import org.apache.asterix.common.transactions.TxnId; import org.apache.asterix.transaction.management.service.transaction.TransactionManagementConstants.LockManagerConstants.LockMode; import org.apache.hyracks.api.exceptions.HyracksDataException; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; public class LogBuffer implements ILogBuffer { public static final boolean IS_DEBUG_MODE = false;//true - private static final Logger LOGGER = Logger.getLogger(LogBuffer.class.getName()); + private static final Logger LOGGER = LogManager.getLogger(); private final ITransactionSubsystem txnSubsystem; private final LogBufferTailReader logBufferTailReader; private final int logPageSize; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogManager.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogManager.java b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogManager.java index cdd957a..4ce9c71 100644 --- a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogManager.java +++ b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogManager.java @@ -35,8 +35,6 @@ import java.util.concurrent.Future; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.Semaphore; import java.util.concurrent.atomic.AtomicLong; -import java.util.logging.Level; -import java.util.logging.Logger; import org.apache.asterix.common.exceptions.ACIDException; import org.apache.asterix.common.replication.IReplicationManager; @@ -53,13 +51,15 @@ import org.apache.asterix.common.transactions.MutableLong; import org.apache.asterix.common.transactions.TxnLogFile; import org.apache.asterix.common.utils.InvokeUtil; import org.apache.hyracks.api.lifecycle.ILifeCycleComponent; +import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.Logger; public class LogManager implements ILogManager, ILifeCycleComponent { /* * Constants */ - private static final Logger LOGGER = Logger.getLogger(LogManager.class.getName()); + private static final Logger LOGGER = org.apache.logging.log4j.LogManager.getLogger(); private static final long SMALLEST_LOG_FILE_ID = 0; private static final int INITIAL_LOG_SIZE = 0; public static final boolean IS_DEBUG_MODE = false;// true @@ -116,7 +116,7 @@ public class LogManager implements ILogManager, ILifeCycleComponent { } appendLSN.set(initializeLogAnchor(nextLogFileId)); flushLSN.set(appendLSN.get()); - if (LOGGER.isLoggable(Level.INFO)) { + if (LOGGER.isInfoEnabled()) { LOGGER.info("LogManager starts logging in LSN: " + appendLSN); } appendChannel = getFileChannel(appendLSN.get(), false); @@ -244,7 +244,7 @@ public class LogManager implements ILogManager, ILifeCycleComponent { appendLSN.addAndGet(logFileSize - getLogFileOffset(appendLSN.get())); flushLSN.set(appendLSN.get()); appendChannel = getFileChannel(appendLSN.get(), true); - if (LOGGER.isLoggable(Level.INFO)) { + if (LOGGER.isInfoEnabled()) { LOGGER.info("Created new txn log file with id(" + getLogFileId(appendLSN.get()) + ") starting with LSN = " + appendLSN.get()); } @@ -334,7 +334,7 @@ public class LogManager implements ILogManager, ILifeCycleComponent { if (logFileIds == null) { fileId = nextLogFileId; createFileIfNotExists(getLogFilePath(fileId)); - if (LOGGER.isLoggable(Level.INFO)) { + if (LOGGER.isInfoEnabled()) { LOGGER.info("created a log file: " + getLogFilePath(fileId)); } } else { @@ -345,18 +345,18 @@ public class LogManager implements ILogManager, ILifeCycleComponent { } else { fileId = nextLogFileId; createNewDirectory(logDir); - if (LOGGER.isLoggable(Level.INFO)) { + if (LOGGER.isInfoEnabled()) { LOGGER.info("created the log directory: " + logManagerProperties.getLogDir()); } createFileIfNotExists(getLogFilePath(fileId)); - if (LOGGER.isLoggable(Level.INFO)) { + if (LOGGER.isInfoEnabled()) { LOGGER.info("created a log file: " + getLogFilePath(fileId)); } } } catch (IOException ioe) { throw new IllegalStateException("Failed to initialize the log anchor", ioe); } - if (LOGGER.isLoggable(Level.INFO)) { + if (LOGGER.isInfoEnabled()) { LOGGER.info("log file Id: " + fileId + ", offset: " + offset); } return logFileSize * fileId + offset; @@ -395,7 +395,7 @@ public class LogManager implements ILogManager, ILifeCycleComponent { File file = new File(getLogFilePath(id)); file.delete(); txnLogFileId2ReaderCount.remove(id); - if (LOGGER.isLoggable(Level.INFO)) { + if (LOGGER.isInfoEnabled()) { LOGGER.info("Deleted log file " + file.getAbsolutePath()); } } @@ -404,20 +404,20 @@ public class LogManager implements ILogManager, ILifeCycleComponent { } private void terminateLogFlusher() { - if (LOGGER.isLoggable(Level.INFO)) { + if (LOGGER.isInfoEnabled()) { LOGGER.info("Terminating LogFlusher thread ..."); } logFlusher.terminate(); try { futureLogFlusher.get(); } catch (ExecutionException | InterruptedException e) { - if (LOGGER.isLoggable(Level.INFO)) { + if (LOGGER.isInfoEnabled()) { LOGGER.info("---------- warning(begin): LogFlusher thread is terminated abnormally --------"); e.printStackTrace(); LOGGER.info("---------- warning(end) : LogFlusher thread is terminated abnormally --------"); } } - if (LOGGER.isLoggable(Level.INFO)) { + if (LOGGER.isInfoEnabled()) { LOGGER.info("LogFlusher thread is terminated."); } } @@ -580,7 +580,7 @@ public class LogManager implements ILogManager, ILifeCycleComponent { @Override public void closeLogFile(TxnLogFile logFileRef, FileChannel fileChannel) throws IOException { if (!fileChannel.isOpen()) { - LOGGER.warning(() -> "Closing log file with id(" + logFileRef.getLogFileId() + ") with a closed channel."); + LOGGER.warn(() -> "Closing log file with id(" + logFileRef.getLogFileId() + ") with a closed channel."); } fileChannel.close(); untouchLogFile(logFileRef.getLogFileId()); @@ -634,7 +634,7 @@ public class LogManager implements ILogManager, ILifeCycleComponent { } class LogFlusher implements Callable<Boolean> { - private static final Logger LOGGER = Logger.getLogger(LogFlusher.class.getName()); + private static final Logger LOGGER = org.apache.logging.log4j.LogManager.getLogger(); private static final ILogBuffer POISON_PILL = new LogBuffer(null, ILogRecord.JOB_TERMINATE_LOG_SIZE, null); private final LogManager logMgr;//for debugging private final LinkedBlockingQueue<ILogBuffer> emptyQ; @@ -685,7 +685,7 @@ class LogFlusher implements Callable<Boolean> { emptyQ.add(flushPage.getLogPageSize() == logMgr.getLogPageSize() ? flushPage : stashQ.remove()); } } catch (Exception e) { - LOGGER.log(Level.SEVERE, "LogFlusher is terminating abnormally. System is in unusable state.", e); + LOGGER.log(Level.ERROR, "LogFlusher is terminating abnormally. System is in unusable state.", e); throw e; } finally { if (interrupted) { http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogReader.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogReader.java b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogReader.java index f2c5eef..8290e94 100644 --- a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogReader.java +++ b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/logging/LogReader.java @@ -20,7 +20,6 @@ package org.apache.asterix.transaction.management.service.logging; import java.io.IOException; import java.nio.ByteBuffer; -import java.util.logging.Logger; import org.apache.asterix.common.exceptions.ACIDException; import org.apache.asterix.common.transactions.ILogManager; @@ -31,11 +30,13 @@ import org.apache.asterix.common.transactions.LogRecord; import org.apache.asterix.common.transactions.MutableLong; import org.apache.asterix.common.transactions.TxnLogFile; import org.apache.hyracks.util.annotations.NotThreadSafe; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; @NotThreadSafe public class LogReader implements ILogReader { - private static final Logger LOGGER = Logger.getLogger(LogReader.class.getName()); + private static final Logger LOGGER = LogManager.getLogger(); private final ILogManager logMgr; private final long logFileSize; private final int logPageSize; @@ -88,7 +89,7 @@ public class LogReader implements ILogReader { if (readBuffer.position() == readBuffer.limit()) { boolean hasRemaining = refillLogReadBuffer(); if (!hasRemaining && isRecoveryMode && readLSN < flushLSN.get()) { - LOGGER.severe("Transaction log ends before expected. Log files may be missing."); + LOGGER.error("Transaction log ends before expected. Log files may be missing."); return null; } } @@ -119,7 +120,7 @@ public class LogReader implements ILogReader { continue; } case BAD_CHKSUM: { - LOGGER.severe( + LOGGER.error( "Transaction log contains corrupt log records (perhaps due to medium error). Stopping recovery early."); return null; } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/AbstractCheckpointManager.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/AbstractCheckpointManager.java b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/AbstractCheckpointManager.java index aad2a19..386c1c4 100644 --- a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/AbstractCheckpointManager.java +++ b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/AbstractCheckpointManager.java @@ -31,8 +31,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; import org.apache.asterix.common.exceptions.ACIDException; import org.apache.asterix.common.transactions.Checkpoint; @@ -43,6 +41,9 @@ import org.apache.asterix.common.transactions.ITransactionManager; import org.apache.asterix.common.transactions.ITransactionSubsystem; import org.apache.asterix.common.utils.StorageConstants; import org.apache.hyracks.api.exceptions.HyracksDataException; +import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; /** * An abstract implementation of {@link ICheckpointManager}. @@ -51,7 +52,7 @@ import org.apache.hyracks.api.exceptions.HyracksDataException; */ public abstract class AbstractCheckpointManager implements ICheckpointManager { - private static final Logger LOGGER = Logger.getLogger(AbstractCheckpointManager.class.getName()); + private static final Logger LOGGER = LogManager.getLogger(); private static final String CHECKPOINT_FILENAME_PREFIX = "checkpoint_"; public static final long SHARP_CHECKPOINT_LSN = -1; private static final FilenameFilter filter = (File dir, String name) -> name.startsWith(CHECKPOINT_FILENAME_PREFIX); @@ -65,7 +66,7 @@ public abstract class AbstractCheckpointManager implements ICheckpointManager { public AbstractCheckpointManager(ITransactionSubsystem txnSubsystem, CheckpointProperties checkpointProperties) { this.txnSubsystem = txnSubsystem; String checkpointDirPath = checkpointProperties.getCheckpointDirPath(); - if (LOGGER.isLoggable(Level.INFO)) { + if (LOGGER.isInfoEnabled()) { LOGGER.log(Level.INFO, "Checkpoint directory = " + checkpointDirPath); } if (!checkpointDirPath.endsWith(File.separator)) { @@ -74,7 +75,7 @@ public abstract class AbstractCheckpointManager implements ICheckpointManager { checkpointDir = new File(checkpointDirPath); // Create the checkpoint directory if missing if (!checkpointDir.exists()) { - if (LOGGER.isLoggable(Level.INFO)) { + if (LOGGER.isInfoEnabled()) { LOGGER.log(Level.INFO, "Checkpoint directory " + checkpointDirPath + " didn't exist. Creating one"); } checkpointDir.mkdirs(); @@ -91,38 +92,38 @@ public abstract class AbstractCheckpointManager implements ICheckpointManager { LOGGER.log(Level.INFO, "Getting latest checkpoint"); File[] checkpoints = checkpointDir.listFiles(filter); if (checkpoints == null || checkpoints.length == 0) { - if (LOGGER.isLoggable(Level.INFO)) { + if (LOGGER.isInfoEnabled()) { LOGGER.log(Level.INFO, "Listing of files in the checkpoint dir returned " + (checkpoints == null ? "null" : "empty")); } return null; } - if (LOGGER.isLoggable(Level.INFO)) { + if (LOGGER.isInfoEnabled()) { LOGGER.log(Level.INFO, "Listing of files in the checkpoint dir returned " + Arrays.toString(checkpoints)); } List<Checkpoint> checkpointObjectList = new ArrayList<>(); for (File file : checkpoints) { try { - if (LOGGER.isLoggable(Level.WARNING)) { - LOGGER.log(Level.WARNING, "Reading checkpoint file: " + file.getAbsolutePath()); + if (LOGGER.isWarnEnabled()) { + LOGGER.log(Level.WARN, "Reading checkpoint file: " + file.getAbsolutePath()); } String jsonString = new String(Files.readAllBytes(Paths.get(file.getAbsolutePath()))); checkpointObjectList.add(Checkpoint.fromJson(jsonString)); } catch (ClosedByInterruptException e) { Thread.currentThread().interrupt(); - if (LOGGER.isLoggable(Level.WARNING)) { - LOGGER.log(Level.WARNING, "Interrupted while reading checkpoint file: " + file.getAbsolutePath(), + if (LOGGER.isWarnEnabled()) { + LOGGER.log(Level.WARN, "Interrupted while reading checkpoint file: " + file.getAbsolutePath(), e); } throw new ACIDException(e); } catch (IOException e) { // ignore corrupted checkpoint file - if (LOGGER.isLoggable(Level.WARNING)) { - LOGGER.log(Level.WARNING, "Failed to read checkpoint file: " + file.getAbsolutePath(), e); + if (LOGGER.isWarnEnabled()) { + LOGGER.log(Level.WARN, "Failed to read checkpoint file: " + file.getAbsolutePath(), e); } file.delete(); - if (LOGGER.isLoggable(Level.WARNING)) { - LOGGER.log(Level.WARNING, "Deleted corrupted checkpoint file: " + file.getAbsolutePath()); + if (LOGGER.isWarnEnabled()) { + LOGGER.log(Level.WARN, "Deleted corrupted checkpoint file: " + file.getAbsolutePath()); } } } @@ -132,7 +133,7 @@ public abstract class AbstractCheckpointManager implements ICheckpointManager { * This shouldn't happen unless a hardware corruption happens. */ if (checkpointObjectList.isEmpty()) { - LOGGER.severe("All checkpoint files are corrupted. Forcing recovery from the beginning of the log"); + LOGGER.error("All checkpoint files are corrupted. Forcing recovery from the beginning of the log"); checkpointObjectList.add(forgeForceRecoveryCheckpoint()); } @@ -195,7 +196,7 @@ public abstract class AbstractCheckpointManager implements ICheckpointManager { // Get checkpoint file path Path path = getCheckpointPath(checkpoint.getTimeStamp()); - if (LOGGER.isLoggable(Level.INFO)) { + if (LOGGER.isInfoEnabled()) { File file = path.toFile(); LOGGER.log(Level.INFO, "Persisting checkpoint file to " + file + " which " + (file.exists() ? "already exists" : "doesn't exist yet")); @@ -205,10 +206,10 @@ public abstract class AbstractCheckpointManager implements ICheckpointManager { writer.write(checkpoint.asJson()); writer.flush(); } catch (IOException e) { - LOGGER.log(Level.SEVERE, "Failed to write checkpoint to disk", e); + LOGGER.log(Level.ERROR, "Failed to write checkpoint to disk", e); throw HyracksDataException.create(e); } - if (LOGGER.isLoggable(Level.INFO)) { + if (LOGGER.isInfoEnabled()) { File file = path.toFile(); LOGGER.log(Level.INFO, "Completed persisting checkpoint file to " + file + " which now " + (file.exists() ? "exists" : " still doesn't exist")); @@ -220,13 +221,11 @@ public abstract class AbstractCheckpointManager implements ICheckpointManager { // Sort the filenames lexicographically to keep the latest checkpoint history files. Arrays.sort(checkpointFiles); for (int i = 0; i < checkpointFiles.length - historyToKeep; i++) { - if (LOGGER.isLoggable(Level.WARNING)) { - LOGGER.warning("Deleting checkpoint file at: " + checkpointFiles[i].getAbsolutePath()); + if (LOGGER.isWarnEnabled()) { + LOGGER.warn("Deleting checkpoint file at: " + checkpointFiles[i].getAbsolutePath()); } - if (!checkpointFiles[i].delete()) { - if (LOGGER.isLoggable(Level.WARNING)) { - LOGGER.warning("Could not delete checkpoint file at: " + checkpointFiles[i].getAbsolutePath()); - } + if (!checkpointFiles[i].delete() && LOGGER.isWarnEnabled()) { + LOGGER.warn("Could not delete checkpoint file at: " + checkpointFiles[i].getAbsolutePath()); } } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/CheckpointManager.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/CheckpointManager.java b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/CheckpointManager.java index ea711a5..3cb91ff 100644 --- a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/CheckpointManager.java +++ b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/CheckpointManager.java @@ -18,13 +18,13 @@ */ package org.apache.asterix.transaction.management.service.recovery; -import java.util.logging.Logger; - import org.apache.asterix.common.api.IDatasetLifecycleManager; import org.apache.asterix.common.transactions.CheckpointProperties; import org.apache.asterix.common.transactions.ICheckpointManager; import org.apache.asterix.common.transactions.ITransactionSubsystem; import org.apache.hyracks.api.exceptions.HyracksDataException; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; /** * An implementation of {@link ICheckpointManager} that defines the logic @@ -32,7 +32,7 @@ import org.apache.hyracks.api.exceptions.HyracksDataException; */ public class CheckpointManager extends AbstractCheckpointManager { - private static final Logger LOGGER = Logger.getLogger(CheckpointManager.class.getName()); + private static final Logger LOGGER = LogManager.getLogger(); public CheckpointManager(ITransactionSubsystem txnSubsystem, CheckpointProperties checkpointProperties) { super(txnSubsystem, checkpointProperties); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/CheckpointThread.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/CheckpointThread.java b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/CheckpointThread.java index 5de76d3..1992057 100644 --- a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/CheckpointThread.java +++ b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/CheckpointThread.java @@ -18,12 +18,12 @@ */ package org.apache.asterix.transaction.management.service.recovery; -import java.util.logging.Level; -import java.util.logging.Logger; - import org.apache.asterix.common.transactions.ICheckpointManager; import org.apache.asterix.common.transactions.ILogManager; import org.apache.hyracks.api.exceptions.HyracksDataException; +import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; /** * A daemon thread that periodically attempts to perform checkpoints. @@ -32,7 +32,7 @@ import org.apache.hyracks.api.exceptions.HyracksDataException; */ public class CheckpointThread extends Thread { - private static final Logger LOGGER = Logger.getLogger(CheckpointThread.class.getName()); + private static final Logger LOGGER = LogManager.getLogger(); private long lsnThreshold; private long checkpointTermInSecs; @@ -71,7 +71,7 @@ public class CheckpointThread extends Thread { //last checkpoint LSN is considered as the min LSN of the current log partition lastCheckpointLSN = logManager.getReadableSmallestLSN(); } catch (Exception e) { - LOGGER.log(Level.WARNING, "Error getting smallest readable LSN", e); + LOGGER.log(Level.WARN, "Error getting smallest readable LSN", e); lastCheckpointLSN = 0; } } @@ -95,7 +95,7 @@ public class CheckpointThread extends Thread { lastCheckpointLSN = currentCheckpointAttemptMinLSN; } } catch (HyracksDataException e) { - LOGGER.log(Level.SEVERE, "Error during checkpoint", e); + LOGGER.log(Level.ERROR, "Error during checkpoint", e); } } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/ReplicationCheckpointManager.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/ReplicationCheckpointManager.java b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/ReplicationCheckpointManager.java index 9f5b83c..4bbcabe 100644 --- a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/ReplicationCheckpointManager.java +++ b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/recovery/ReplicationCheckpointManager.java @@ -21,7 +21,6 @@ package org.apache.asterix.transaction.management.service.recovery; import java.io.IOException; import java.util.HashSet; import java.util.Set; -import java.util.logging.Logger; import org.apache.asterix.common.api.IApplicationContext; import org.apache.asterix.common.api.IDatasetLifecycleManager; @@ -34,6 +33,8 @@ import org.apache.asterix.common.transactions.ICheckpointManager; import org.apache.asterix.common.transactions.ITransactionSubsystem; import org.apache.asterix.transaction.management.resource.PersistentLocalResourceRepository; import org.apache.hyracks.api.exceptions.HyracksDataException; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; /** * An implementation of {@link ICheckpointManager} that defines the logic @@ -41,7 +42,7 @@ import org.apache.hyracks.api.exceptions.HyracksDataException; */ public class ReplicationCheckpointManager extends AbstractCheckpointManager { - private static final Logger LOGGER = Logger.getLogger(ReplicationCheckpointManager.class.getName()); + private static final Logger LOGGER = LogManager.getLogger(); public ReplicationCheckpointManager(ITransactionSubsystem txnSubsystem, CheckpointProperties checkpointProperties) { super(txnSubsystem, checkpointProperties); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/transaction/TransactionManager.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/transaction/TransactionManager.java b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/transaction/TransactionManager.java index 6b414b8..76ecc63 100644 --- a/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/transaction/TransactionManager.java +++ b/asterixdb/asterix-transactions/src/main/java/org/apache/asterix/transaction/management/service/transaction/TransactionManager.java @@ -24,8 +24,6 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicLong; -import java.util.logging.Level; -import java.util.logging.Logger; import org.apache.asterix.common.exceptions.ACIDException; import org.apache.asterix.common.transactions.ITransactionContext; @@ -37,11 +35,14 @@ import org.apache.asterix.common.transactions.TxnId; import org.apache.asterix.common.utils.TransactionUtil; import org.apache.hyracks.api.lifecycle.ILifeCycleComponent; import org.apache.hyracks.util.annotations.ThreadSafe; +import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; @ThreadSafe public class TransactionManager implements ITransactionManager, ILifeCycleComponent { - private static final Logger LOGGER = Logger.getLogger(TransactionManager.class.getName()); + private static final Logger LOGGER = LogManager.getLogger(); private final ITransactionSubsystem txnSubsystem; private final Map<TxnId, ITransactionContext> txnCtxRepository = new ConcurrentHashMap<>(); private final AtomicLong maxTxnId = new AtomicLong(0); @@ -83,8 +84,8 @@ public class TransactionManager implements ITransactionManager, ILifeCycleCompon txnCtx.setTxnState(ITransactionManager.COMMITTED); } } catch (Exception e) { - if (LOGGER.isLoggable(Level.SEVERE)) { - LOGGER.severe(" caused exception in commit !" + txnCtx.getTxnId()); + if (LOGGER.isErrorEnabled()) { + LOGGER.error(" caused exception in commit !" + txnCtx.getTxnId()); } throw e; } finally { @@ -107,8 +108,8 @@ public class TransactionManager implements ITransactionManager, ILifeCycleCompon } } catch (ACIDException e) { String msg = "Could not complete rollback! System is in an inconsistent state"; - if (LOGGER.isLoggable(Level.SEVERE)) { - LOGGER.log(Level.SEVERE, msg, e); + if (LOGGER.isErrorEnabled()) { + LOGGER.log(Level.ERROR, msg, e); } throw new ACIDException(msg, e); } finally { @@ -172,7 +173,7 @@ public class TransactionManager implements ITransactionManager, ILifeCycleCompon sb.append("\n>>dump_end\t>>----- [ConfVars] -----\n"); os.write(sb.toString().getBytes()); } catch (IOException e) { - LOGGER.log(Level.WARNING, "exception while dumping state", e); + LOGGER.log(Level.WARN, "exception while dumping state", e); } } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/asterixdb/asterix-transactions/src/test/java/org/apache/asterix/transaction/management/service/locking/LockManagerUnitTest.java ---------------------------------------------------------------------- diff --git a/asterixdb/asterix-transactions/src/test/java/org/apache/asterix/transaction/management/service/locking/LockManagerUnitTest.java b/asterixdb/asterix-transactions/src/test/java/org/apache/asterix/transaction/management/service/locking/LockManagerUnitTest.java index 64ac3cb..817e0f0 100644 --- a/asterixdb/asterix-transactions/src/test/java/org/apache/asterix/transaction/management/service/locking/LockManagerUnitTest.java +++ b/asterixdb/asterix-transactions/src/test/java/org/apache/asterix/transaction/management/service/locking/LockManagerUnitTest.java @@ -30,8 +30,6 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.atomic.AtomicInteger; -import java.util.logging.ConsoleHandler; -import java.util.logging.Logger; import org.apache.asterix.common.transactions.DatasetId; import org.apache.asterix.common.transactions.ILockManager; @@ -53,10 +51,6 @@ public class LockManagerUnitTest { static long COORDINATOR_SLEEP = 20; static int TIMEOUT_MS = 100; - static { - Logger.getLogger(ConcurrentLockManager.class.getName()).addHandler(new ConsoleHandler()); - } - Map<Integer, ITransactionContext> jobId2TxnCtxMap; ILockManager lockMgr; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/asterixdb/pom.xml ---------------------------------------------------------------------- diff --git a/asterixdb/pom.xml b/asterixdb/pom.xml index 234a766..0308d22 100644 --- a/asterixdb/pom.xml +++ b/asterixdb/pom.xml @@ -94,6 +94,7 @@ -enableassertions -Xmx${test.heap.size}m -Dfile.encoding=UTF-8 -Djava.util.logging.config.file=${user.home}/logging.properties + -Dlog4j.configurationFile=${basedir}/../asterix-app/src/test/resources/log4j2-test.xml -DrunSlowAQLTests=${runSlowAQLTests} -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=${debug.suspend.flag} http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/hyracks-fullstack/algebricks/algebricks-compiler/pom.xml ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/algebricks/algebricks-compiler/pom.xml b/hyracks-fullstack/algebricks/algebricks-compiler/pom.xml index 04f57cc..706e2ce 100644 --- a/hyracks-fullstack/algebricks/algebricks-compiler/pom.xml +++ b/hyracks-fullstack/algebricks/algebricks-compiler/pom.xml @@ -90,10 +90,14 @@ <version>1.6.6</version> <scope>test</scope> </dependency> - <dependency> + <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> - </dependency> + </dependency> + <dependency> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-api</artifactId> + </dependency> </dependencies> </project> http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/hyracks-fullstack/algebricks/algebricks-compiler/src/main/java/org/apache/hyracks/algebricks/compiler/api/HeuristicCompilerFactoryBuilder.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/algebricks/algebricks-compiler/src/main/java/org/apache/hyracks/algebricks/compiler/api/HeuristicCompilerFactoryBuilder.java b/hyracks-fullstack/algebricks/algebricks-compiler/src/main/java/org/apache/hyracks/algebricks/compiler/api/HeuristicCompilerFactoryBuilder.java index 311aa43..79b8f38 100644 --- a/hyracks-fullstack/algebricks/algebricks-compiler/src/main/java/org/apache/hyracks/algebricks/compiler/api/HeuristicCompilerFactoryBuilder.java +++ b/hyracks-fullstack/algebricks/algebricks-compiler/src/main/java/org/apache/hyracks/algebricks/compiler/api/HeuristicCompilerFactoryBuilder.java @@ -93,7 +93,7 @@ public class HeuristicCompilerFactoryBuilder extends AbstractCompilerFactoryBuil @Override public JobSpecification createJob(Object appContext, IJobletEventListenerFactory jobEventListenerFactory) throws AlgebricksException { - AlgebricksConfig.ALGEBRICKS_LOGGER.fine("Starting Job Generation.\n"); + AlgebricksConfig.ALGEBRICKS_LOGGER.debug("Starting Job Generation.\n"); JobGenContext context = new JobGenContext(null, metadata, appContext, serializerDeserializerProvider, hashFunctionFactoryProvider, hashFunctionFamilyProvider, comparatorFactoryProvider, typeTraitProvider, binaryBooleanInspectorFactory, http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/hyracks-fullstack/algebricks/algebricks-core/pom.xml ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/algebricks/algebricks-core/pom.xml b/hyracks-fullstack/algebricks/algebricks-core/pom.xml index dd135c6..b8666c4 100644 --- a/hyracks-fullstack/algebricks/algebricks-core/pom.xml +++ b/hyracks-fullstack/algebricks/algebricks-core/pom.xml @@ -81,5 +81,9 @@ <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency> + <dependency> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-api</artifactId> + </dependency> </dependencies> </project> http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/IntersectOperator.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/IntersectOperator.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/IntersectOperator.java index 114fde0..0595ff8 100644 --- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/IntersectOperator.java +++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/IntersectOperator.java @@ -155,7 +155,7 @@ public class IntersectOperator extends AbstractLogicalOperator { Object expectedType = expected.getVarType(expectedVariables.get(i)); Object actualType = actual.getVarType(actualVariables.get(i)); if (!expectedType.equals(actualType)) { - AlgebricksConfig.ALGEBRICKS_LOGGER.warning( + AlgebricksConfig.ALGEBRICKS_LOGGER.warn( "Type of two variables are not equal." + expectedVariables.get(i) + " is of type: " + expectedType + actualVariables.get(i) + " is of type: " + actualType); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java index f800be8..39d522f 100644 --- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java +++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java @@ -315,7 +315,7 @@ public class FDsAndEquivClassesVisitor implements ILogicalOperatorVisitor<Void, } if (changed) { AlgebricksConfig.ALGEBRICKS_LOGGER - .fine(">>>> Group-by list changed from " + GroupByOperator.veListToString(gByList) + " to " + .debug(">>>> Group-by list changed from " + GroupByOperator.veListToString(gByList) + " to " + GroupByOperator.veListToString(newGbyList) + ".\n"); } gByList.clear(); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java index bdabbca..5d9e2dc 100644 --- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java +++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java @@ -81,7 +81,7 @@ public class LogicalPropertiesVisitor implements ILogicalOperatorVisitor<Void, I } op.accept(visitor, context); if (AlgebricksConfig.DEBUG) { - AlgebricksConfig.ALGEBRICKS_LOGGER.finest( + AlgebricksConfig.ALGEBRICKS_LOGGER.trace( "Logical properties visitor for " + op + ": " + context.getLogicalPropertiesVector(op) + "\n"); } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/HybridHashJoinPOperator.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/HybridHashJoinPOperator.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/HybridHashJoinPOperator.java index ee0bec7..83591ee 100644 --- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/HybridHashJoinPOperator.java +++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/HybridHashJoinPOperator.java @@ -21,7 +21,6 @@ package org.apache.hyracks.algebricks.core.algebra.operators.physical; import java.util.ArrayList; import java.util.List; import java.util.Set; -import java.util.logging.Logger; import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; import org.apache.hyracks.algebricks.common.exceptions.NotImplementedException; @@ -58,6 +57,8 @@ import org.apache.hyracks.api.exceptions.HyracksDataException; import org.apache.hyracks.api.job.IOperatorDescriptorRegistry; import org.apache.hyracks.dataflow.std.join.HybridHashJoinOperatorDescriptor; import org.apache.hyracks.dataflow.std.join.OptimizedHybridHashJoinOperatorDescriptor; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; public class HybridHashJoinPOperator extends AbstractHashJoinPOperator { @@ -67,7 +68,7 @@ public class HybridHashJoinPOperator extends AbstractHashJoinPOperator { private final int aveRecordsPerFrame; private final double fudgeFactor; - private static final Logger LOGGER = Logger.getLogger(HybridHashJoinPOperator.class.getName()); + private static final Logger LOGGER = LogManager.getLogger(); public HybridHashJoinPOperator(JoinKind kind, JoinPartitioningType partitioningType, List<LogicalVariable> sideLeftOfEqualities, List<LogicalVariable> sideRightOfEqualities, @@ -78,7 +79,7 @@ public class HybridHashJoinPOperator extends AbstractHashJoinPOperator { this.aveRecordsPerFrame = aveRecordsPerFrame; this.fudgeFactor = fudgeFactor; - LOGGER.fine("HybridHashJoinPOperator constructed with: JoinKind=" + kind + ", JoinPartitioningType=" + LOGGER.debug("HybridHashJoinPOperator constructed with: JoinKind=" + kind + ", JoinPartitioningType=" + partitioningType + ", List<LogicalVariable>=" + sideLeftOfEqualities + ", List<LogicalVariable>=" + sideRightOfEqualities + ", int memSizeInFrames=" + memSizeInFrames + ", int maxInputSize0InFrames=" + maxInputSizeInFrames + ", int aveRecordsPerFrame=" + aveRecordsPerFrame + ", double fudgeFactor=" http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/config/AlgebricksConfig.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/config/AlgebricksConfig.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/config/AlgebricksConfig.java index 7df8cc4..c63e8a1 100644 --- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/config/AlgebricksConfig.java +++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/config/AlgebricksConfig.java @@ -18,10 +18,11 @@ */ package org.apache.hyracks.algebricks.core.config; -import java.util.logging.Logger; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; public class AlgebricksConfig { public static final boolean DEBUG = true; public static final String ALGEBRICKS_LOGGER_NAME = "org.apache.hyracks.algebricks"; - public static final Logger ALGEBRICKS_LOGGER = Logger.getLogger(ALGEBRICKS_LOGGER_NAME); + public static final Logger ALGEBRICKS_LOGGER = LogManager.getLogger(ALGEBRICKS_LOGGER_NAME); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/jobgen/impl/JobGenHelper.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/jobgen/impl/JobGenHelper.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/jobgen/impl/JobGenHelper.java index 2c2708b..947bac1 100644 --- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/jobgen/impl/JobGenHelper.java +++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/jobgen/impl/JobGenHelper.java @@ -20,7 +20,6 @@ package org.apache.hyracks.algebricks.core.jobgen.impl; import java.util.Collection; import java.util.List; -import java.util.logging.Logger; import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; import org.apache.hyracks.algebricks.core.algebra.base.LogicalVariable; @@ -42,10 +41,12 @@ import org.apache.hyracks.api.dataflow.value.ISerializerDeserializer; import org.apache.hyracks.api.dataflow.value.ITypeTraits; import org.apache.hyracks.api.dataflow.value.RecordDescriptor; import org.apache.hyracks.api.exceptions.HyracksDataException; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; public final class JobGenHelper { - private static final Logger LOGGER = Logger.getLogger(JobGenHelper.class.getName()); + private static final Logger LOGGER = LogManager.getLogger(); @SuppressWarnings("rawtypes") public static RecordDescriptor mkRecordDescriptor(IVariableTypeEnvironment env, IOperatorSchema opSchema, @@ -58,7 +59,7 @@ public final class JobGenHelper { for (LogicalVariable var : opSchema) { Object t = env.getVarType(var); if (t == null) { - LOGGER.warning("No type for variable " + var); + LOGGER.warn("No type for variable " + var); } fields[i] = sdp.getSerializerDeserializer(t); typeTraits[i] = ttp.getTypeTrait(t); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/AbstractRuleController.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/AbstractRuleController.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/AbstractRuleController.java index cfb3db1..cad62c4 100644 --- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/AbstractRuleController.java +++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/AbstractRuleController.java @@ -66,7 +66,7 @@ public abstract class AbstractRuleController { } private String getPlanString(Mutable<ILogicalOperator> opRef) throws AlgebricksException { - if (AlgebricksConfig.ALGEBRICKS_LOGGER.isLoggable(Level.FINE) && context != null) { + if (AlgebricksConfig.ALGEBRICKS_LOGGER.isDebugEnabled() && context != null) { LogicalOperatorPrettyPrintVisitor pvisitor = context.getPrettyPrintVisitor(); pvisitor.reset(new AlgebricksAppendable()); PlanPrettyPrinter.printOperator((AbstractLogicalOperator) opRef.getValue(), pvisitor, 0); @@ -77,10 +77,10 @@ public abstract class AbstractRuleController { private void printRuleApplication(IAlgebraicRewriteRule rule, String beforePlan, String afterPlan) throws AlgebricksException { - if (AlgebricksConfig.ALGEBRICKS_LOGGER.isLoggable(Level.FINE)) { - AlgebricksConfig.ALGEBRICKS_LOGGER.fine(">>>> Rule " + rule.getClass() + " fired.\n"); - AlgebricksConfig.ALGEBRICKS_LOGGER.fine(">>>> Before plan\n" + beforePlan + "\n"); - AlgebricksConfig.ALGEBRICKS_LOGGER.fine(">>>> After plan\n" + afterPlan + "\n"); + if (AlgebricksConfig.ALGEBRICKS_LOGGER.isDebugEnabled()) { + AlgebricksConfig.ALGEBRICKS_LOGGER.debug(">>>> Rule " + rule.getClass() + " fired.\n"); + AlgebricksConfig.ALGEBRICKS_LOGGER.debug(">>>> Before plan\n" + beforePlan + "\n"); + AlgebricksConfig.ALGEBRICKS_LOGGER.debug(">>>> After plan\n" + afterPlan + "\n"); } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/HeuristicOptimizer.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/HeuristicOptimizer.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/HeuristicOptimizer.java index f1fdec6..0a4b298 100644 --- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/HeuristicOptimizer.java +++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/HeuristicOptimizer.java @@ -19,7 +19,6 @@ package org.apache.hyracks.algebricks.core.rewriter.base; import java.util.List; -import java.util.logging.Level; import org.apache.commons.lang3.mutable.Mutable; import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException; @@ -34,6 +33,7 @@ import org.apache.hyracks.algebricks.core.algebra.prettyprint.AlgebricksAppendab import org.apache.hyracks.algebricks.core.algebra.prettyprint.LogicalOperatorPrettyPrintVisitor; import org.apache.hyracks.algebricks.core.algebra.prettyprint.PlanPrettyPrinter; import org.apache.hyracks.algebricks.core.config.AlgebricksConfig; +import org.apache.logging.log4j.Level; public class HeuristicOptimizer { @@ -75,18 +75,18 @@ public class HeuristicOptimizer { return; } if (AlgebricksConfig.DEBUG) { - AlgebricksConfig.ALGEBRICKS_LOGGER.fine("Starting logical optimizations.\n"); + AlgebricksConfig.ALGEBRICKS_LOGGER.debug("Starting logical optimizations.\n"); } - logPlanAt("Logical Plan", Level.FINE); + logPlanAt("Logical Plan", Level.DEBUG); runOptimizationSets(plan, logicalRewrites); computeSchemaBottomUpForPlan(plan); runPhysicalOptimizations(plan, physicalRewrites); - logPlanAt("Optimized Plan", Level.FINE); + logPlanAt("Optimized Plan", Level.DEBUG); } private void logPlanAt(String name, Level lvl) throws AlgebricksException { - if (AlgebricksConfig.ALGEBRICKS_LOGGER.isLoggable(lvl)) { + if (AlgebricksConfig.ALGEBRICKS_LOGGER.isEnabled(lvl)) { final LogicalOperatorPrettyPrintVisitor pvisitor = context.getPrettyPrintVisitor(); pvisitor.reset(new AlgebricksAppendable()); PlanPrettyPrinter.printPlan(plan, pvisitor, 0); @@ -127,7 +127,7 @@ public class HeuristicOptimizer { List<Pair<AbstractRuleController, List<IAlgebraicRewriteRule>>> physicalRewrites) throws AlgebricksException { if (AlgebricksConfig.DEBUG) { - AlgebricksConfig.ALGEBRICKS_LOGGER.fine("Starting physical optimizations.\n"); + AlgebricksConfig.ALGEBRICKS_LOGGER.debug("Starting physical optimizations.\n"); } // PhysicalOptimizationsUtil.computeFDsAndEquivalenceClasses(plan); runOptimizationSets(plan, physicalRewrites); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/hyracks-fullstack/algebricks/algebricks-rewriter/pom.xml ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/algebricks/algebricks-rewriter/pom.xml b/hyracks-fullstack/algebricks/algebricks-rewriter/pom.xml index 192dfe1..b9653af 100644 --- a/hyracks-fullstack/algebricks/algebricks-rewriter/pom.xml +++ b/hyracks-fullstack/algebricks/algebricks-rewriter/pom.xml @@ -56,5 +56,9 @@ <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency> + <dependency> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-api</artifactId> + </dependency> </dependencies> </project> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/asterixdb/blob/af4018dd/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java b/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java index a1730ac..6763e2b 100644 --- a/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java +++ b/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java @@ -123,7 +123,7 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { // somewhere else, too. physicalOptimizationConfig = context.getPhysicalOptimizationConfig(); - AlgebricksConfig.ALGEBRICKS_LOGGER.fine(">>>> Optimizing operator " + op.getPhysicalOperator() + ".\n"); + AlgebricksConfig.ALGEBRICKS_LOGGER.debug(">>>> Optimizing operator " + op.getPhysicalOperator() + ".\n"); PhysicalOptimizationsUtil.computeFDsAndEquivalenceClasses(op, context); @@ -132,7 +132,7 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { new LinkedList<ILocalStructuralProperty>()); boolean changed = physOptimizeOp(opRef, pvector, false, context); op.computeDeliveredPhysicalProperties(context); - AlgebricksConfig.ALGEBRICKS_LOGGER.finest(">>>> Structural properties for " + op.getPhysicalOperator() + ": " + AlgebricksConfig.ALGEBRICKS_LOGGER.trace(">>>> Structural properties for " + op.getPhysicalOperator() + ": " + op.getDeliveredPhysicalProperties() + "\n"); context.addToDontApplySet(this, opRef.getValue()); @@ -149,7 +149,7 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { } AbstractLogicalOperator op = (AbstractLogicalOperator) root.getValue(); op.computeDeliveredPhysicalProperties(context); - AlgebricksConfig.ALGEBRICKS_LOGGER.finest(">>>> Structural properties for " + op.getPhysicalOperator() + AlgebricksConfig.ALGEBRICKS_LOGGER.trace(">>>> Structural properties for " + op.getPhysicalOperator() + ": " + op.getDeliveredPhysicalProperties() + "\n"); } return changed; @@ -250,7 +250,7 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { IPhysicalPropertiesVector delivered = child.getDeliveredPhysicalProperties(); AlgebricksConfig.ALGEBRICKS_LOGGER - .finest(">>>> Properties delivered by " + child.getPhysicalOperator() + ": " + delivered + "\n"); + .trace(">>>> Properties delivered by " + child.getPhysicalOperator() + ": " + delivered + "\n"); IPartitioningRequirementsCoordinator prc = pr.getPartitioningCoordinator(); // Coordinates requirements by looking at the firstDeliveredPartitioning. Pair<Boolean, IPartitioningProperty> pbpp = prc.coordinateRequirements( @@ -260,7 +260,7 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { new StructuralPropertiesVector(pbpp.second, requiredProperty.getLocalProperties()); AlgebricksConfig.ALGEBRICKS_LOGGER - .finest(">>>> Required properties for " + child.getPhysicalOperator() + ": " + rqd + "\n"); + .trace(">>>> Required properties for " + child.getPhysicalOperator() + ": " + rqd + "\n"); // The partitioning property of reqdProperties[childIndex] could be updated here because // rqd.getPartitioningProperty() is the same object instance as requiredProperty.getPartitioningProperty(). IPhysicalPropertiesVector diff = delivered.getUnsatisfiedPropertiesFrom(rqd, @@ -280,7 +280,7 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { delivered = newChild.getDeliveredPhysicalProperties(); IPhysicalPropertiesVector newDiff = newPropertiesDiff(newChild, rqd, mayExpandPartitioningProperties, context); - AlgebricksConfig.ALGEBRICKS_LOGGER.finest(">>>> New properties diff: " + newDiff + "\n"); + AlgebricksConfig.ALGEBRICKS_LOGGER.trace(">>>> New properties diff: " + newDiff + "\n"); if (isRedundantSort(opRef, delivered, newDiff, context)) { opIsRedundantSort = true; @@ -306,7 +306,7 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { if (opIsRedundantSort) { if (AlgebricksConfig.DEBUG) { AlgebricksConfig.ALGEBRICKS_LOGGER - .fine(">>>> Removing redundant SORT operator " + op.getPhysicalOperator() + "\n"); + .trace(">>>> Removing redundant SORT operator " + op.getPhysicalOperator() + "\n"); printOp(op); } changed = true; @@ -340,7 +340,7 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { newChildEqClasses = context.getEquivalenceClassMap(newChild); newChildFDs = context.getFDList(newChild); } - AlgebricksConfig.ALGEBRICKS_LOGGER.finest( + AlgebricksConfig.ALGEBRICKS_LOGGER.trace( ">>>> Required properties for new op. " + newChild.getPhysicalOperator() + ": " + required + "\n"); return newDelivered.getUnsatisfiedPropertiesFrom(required, mayExpandPartitioningProperties, newChildEqClasses, @@ -446,7 +446,7 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { } AbstractLogicalOperator newChild = (AbstractLogicalOperator) op.getInputs().get(childIndex).getValue(); IPhysicalPropertiesVector newDiff = newPropertiesDiff(newChild, required, true, context); - AlgebricksConfig.ALGEBRICKS_LOGGER.finest(">>>> New properties diff: " + newDiff + "\n"); + AlgebricksConfig.ALGEBRICKS_LOGGER.trace(">>>> New properties diff: " + newDiff + "\n"); if (newDiff != null) { addLocalEnforcers(op, childIndex, newDiff.getLocalProperties(), nestedPlan, context); } @@ -457,7 +457,7 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { boolean nestedPlan, IOptimizationContext context) throws AlgebricksException { if (AlgebricksConfig.DEBUG) { AlgebricksConfig.ALGEBRICKS_LOGGER - .fine(">>>> Adding local enforcers for local props = " + localProperties + "\n"); + .trace(">>>> Adding local enforcers for local props = " + localProperties + "\n"); } if (localProperties == null || localProperties.isEmpty()) { @@ -524,7 +524,7 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { oo.getInputs().add(topOp); context.computeAndSetTypeEnvironmentForOperator(oo); if (AlgebricksConfig.DEBUG) { - AlgebricksConfig.ALGEBRICKS_LOGGER.fine(">>>> Added sort enforcer " + oo.getPhysicalOperator() + ".\n"); + AlgebricksConfig.ALGEBRICKS_LOGGER.trace(">>>> Added sort enforcer " + oo.getPhysicalOperator() + ".\n"); } return new MutableObject<ILogicalOperator>(oo); } @@ -608,7 +608,7 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { context.computeAndSetTypeEnvironmentForOperator(exchg); if (AlgebricksConfig.DEBUG) { AlgebricksConfig.ALGEBRICKS_LOGGER - .fine(">>>> Added partitioning enforcer " + exchg.getPhysicalOperator() + ".\n"); + .debug(">>>> Added partitioning enforcer " + exchg.getPhysicalOperator() + ".\n"); printOp((AbstractLogicalOperator) op); } } @@ -626,7 +626,7 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { private void printOp(AbstractLogicalOperator op) throws AlgebricksException { LogicalOperatorPrettyPrintVisitor pvisitor = new LogicalOperatorPrettyPrintVisitor(); PlanPrettyPrinter.printOperator(op, pvisitor, 0); - AlgebricksConfig.ALGEBRICKS_LOGGER.fine(pvisitor.get().toString()); + AlgebricksConfig.ALGEBRICKS_LOGGER.debug(pvisitor.get().toString()); } private List<OrderColumn> computeOrderColumns(IPhysicalPropertiesVector pv) { @@ -655,7 +655,7 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { newOp.recomputeSchema(); newOp.computeDeliveredPhysicalProperties(context); context.computeAndSetTypeEnvironmentForOperator(newOp); - AlgebricksConfig.ALGEBRICKS_LOGGER.finest(">>>> Structural properties for " + newOp.getPhysicalOperator() + ": " + AlgebricksConfig.ALGEBRICKS_LOGGER.trace(">>>> Structural properties for " + newOp.getPhysicalOperator() + ": " + newOp.getDeliveredPhysicalProperties() + "\n"); PhysicalOptimizationsUtil.computeFDsAndEquivalenceClasses(newOp, context);