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)
+ + '}';
+ }
}