[NO ISSUE][COMP] Check logging level before writing a log message - user model changes: no - storage format changes: no - interface changes: no
Details: - Cleanup: Check logging level before writing to the logger Change-Id: Ib126397c390f0d32436a80a306981106afa2a794 Reviewed-on: https://asterix-gerrit.ics.uci.edu/2543 Tested-by: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Contrib: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Integration-Tests: Jenkins <jenk...@fulliautomatix.ics.uci.edu> Reviewed-by: Michael Blow <mb...@apache.org> Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/8e4b57bf Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/8e4b57bf Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/8e4b57bf Branch: refs/heads/release-0.9.4-pre-rc Commit: 8e4b57bf05779c700fe582b16692bd59939d0205 Parents: 6ee05df Author: Dmitry Lychagin <dmitry.lycha...@couchbase.com> Authored: Wed Mar 28 15:46:30 2018 -0700 Committer: Dmitry Lychagin <dmitry.lycha...@couchbase.com> Committed: Thu Mar 29 12:57:57 2018 -0700 ---------------------------------------------------------------------- .../operators/logical/IntersectOperator.java | 8 ++- .../visitors/FDsAndEquivClassesVisitor.java | 8 ++- .../visitors/LogicalPropertiesVisitor.java | 2 +- .../core/rewriter/base/HeuristicOptimizer.java | 2 +- .../rules/EnforceStructuralPropertiesRule.java | 63 +++++++++++++------- .../subplan/IntroduceGroupByForSubplanRule.java | 4 +- .../algebricks/rewriter/util/JoinUtils.java | 13 ++-- .../util/AlgebricksHyracksIntegrationUtil.java | 10 +++- 8 files changed, 74 insertions(+), 36 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/asterixdb/blob/8e4b57bf/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 8a06ec4..c2e4541 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,9 +155,11 @@ 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 - .warn("Type of two variables are not equal." + expectedVariables.get(i) + " is of type: " - + expectedType + actualVariables.get(i) + " is of type: " + actualType); + if (AlgebricksConfig.ALGEBRICKS_LOGGER.isWarnEnabled()) { + 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/8e4b57bf/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 39d522f..2d5780d 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 @@ -314,9 +314,11 @@ public class FDsAndEquivClassesVisitor implements ILogicalOperatorVisitor<Void, } } if (changed) { - AlgebricksConfig.ALGEBRICKS_LOGGER - .debug(">>>> Group-by list changed from " + GroupByOperator.veListToString(gByList) + " to " - + GroupByOperator.veListToString(newGbyList) + ".\n"); + if (AlgebricksConfig.ALGEBRICKS_LOGGER.isDebugEnabled()) { + AlgebricksConfig.ALGEBRICKS_LOGGER + .debug(">>>> Group-by list changed from " + GroupByOperator.veListToString(gByList) + " to " + + GroupByOperator.veListToString(newGbyList) + ".\n"); + } } gByList.clear(); gByList.addAll(newGbyList); http://git-wip-us.apache.org/repos/asf/asterixdb/blob/8e4b57bf/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 5d9e2dc..ae93386 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 @@ -80,7 +80,7 @@ public class LogicalPropertiesVisitor implements ILogicalOperatorVisitor<Void, I computeLogicalPropertiesRec(ref.getValue(), visitor, context); } op.accept(visitor, context); - if (AlgebricksConfig.DEBUG) { + if (AlgebricksConfig.DEBUG && AlgebricksConfig.ALGEBRICKS_LOGGER.isTraceEnabled()) { AlgebricksConfig.ALGEBRICKS_LOGGER.trace( "Logical properties visitor for " + op + ": " + context.getLogicalPropertiesVector(op) + "\n"); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/8e4b57bf/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 4388032..9119d6c 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 @@ -90,7 +90,7 @@ public class HeuristicOptimizer { final LogicalOperatorPrettyPrintVisitor pvisitor = context.getPrettyPrintVisitor(); pvisitor.reset(new AlgebricksAppendable()); PlanPrettyPrinter.printPlan(plan, pvisitor, 0); - AlgebricksConfig.ALGEBRICKS_LOGGER.info(name + ":\n" + pvisitor.get().toString()); + AlgebricksConfig.ALGEBRICKS_LOGGER.log(lvl, name + ":\n" + pvisitor.get().toString()); } } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/8e4b57bf/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 da0466e..e8b446b 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,9 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { // somewhere else, too. physicalOptimizationConfig = context.getPhysicalOptimizationConfig(); - AlgebricksConfig.ALGEBRICKS_LOGGER.debug(">>>> Optimizing operator " + op.getPhysicalOperator() + ".\n"); + if (AlgebricksConfig.ALGEBRICKS_LOGGER.isDebugEnabled()) { + AlgebricksConfig.ALGEBRICKS_LOGGER.debug(">>>> Optimizing operator " + op.getPhysicalOperator() + ".\n"); + } PhysicalOptimizationsUtil.computeFDsAndEquivalenceClasses(op, context); @@ -132,8 +134,10 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { new LinkedList<ILocalStructuralProperty>()); boolean changed = physOptimizeOp(opRef, pvector, false, context); op.computeDeliveredPhysicalProperties(context); - AlgebricksConfig.ALGEBRICKS_LOGGER.trace(">>>> Structural properties for " + op.getPhysicalOperator() + ": " - + op.getDeliveredPhysicalProperties() + "\n"); + if (AlgebricksConfig.ALGEBRICKS_LOGGER.isTraceEnabled()) { + AlgebricksConfig.ALGEBRICKS_LOGGER.trace(">>>> Structural properties for " + op.getPhysicalOperator() + ": " + + op.getDeliveredPhysicalProperties() + "\n"); + } context.addToDontApplySet(this, opRef.getValue()); @@ -142,6 +146,7 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { private boolean physOptimizePlan(ILogicalPlan plan, IPhysicalPropertiesVector pvector, boolean nestedPlan, IOptimizationContext context) throws AlgebricksException { + boolean loggerTraceEnabled = AlgebricksConfig.ALGEBRICKS_LOGGER.isTraceEnabled(); boolean changed = false; for (Mutable<ILogicalOperator> root : plan.getRoots()) { if (physOptimizeOp(root, pvector, nestedPlan, context)) { @@ -149,8 +154,10 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { } AbstractLogicalOperator op = (AbstractLogicalOperator) root.getValue(); op.computeDeliveredPhysicalProperties(context); - AlgebricksConfig.ALGEBRICKS_LOGGER.trace(">>>> Structural properties for " + op.getPhysicalOperator() + ": " - + op.getDeliveredPhysicalProperties() + "\n"); + if (loggerTraceEnabled) { + AlgebricksConfig.ALGEBRICKS_LOGGER.trace(">>>> Structural properties for " + op.getPhysicalOperator() + + ": " + op.getDeliveredPhysicalProperties() + "\n"); + } } return changed; } @@ -238,6 +245,8 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { } } + boolean loggerTraceEnabled = AlgebricksConfig.ALGEBRICKS_LOGGER.isTraceEnabled(); + // The child index of the child operator to optimize first. int startChildIndex = getStartChildIndex(op, pr, nestedPlan, context); IPartitioningProperty firstDeliveredPartitioning = null; @@ -249,8 +258,10 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { AbstractLogicalOperator child = (AbstractLogicalOperator) op.getInputs().get(childIndex).getValue(); IPhysicalPropertiesVector delivered = child.getDeliveredPhysicalProperties(); - AlgebricksConfig.ALGEBRICKS_LOGGER - .trace(">>>> Properties delivered by " + child.getPhysicalOperator() + ": " + delivered + "\n"); + if (loggerTraceEnabled) { + AlgebricksConfig.ALGEBRICKS_LOGGER + .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( @@ -259,8 +270,10 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { IPhysicalPropertiesVector rqd = new StructuralPropertiesVector(pbpp.second, requiredProperty.getLocalProperties()); - AlgebricksConfig.ALGEBRICKS_LOGGER - .trace(">>>> Required properties for " + child.getPhysicalOperator() + ": " + rqd + "\n"); + if (loggerTraceEnabled) { + AlgebricksConfig.ALGEBRICKS_LOGGER + .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 +293,9 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { delivered = newChild.getDeliveredPhysicalProperties(); IPhysicalPropertiesVector newDiff = newPropertiesDiff(newChild, rqd, mayExpandPartitioningProperties, context); - AlgebricksConfig.ALGEBRICKS_LOGGER.trace(">>>> New properties diff: " + newDiff + "\n"); + if (loggerTraceEnabled) { + AlgebricksConfig.ALGEBRICKS_LOGGER.trace(">>>> New properties diff: " + newDiff + "\n"); + } if (isRedundantSort(opRef, delivered, newDiff, context)) { opIsRedundantSort = true; @@ -304,7 +319,7 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { } if (opIsRedundantSort) { - if (AlgebricksConfig.DEBUG) { + if (AlgebricksConfig.DEBUG && loggerTraceEnabled) { AlgebricksConfig.ALGEBRICKS_LOGGER .trace(">>>> Removing redundant SORT operator " + op.getPhysicalOperator() + "\n"); printOp(op); @@ -340,8 +355,10 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { newChildEqClasses = context.getEquivalenceClassMap(newChild); newChildFDs = context.getFDList(newChild); } - AlgebricksConfig.ALGEBRICKS_LOGGER.trace( - ">>>> Required properties for new op. " + newChild.getPhysicalOperator() + ": " + required + "\n"); + if (AlgebricksConfig.ALGEBRICKS_LOGGER.isTraceEnabled()) { + AlgebricksConfig.ALGEBRICKS_LOGGER.trace( + ">>>> Required properties for new op. " + newChild.getPhysicalOperator() + ": " + required + "\n"); + } return newDelivered.getUnsatisfiedPropertiesFrom(required, mayExpandPartitioningProperties, newChildEqClasses, newChildFDs); @@ -446,7 +463,9 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { } AbstractLogicalOperator newChild = (AbstractLogicalOperator) op.getInputs().get(childIndex).getValue(); IPhysicalPropertiesVector newDiff = newPropertiesDiff(newChild, required, true, context); - AlgebricksConfig.ALGEBRICKS_LOGGER.trace(">>>> New properties diff: " + newDiff + "\n"); + if (AlgebricksConfig.ALGEBRICKS_LOGGER.isTraceEnabled()) { + AlgebricksConfig.ALGEBRICKS_LOGGER.trace(">>>> New properties diff: " + newDiff + "\n"); + } if (newDiff != null) { addLocalEnforcers(op, childIndex, newDiff.getLocalProperties(), nestedPlan, context); } @@ -455,7 +474,7 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { private void addLocalEnforcers(AbstractLogicalOperator op, int i, List<ILocalStructuralProperty> localProperties, boolean nestedPlan, IOptimizationContext context) throws AlgebricksException { - if (AlgebricksConfig.DEBUG) { + if (AlgebricksConfig.DEBUG && AlgebricksConfig.ALGEBRICKS_LOGGER.isTraceEnabled()) { AlgebricksConfig.ALGEBRICKS_LOGGER .trace(">>>> Adding local enforcers for local props = " + localProperties + "\n"); } @@ -523,7 +542,7 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { } oo.getInputs().add(topOp); context.computeAndSetTypeEnvironmentForOperator(oo); - if (AlgebricksConfig.DEBUG) { + if (AlgebricksConfig.DEBUG && AlgebricksConfig.ALGEBRICKS_LOGGER.isTraceEnabled()) { AlgebricksConfig.ALGEBRICKS_LOGGER.trace(">>>> Added sort enforcer " + oo.getPhysicalOperator() + ".\n"); } return new MutableObject<ILogicalOperator>(oo); @@ -606,7 +625,7 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { exchg.setExecutionMode(AbstractLogicalOperator.ExecutionMode.PARTITIONED); OperatorPropertiesUtil.computeSchemaAndPropertiesRecIfNull(exchg, context); context.computeAndSetTypeEnvironmentForOperator(exchg); - if (AlgebricksConfig.DEBUG) { + if (AlgebricksConfig.DEBUG && AlgebricksConfig.ALGEBRICKS_LOGGER.isDebugEnabled()) { AlgebricksConfig.ALGEBRICKS_LOGGER .debug(">>>> Added partitioning enforcer " + exchg.getPhysicalOperator() + ".\n"); printOp((AbstractLogicalOperator) op); @@ -626,7 +645,9 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { private void printOp(AbstractLogicalOperator op) throws AlgebricksException { LogicalOperatorPrettyPrintVisitor pvisitor = new LogicalOperatorPrettyPrintVisitor(); PlanPrettyPrinter.printOperator(op, pvisitor, 0); - AlgebricksConfig.ALGEBRICKS_LOGGER.debug(pvisitor.get().toString()); + if (AlgebricksConfig.ALGEBRICKS_LOGGER.isDebugEnabled()) { + AlgebricksConfig.ALGEBRICKS_LOGGER.debug(pvisitor.get().toString()); + } } private List<OrderColumn> computeOrderColumns(IPhysicalPropertiesVector pv) { @@ -655,8 +676,10 @@ public class EnforceStructuralPropertiesRule implements IAlgebraicRewriteRule { newOp.recomputeSchema(); newOp.computeDeliveredPhysicalProperties(context); context.computeAndSetTypeEnvironmentForOperator(newOp); - AlgebricksConfig.ALGEBRICKS_LOGGER.trace(">>>> Structural properties for " + newOp.getPhysicalOperator() + ": " - + newOp.getDeliveredPhysicalProperties() + "\n"); + if (AlgebricksConfig.ALGEBRICKS_LOGGER.isTraceEnabled()) { + AlgebricksConfig.ALGEBRICKS_LOGGER.trace(">>>> Structural properties for " + newOp.getPhysicalOperator() + + ": " + newOp.getDeliveredPhysicalProperties() + "\n"); + } PhysicalOptimizationsUtil.computeFDsAndEquivalenceClasses(newOp, context); } http://git-wip-us.apache.org/repos/asf/asterixdb/blob/8e4b57bf/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/IntroduceGroupByForSubplanRule.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/IntroduceGroupByForSubplanRule.java b/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/IntroduceGroupByForSubplanRule.java index c4ea604..5118bf3 100644 --- a/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/IntroduceGroupByForSubplanRule.java +++ b/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/IntroduceGroupByForSubplanRule.java @@ -201,7 +201,9 @@ public class IntroduceGroupByForSubplanRule implements IAlgebraicRewriteRule { //retain the intersection pkVars.retainAll(producedVars); } - AlgebricksConfig.ALGEBRICKS_LOGGER.debug("Found FD for introducing group-by: " + pkVars); + if (AlgebricksConfig.ALGEBRICKS_LOGGER.isDebugEnabled()) { + AlgebricksConfig.ALGEBRICKS_LOGGER.debug("Found FD for introducing group-by: " + pkVars); + } Mutable<ILogicalOperator> rightRef = join.getInputs().get(1); LogicalVariable testForNull = null; http://git-wip-us.apache.org/repos/asf/asterixdb/blob/8e4b57bf/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/util/JoinUtils.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/util/JoinUtils.java b/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/util/JoinUtils.java index 0bc2a5e..555d468 100644 --- a/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/util/JoinUtils.java +++ b/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/util/JoinUtils.java @@ -109,14 +109,19 @@ public class JoinUtils { ILogicalOperator opBuild = op.getInputs().get(1).getValue(); LogicalPropertiesVisitor.computeLogicalPropertiesDFS(opBuild, context); ILogicalPropertiesVector v = context.getLogicalPropertiesVector(opBuild); - AlgebricksConfig.ALGEBRICKS_LOGGER - .debug("// HybridHashJoin inner branch -- Logical properties for " + opBuild + ": " + v + "\n"); + boolean loggerDebugEnabled = AlgebricksConfig.ALGEBRICKS_LOGGER.isDebugEnabled(); + if (loggerDebugEnabled) { + AlgebricksConfig.ALGEBRICKS_LOGGER + .debug("// HybridHashJoin inner branch -- Logical properties for " + opBuild + ": " + v + "\n"); + } if (v != null) { int size2 = v.getMaxOutputFrames(); HybridHashJoinPOperator hhj = (HybridHashJoinPOperator) op.getPhysicalOperator(); if (size2 > 0 && size2 * hhj.getFudgeFactor() <= hhj.getMemSizeInFrames()) { - AlgebricksConfig.ALGEBRICKS_LOGGER - .debug("// HybridHashJoin inner branch " + opBuild + " fits in memory\n"); + if (loggerDebugEnabled) { + AlgebricksConfig.ALGEBRICKS_LOGGER + .debug("// HybridHashJoin inner branch " + opBuild + " fits in memory\n"); + } // maintains the local properties on the probe side op.setPhysicalOperator( new InMemoryHashJoinPOperator(hhj.getKind(), hhj.getPartitioningType(), hhj.getKeysLeftBranch(), http://git-wip-us.apache.org/repos/asf/asterixdb/blob/8e4b57bf/hyracks-fullstack/algebricks/algebricks-tests/src/test/java/org/apache/hyracks/algebricks/tests/util/AlgebricksHyracksIntegrationUtil.java ---------------------------------------------------------------------- diff --git a/hyracks-fullstack/algebricks/algebricks-tests/src/test/java/org/apache/hyracks/algebricks/tests/util/AlgebricksHyracksIntegrationUtil.java b/hyracks-fullstack/algebricks/algebricks-tests/src/test/java/org/apache/hyracks/algebricks/tests/util/AlgebricksHyracksIntegrationUtil.java index 1df9824..9b3817e 100644 --- a/hyracks-fullstack/algebricks/algebricks-tests/src/test/java/org/apache/hyracks/algebricks/tests/util/AlgebricksHyracksIntegrationUtil.java +++ b/hyracks-fullstack/algebricks/algebricks-tests/src/test/java/org/apache/hyracks/algebricks/tests/util/AlgebricksHyracksIntegrationUtil.java @@ -91,10 +91,14 @@ public class AlgebricksHyracksIntegrationUtil { } public static void runJob(JobSpecification spec) throws Exception { - AlgebricksConfig.ALGEBRICKS_LOGGER.info(spec.toJSON().toString()); + boolean loggerInfoEnabled = AlgebricksConfig.ALGEBRICKS_LOGGER.isInfoEnabled(); + if (loggerInfoEnabled) { + AlgebricksConfig.ALGEBRICKS_LOGGER.info(spec.toJSON().toString()); + } JobId jobId = hcc.startJob(spec, EnumSet.of(JobFlag.PROFILE_RUNTIME)); - AlgebricksConfig.ALGEBRICKS_LOGGER.info(jobId.toString()); + if (loggerInfoEnabled) { + AlgebricksConfig.ALGEBRICKS_LOGGER.info(jobId.toString()); + } hcc.waitForCompletion(jobId); } - }