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

jshao pushed a commit to branch branch-1.2
in repository https://gitbox.apache.org/repos/asf/gravitino.git


The following commit(s) were added to refs/heads/branch-1.2 by this push:
     new bae232df13 [Cherry-pick to branch-1.2] [#10163] 
improvement(optimizer): improve recommender log messaging (#10121) (#10192)
bae232df13 is described below

commit bae232df1337b30807d1465a59d00211ae2d0fad
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Wed Mar 4 19:26:51 2026 +0800

    [Cherry-pick to branch-1.2] [#10163] improvement(optimizer): improve 
recommender log messaging (#10121) (#10192)
    
    **Cherry-pick Information:**
    - Original commit: fc6e11ea993f9d5876cda1156ccf777d44031ca5
    - Target branch: `branch-1.2`
    - Status: ✅ Clean cherry-pick (no conflicts)
    
    Co-authored-by: Roman Horilyi <[email protected]>
    Co-authored-by: Roman Horilyi <[email protected]>
---
 .../optimizer/recommender/Recommender.java         | 10 ++++++++++
 .../handler/compaction/CompactionJobContext.java   | 23 ++++++++++++++++++++--
 2 files changed, 31 insertions(+), 2 deletions(-)

diff --git 
a/maintenance/optimizer/src/main/java/org/apache/gravitino/maintenance/optimizer/recommender/Recommender.java
 
b/maintenance/optimizer/src/main/java/org/apache/gravitino/maintenance/optimizer/recommender/Recommender.java
index c6c66ffec6..8da6a52cf3 100644
--- 
a/maintenance/optimizer/src/main/java/org/apache/gravitino/maintenance/optimizer/recommender/Recommender.java
+++ 
b/maintenance/optimizer/src/main/java/org/apache/gravitino/maintenance/optimizer/recommender/Recommender.java
@@ -148,6 +148,12 @@ public class Recommender implements AutoCloseable {
       String strategyName = entry.getKey();
       List<StrategyEvaluation> evaluations =
           recommendForOneStrategy(entry.getValue(), strategyName);
+
+      if (evaluations.isEmpty()) {
+        LOG.info("No evaluations for strategy {}", strategyName);
+        continue;
+      }
+
       for (StrategyEvaluation evaluation : evaluations) {
         results.add(toRecommendationResult(strategyName, evaluation, ""));
       }
@@ -260,6 +266,10 @@ public class Recommender implements AutoCloseable {
     for (NameIdentifier identifier : identifiers) {
       StrategyHandler strategyHandler = loadStrategyHandler(strategy, 
identifier);
       if (!strategyHandler.shouldTrigger()) {
+        LOG.info(
+            "Skip strategy {} for identifier {} because strategy handler 
trigger condition is not met",
+            strategyName,
+            identifier);
         continue;
       }
       StrategyEvaluation evaluation = strategyHandler.evaluate();
diff --git 
a/maintenance/optimizer/src/main/java/org/apache/gravitino/maintenance/optimizer/recommender/handler/compaction/CompactionJobContext.java
 
b/maintenance/optimizer/src/main/java/org/apache/gravitino/maintenance/optimizer/recommender/handler/compaction/CompactionJobContext.java
index f53000c455..4e36c4f1a3 100644
--- 
a/maintenance/optimizer/src/main/java/org/apache/gravitino/maintenance/optimizer/recommender/handler/compaction/CompactionJobContext.java
+++ 
b/maintenance/optimizer/src/main/java/org/apache/gravitino/maintenance/optimizer/recommender/handler/compaction/CompactionJobContext.java
@@ -23,7 +23,6 @@ import java.util.List;
 import java.util.Map;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import lombok.ToString;
 import org.apache.gravitino.NameIdentifier;
 import org.apache.gravitino.maintenance.optimizer.api.common.PartitionPath;
 import 
org.apache.gravitino.maintenance.optimizer.api.recommender.JobExecutionContext;
@@ -31,7 +30,6 @@ import org.apache.gravitino.rel.Column;
 import org.apache.gravitino.rel.expressions.transforms.Transform;
 
 @RequiredArgsConstructor
-@ToString
 public class CompactionJobContext implements JobExecutionContext {
   private final NameIdentifier name;
   private final Map<String, String> jobOptions;
@@ -54,4 +52,25 @@ public class CompactionJobContext implements 
JobExecutionContext {
   public String jobTemplateName() {
     return jobTemplateName;
   }
+
+  // `columns`, `partitioning` & `partitions` fields are not logged to make 
toString() output more
+  // readable (especially for big tables). Only their length is logged instead.
+  @Override
+  public String toString() {
+    return "CompactionJobContext{"
+        + "name="
+        + name
+        + ", jobTemplateName='"
+        + jobTemplateName
+        + '\''
+        + ", jobOptions="
+        + jobOptions
+        + ", columnCount="
+        + (columns != null ? columns.length : 0)
+        + ", partitioningCount="
+        + (partitioning != null ? partitioning.length : 0)
+        + ", partitionCount="
+        + (partitions != null ? partitions.size() : 0)
+        + '}';
+  }
 }

Reply via email to