romanhorilyi opened a new pull request, #10121:
URL: https://github.com/apache/gravitino/pull/10121

   ### What changes were proposed in this pull request?
   
   Cherry pick [BDP-31769: improve log messaging in optimizer for 
recommendation](https://github.com/datastrato/gravitino-pinterest/pull/146).
   
   Improve log messaging for `recommend_strategy_type` command.
   
   ### Why are the changes needed?
   
   Without this change it's not clear why there's no output for a candidate 
table that doesn't match triggering criteria.
   
   Here are the sample log messages for command `./gravitino-optimizer.sh -type 
recommend_strategy_type --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
 --strategy-type compaction`:
   
   Without this patch:
   ```
   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, ...
   ```
   
   With this patch:
   ```
   2026-02-19 22:26:16.679 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:26:18.154 INFO [main] 
[org.apache.gravitino.maintenance.optimizer.recommender.Recommender.recommendForOneStrategy(Recommender.java:191)]
 - Skip strategy compactionSmallPartitionFiles for identifier 
generic.ad.ads_hourly_onsite_insertion_data because strategy handler trigger 
condition is not met
   2026-02-19 22:26:18.444 INFO [main] 
[org.apache.gravitino.maintenance.optimizer.recommender.Recommender.recommendForOneStrategy(Recommender.java:205)]
 - Recommend strategy compactionSmallPartitionFiles for identifier 
generic.ad.ads_daily_conversion_sampled_yellow_box_iceberg_userid score: 45548
   2026-02-19 22:26:19.010 INFO [main] 
[org.apache.gravitino.maintenance.optimizer.recommender.Recommender.recommendForOneStrategy(Recommender.java:191)]
 - Skip strategy compactionSmallPartitionFiles for identifier 
generic.ad.ads_hourly_engagement_sampled_table_iceberg_insertion_id because 
strategy handler trigger condition is not met
   2026-02-19 22:26:19.181 INFO [main] 
[org.apache.gravitino.maintenance.optimizer.recommender.Recommender.recommendForOneStrategy(Recommender.java:191)]
 - Skip strategy compactionSmallPartitionFiles for identifier 
generic.ad.ads_hourly_l1_sampled_data_table because strategy handler trigger 
condition is not met
   2026-02-19 22:26:19.736 INFO [main] 
[org.apache.gravitino.maintenance.optimizer.recommender.Recommender.recommendForOneStrategy(Recommender.java:191)]
 - Skip strategy compactionSmallPartitionFiles for identifier 
generic.ad.ads_hourly_video_engagement_sampled_table_iceberg because strategy 
handler trigger condition is not met
   2026-02-19 22:26:19.736 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,
 jobTemplateName='compaction', jobOptions={}, columnCount=5041, 
partitioningCount=4, partitionCount=100}
   2026-02-19 22:26:19.743 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,
 jobTemplateName='compaction', jobOptions={}, columnCount=5041, 
partitioningCount=4, partitionCount=100}
   ```
   
   ### Does this PR introduce _any_ user-facing change?
   
   1. Adds extra INFO logs in `gravitino-optimizer` log file for not matching 
candidates.
   2. Removes redundant fields from `CompactionJobContext#toString` method to 
improve readability.
   
   ### How was this patch tested?
   
   - [x] Manual verification w/ `./gravitino-optimizer.sh -type 
recommend_strategy_type` CLI command
   


-- 
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