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]
