romanhorilyi opened a new issue, #10163:
URL: https://github.com/apache/gravitino/issues/10163

   ### What would you like to be improved?
   
   Improve log messaging for optimizer 
[Recommender#recommendForStrategyType](https://github.com/apache/gravitino/blob/969f7be707334b0a11a64846fbf014ca062d3a4a/maintenance/optimizer/src/main/java/org/apache/gravitino/maintenance/optimizer/recommender/Recommender.java#L134C15-L134C39)
 execution.
   
   Currently there're several issues when `recommendForStrategyType` method is 
run:
   1. it's not clear why there's no output for candidate tables that doesn't 
match triggering criteria
   2. 
[CompactionJobContext](https://github.com/apache/gravitino/blob/main/maintenance/optimizer/src/main/java/org/apache/gravitino/maintenance/optimizer/recommender/handler/compaction/CompactionJobContext.java)
 produces verbose output for cases w/ many partitions and large tables.
   
   Here are the sample log messages when running `recommendForStrategyType` w/ 
multiple test identifiers for `compaction` strategy type:
   ```
   2026-02-19 22:40:12.753 INFO [main] 
[org.apache.gravitino.maintenance.optimizer.recommender.Recommender.recommendForOneStrategy(Recommender.java:183)]
 - Recommend strategy compactionSmallPartitionFiles for identifiers 
[generic.ad.ads_hourly_onsite_insertion_data, 
generic.ad.ads_daily_conversion_sampled_yellow_box_iceberg_userid, 
generic.ad.ads_hourly_engagement_sampled_table_iceberg_insertion_id, 
generic.ad.ads_hourly_l1_sampled_data_table, 
generic.ad.ads_hourly_video_engagement_sampled_table_iceberg]
   2026-02-19 22:40:14.505 INFO [main] 
[org.apache.gravitino.maintenance.optimizer.recommender.Recommender.recommendForOneStrategy(Recommender.java:201)]
 - Recommend strategy compactionSmallPartitionFiles for identifier 
generic.ad.ads_daily_conversion_sampled_yellow_box_iceberg_userid score: 45548
   2026-02-19 22:40:15.859 INFO [main] 
[org.apache.gravitino.maintenance.optimizer.recommender.job.NoopJobSubmitter.submitJob(NoopJobSubmitter.java:43)]
 - NoopJobSubmitter submitJob: template=compaction, 
identifier=generic.ad.ads_daily_conversion_sampled_yellow_box_iceberg_userid, 
jobExecuteContext=CompactionJobContext(name=generic.ad.ads_daily_conversion_sampled_yellow_box_iceberg_userid,
 jobOptions={}, jobTemplateName=compaction, 
columns=[org.apache.gravitino.client.GenericColumn@f434c029, 
org.apache.gravitino.client.GenericColumn@510cb662, 
org.apache.gravitino.client.GenericColumn@3f404cd3, 
org.apache.gravitino.client.GenericColumn@8fce398, ...
   2026-02-19 22:40:15.875 INFO [main] 
[org.apache.gravitino.maintenance.optimizer.recommender.Recommender.recommendForStrategyType(Recommender.java:158)]
 - Submit job  for strategy compactionSmallPartitionFiles with context 
CompactionJobContext(name=generic.ad.ads_daily_conversion_sampled_yellow_box_iceberg_userid,
 jobOptions={}, jobTemplateName=compaction, 
columns=[org.apache.gravitino.client.GenericColumn@f434c029, 
org.apache.gravitino.client.GenericColumn@510cb662, 
org.apache.gravitino.client.GenericColumn@3f404cd3, 
org.apache.gravitino.client.GenericColumn@8fce398, ...
   ```
   
   Log message for 
`generic.ad.ads_daily_conversion_sampled_yellow_box_iceberg_userid` table is 
redacted since it contains **5041** columns & **100** partitions.
   
   ### How should we improve?
   
   1. Add additional log messages in `Recommender#recommendForStrategyType` 
method.
   2. Change `CompactionJobContext#toString` method implementation (replace 
Lombok impl w/ a overriden `toString` that will mention only count for 
partitions and columns instead of listing refs to instances).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to