yihua opened a new issue, #19939:
URL: https://github.com/apache/hudi/issues/19939

   ### Problem
   
   `BaseHoodieCompactionPlanGenerator` lets a plan generator record its own 
state in the compaction plan's extra metadata through `getExtraMetadata(...)`. 
An incremental strategy uses this to remember which partitions it skipped so 
the next run can pick them up.
   
   Since #18183, `BaseHoodieTableServiceClient.scheduleTableServiceInternal` 
enriches the caller's extra-metadata option with the Hudi version and engine 
properties before scheduling, so the option handed to 
`ScheduleCompactionActionExecutor` is never empty. The executor then applies it 
with `extraMetadata.ifPresent(plan::setExtraMetadata)`, which replaces the map 
the generator just produced. The generator's entries are silently dropped on 
every schedule, and incremental compaction strategies built on this hook 
regress to full scans without any error.
   
   Verified with a debug probe: the generator computed its metadata correctly 
and the persisted plan carried only the enrichment keys.
   
   ### Expected
   
   The caller-provided entries are merged into the plan's extra metadata rather 
than overwriting it. Caller entries can win on a key collision; entries only 
the generator can produce must survive.
   
   ### Environment
   
   Hudi master (1.3.0-SNAPSHOT), any engine. Log compaction scheduling shares 
the code path.


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