yihua commented on PR #19130:
URL: https://github.com/apache/hudi/pull/19130#issuecomment-4850345340

   Note on scope: this intentionally leaves the Flink jobs (`test-flink-1`, 
`test-flink-2`) out of coverage.
   
   When Codecov was first wired up (#18230), jacoco was briefly enabled on the 
Flink jobs and then removed due to a jacoco + Apache Calcite incompatibility. 
The agent instruments bytecode with synthetic fields/methods, which breaks the 
reflection-based structural assertions in Calcite's `MetadataDef` constructor, 
failing with:
   
   ```
   java.lang.NoClassDefFoundError: Could not initialize class 
org.apache.calcite.rel.metadata.DefaultRelMetadataProvider
       at org.apache.calcite.plan.RelOptCluster.<init>(RelOptCluster.java:97)
       at 
org.apache.flink.table.planner.calcite.FlinkRelOptClusterFactory$.create(FlinkRelOptClusterFactory.scala:36)
   ```
   
   This PR keeps that constraint intact:
   
   - Coverage is scoped to the `integration-tests` job, whose IT step runs `mvn 
verify -Pintegration-tests -pl !hudi-flink-datasource/hudi-flink`, so the Flink 
Calcite planner path is not exercised.
   - The `prepare-agent` added to the `integration-tests` profile is a no-op 
unless a job overrides `-Djacoco.skip=false`. The Flink IT jobs keep the 
default `-Djacoco.skip` from `MVN_ARGS`, so they stay uninstrumented and the 
Calcite failure cannot recur.
   
   The one thing to watch is any non-Flink IT that loads Calcite (e.g. 
Hive-based paths). Monitoring the `integration-tests` run on this PR to confirm 
it stays green.
   


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