schenksj commented on PR #4700:
URL: 
https://github.com/apache/datafusion-comet/pull/4700#issuecomment-4827529634

   Thanks for the thorough reviews @parthchandra and @andygrove — all points 
addressed in dfde184b5 (replied inline on each thread). Summary:
   
   **@parthchandra**
   - **ServiceLoader**: replaced the hardcoded reflective 
`DeltaPlanDataInjector$` slot with `java.util.ServiceLoader` discovery — 
contribs now register a `PlanDataInjector` via `META-INF/services` with no core 
edit.
   - **NonFatal**: discovery catches `scala.util.control.NonFatal` (covers 
`ServiceConfigurationError`).
   - **Empty handling**: the generic trait arm now mirrors the Iceberg arm 
(empty data → contributes nothing).
   - **Stub test**: added a `CometLeafExec with CometScanWithPlanData` stub 
wired through `findAllPlanData`, plus a ServiceLoader-discovery test.
   
   **@andygrove**
   - **Self-type**: `CometScanWithPlanData { self: CometLeafExec => }` — 
leaf-ness is now compile-time enforced and the runtime silent-skip fallback is 
gone.
   - **TODO(#3510)**: mirrored on `withDynamicPruningFilters`.
   - **DPP exclusion**: pre-emptively excluded `CometScanWithPlanData` from the 
non-Comet arm so future trait scans can't be misrouted (no behavior change 
today).
   
   I also relocated `findAllPlanData` from `CometNativeExec` into the 
`PlanDataInjector` object (it used no instance state) — this enables the unit 
test and makes the existing `PlanDataInjector.findAllPlanData` scaladoc 
references correct.
   
   The later contrib-delta part will ship `class DeltaPlanDataInjector extends 
PlanDataInjector` + its service file (a class, not a Scala `object`, so 
ServiceLoader can instantiate it).
   
   Verified: `CometScanWithPlanDataSuite` 5/5 on Spark 4.1/2.13; the spark 
module also compiles clean under Scala 2.12 (Spark 3.4).
   
   (Disclosure: these changes and this response were written with help from AI 
— Claude Code.)


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to