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

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

commit 53003d10b892e51aca9ce1e0ca2b5fc33a4be44b
Author: Ali Alsuliman <[email protected]>
AuthorDate: Mon Sep 19 17:44:47 2022 -0700

    [ASTERIXDB-3046][COMP] Change some CBO trace loggings
    
    - user model changes: no
    - storage format changes: no
    - interface changes: no
    
    Change-Id: Ib34c4f1cb9da24f834f886c55639fe062f920a6e
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17232
    Tested-by: Jenkins <[email protected]>
    Reviewed-by: Ali Alsuliman <[email protected]>
    Reviewed-by: Vijay Sarathy <[email protected]>
    Reviewed-by: Wail Alkowaileet <[email protected]>
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17333
    Reviewed-by: Michael Blow <[email protected]>
    Tested-by: Michael Blow <[email protected]>
---
 .../optimizer/rules/cbo/EnumerateJoinsRule.java       |  4 +---
 .../apache/asterix/optimizer/rules/cbo/JoinEnum.java  | 18 ++++++++++--------
 .../apache/asterix/optimizer/rules/cbo/JoinNode.java  | 19 +++----------------
 .../LogicalOperatorPrettyPrintVisitorJson.java        |  4 +---
 4 files changed, 15 insertions(+), 30 deletions(-)

diff --git 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/EnumerateJoinsRule.java
 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/EnumerateJoinsRule.java
index de28bbcd8f..4a37007856 100644
--- 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/EnumerateJoinsRule.java
+++ 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/EnumerateJoinsRule.java
@@ -431,11 +431,9 @@ public class EnumerateJoinsRule implements 
IAlgebraicRewriteRule {
     public static void printPlan(IPlanPrettyPrinter pp, 
AbstractLogicalOperator op, String text)
             throws AlgebricksException {
         if (LOGGER.isTraceEnabled()) {
-            LOGGER.trace("---------------------------- " + text);
             pp.reset();
             pp.printOperator(op, true);
-            LOGGER.trace(pp);
-            LOGGER.trace("---------------------------- ");
+            LOGGER.trace("---------------------------- 
{}\n{}\n----------------------------", text, pp);
         }
     }
 
diff --git 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/JoinEnum.java
 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/JoinEnum.java
index 24509c296c..306bad91ad 100644
--- 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/JoinEnum.java
+++ 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/JoinEnum.java
@@ -742,27 +742,29 @@ public class JoinEnum {
         JoinNode lastJn = jnArray[lastJnNum];
         if (LOGGER.isTraceEnabled()) {
             EnumerateJoinsRule.printPlan(pp, op, "Original Whole plan in JN 
END");
-            dumpJoinNodes(lastJnNum);
+            LOGGER.trace(dumpJoinNodes(lastJnNum));
         }
 
         // find the cheapest plan
         int cheapestPlanIndex = lastJn.cheapestPlanIndex;
         if (LOGGER.isTraceEnabled() && cheapestPlanIndex > 0) {
-            LOGGER.trace("Cheapest Plan is " + cheapestPlanIndex + " number of 
terms is " + numberOfTerms
-                    + " joinNodes " + lastJnNum);
+            LOGGER.trace("Cheapest Plan is {} number of terms is {} joinNodes 
{}", cheapestPlanIndex, numberOfTerms,
+                    lastJnNum);
         }
 
         return cheapestPlanIndex;
     }
 
-    private void dumpJoinNodes(int numJoinNodes) {
-        LOGGER.trace(LocalDateTime.now());
+    private String dumpJoinNodes(int numJoinNodes) {
+        StringBuilder sb = new StringBuilder(128);
+        sb.append(LocalDateTime.now());
         for (int i = 1; i <= numJoinNodes; i++) {
             JoinNode jn = jnArray[i];
-            LOGGER.trace(jn);
+            sb.append(jn);
         }
-        LOGGER.trace("Printing cost of all Final Plans");
-        jnArray[numJoinNodes].printCostOfAllPlans();
+        sb.append('\n').append("Printing cost of all Final 
Plans").append('\n');
+        jnArray[numJoinNodes].printCostOfAllPlans(sb);
+        return sb.toString();
     }
 
     public static boolean getForceJoinOrderMode(IOptimizationContext context) {
diff --git 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/JoinNode.java
 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/JoinNode.java
index b0733c765f..cf4fcad0be 100644
--- 
a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/JoinNode.java
+++ 
b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/cbo/JoinNode.java
@@ -769,20 +769,6 @@ public class JoinNode {
         return new Pair<>(this.cheapestPlanIndex, this.cheapestPlanCost);
     }
 
-    protected int findCheapestPlan() {
-        List<PlanNode> allPlans = joinEnum.allPlans;
-        ICost cheapestCost = joinEnum.getCostHandle().maxCost();
-        int cheapestIndex = PlanNode.NO_PLAN;
-
-        for (int planIndex : this.planIndexesArray) {
-            if (allPlans.get(planIndex).totalCost.costLT(cheapestCost)) {
-                cheapestCost = allPlans.get(planIndex).totalCost;
-                cheapestIndex = planIndex;
-            }
-        }
-        return cheapestIndex;
-    }
-
     @Override
     public String toString() {
         if (planIndexesArray.isEmpty()) {
@@ -851,10 +837,11 @@ public class JoinNode {
         return sb.toString();
     }
 
-    public void printCostOfAllPlans() {
+    public void printCostOfAllPlans(StringBuilder sb) {
         List<PlanNode> allPlans = joinEnum.allPlans;
         for (int planIndex : planIndexesArray) {
-            LOGGER.trace("plan " + planIndex + " cost is " + 
allPlans.get(planIndex).totalCost.computeTotalCost());
+            sb.append("plan ").append(planIndex).append(" cost is ")
+                    
.append(allPlans.get(planIndex).totalCost.computeTotalCost()).append('\n');
         }
     }
 }
diff --git 
a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitorJson.java
 
b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitorJson.java
index 64aa2e0fdc..cf96c8397a 100644
--- 
a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitorJson.java
+++ 
b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitorJson.java
@@ -99,7 +99,6 @@ public class LogicalOperatorPrettyPrintVisitorJson extends 
AbstractLogicalOperat
     private static final String CONDITION_FIELD = "condition";
     private static final String MISSING_VALUE_FIELD = "missing-value";
     private static final String OP_CARDINALITY = "cardinality";
-    private static final String OP_COST = "cost";
 
     private final Map<AbstractLogicalOperator, String> operatorIdentity = new 
HashMap<>();
     private final IdCounter idCounter = new IdCounter();
@@ -142,8 +141,7 @@ public class LogicalOperatorPrettyPrintVisitorJson extends 
AbstractLogicalOperat
                 stringPrefix = stringPrefix.isEmpty() ? val.toString() : 
stringPrefix + "." + val.toString();
             }
             if (!operatorIdentity.containsKey(op)) {
-                String opId = stringPrefix.isEmpty() ? "" + 
Integer.toString(++id)
-                        : stringPrefix + "." + Integer.toString(++id);
+                String opId = stringPrefix.isEmpty() ? "" + (++id) : 
stringPrefix + "." + (++id);
                 operatorIdentity.put(op, opId);
             }
             return operatorIdentity.get(op);

Reply via email to