DanielLeens commented on PR #11162:
URL: https://github.com/apache/seatunnel/pull/11162#issuecomment-6557781244

   Thanks @SEZ9. I rechecked the specific F1/F2 claims against 
`e9c52313cfba2a64b713f743be95e80a00794072`, and I need to correct my earlier 
follow-up: it repeated stale source blockers. Sorry for that; no new commit is 
being credited with these existing protections.
   
   - **F1:** `MultiTableSink.java:441-454` deliberately preserves null for an 
unadvertised legacy sink, while a modern sink's explicit null capability result 
becomes an empty list. `MultiTableSinkWriter.java:556-595,605-614` preserves 
that distinction: unadvertised deprecated callbacks/no-ops retain the 
warning-based compatibility window. `SinkFlowLifeCycle.java:890-927` has the 
same legacy fallback. The earlier claim that this head always hard-fails 
inherited legacy no-ops was incorrect.
   - **F2:** SchemaChangePolicyException implements NonRetryableException, and 
`JobMaster.java:1347-1350` calls neverNeedRestore before propagating the task 
state. The guide at `schema-evolution.md:184-187` also describes Zeta 
non-retryable and Flink SuppressRestartsException handling. The stale claim 
that this revision merely tells operators to manage an endless restart loop 
should not remain a blocker.
   - **F3:** `SchemaChangePolicy.java:133-142` uses Class.getMethod, so 
inherited public overrides are considered. It does not unwrap arbitrary 
decorators or cache reflection results; those are not functionality I am 
claiming exists. Keep wrapper behavior explicit and treat caching as measured 
optional hardening rather than adding a classloader-retaining global cache.
   - **F4/F6:** `SeaTunnelRowDebeziumDeserializeSchema.java:159` filters the 
schema event before downstream policy. The guide at :154-156 says excluded 
events never reach policy; the MySQL guide documents include then exclude 
precedence.
   - **F5/F7/F8:** the guide distinguishes comment-only IGNORE from row-layout 
failure, documents the one-release legacy window/removal in the next release, 
and says behavior has no effect when enabled=false. A warning for an inactive 
option remains optional; no new implementation is being requested here.
   
   I withdraw the stale technical blockers above; I do not have a remaining 
source request from that earlier list. The latest remaining gates are the 
actual dev merge conflict, exact-head Build workflow discovery 
(ACTION_REQUIRED), and effective maintainer review. Resolve the content 
conflict while preserving both sides, then link/start the existing fork Build 
on the resulting head; enable workflows only if actually disabled. No unrelated 
dependency patch or empty trigger commit is requested. This is a correction of 
the unchanged-head discussion, not a new full source review or an APPROVED 
event. If a historical requested-changes entry still appears in GitHub, a 
write-capable maintainer must handle final approval/dismissal separately; 
Daniel has READ permission.
   
   Checked 2026-11-01T12:13:27.637340+00:00; unchanged head 
`e9c52313cfba2a64b713f743be95e80a00794072`, base `dev`; compare `diverged`, 
ahead 12 / behind 76; merge `dirty` / `DIRTY`; review decision 
`REVIEW_REQUIRED`. Behind/diverged is recorded independently and does not 
itself request a sync. Daniel has READ repository permission.
   


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