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

   Eleventh-round self-check, against the current head 
`9f534f6800ad6f1a476452e56511bb167726734b` — still byte-identical to the 
version my last full review (2026-08-16) and the tenth-round self-check 
covered: same 17 files, same `+315/-4` diff stat against the merge base, no new 
commit and no new discussion since then. Re-deriving and re-posting the same 
full issue list against an unchanged version wouldn't add anything, so this is 
a live re-verification of the two open blockers plus current CI/merge health 
rather than a full rewrite:
   
   - **Issue 1 (High, still open)** — 
`JdbcFieldTypeUtils.getOffsetDateTime()`'s `Timestamp` branch 
(`seatunnel-connectors-v2/connector-jdbc/.../utils/JdbcFieldTypeUtils.java`) is 
the only value-read path Teradata and Vertica `TIMESTAMP_TZ` columns go through 
(neither driver returns `OffsetDateTime`/`ZonedDateTime`/`Instant`, or a 
recognizable proprietary wrapper class like Db2's `DBTimestamp`, so both fall 
into the generic `Timestamp` branch). On a string-parse failure that branch 
silently falls back to `((Timestamp) obj).toInstant().atOffset(ZoneOffset.UTC)` 
— the comment right above it even says this "may shift by JVM offset" — yet the 
result is stamped with a hard-coded `+00:00` offset regardless of the JVM's 
actual zone or the column's real stored offset. For a connector whose entire 
purpose is "don't lose the timezone," fabricating an offset on the failure path 
is a correctness regression with no logging and no test covering it (Teradata 
isn't in this repo's CI at all, an
 d the Vertica type-mapping test only checks metadata mapping, not the parsed 
value).
   - **Issue 2 (Medium, still open)** — `TeradataTypeMapper.mapping()` and 
`VerticaTypeMapper.mapping()` `switch` on the raw, unstripped 
`getColumnTypeName()` string (`TERADATA_TIMESTAMP_WITH_TIME_ZONE = "TIMESTAMP 
WITH TIME ZONE"`, `VERTICA_TIMESTAMP_WITH_TIME_ZONE` likewise), with no 
precision-stripping like `PrestoTypeMapper` added in this same PR 
(`columnType.startsWith(...) && columnType.contains("WITH TIME ZONE")`). If 
either driver reports the realistic `TIMESTAMP(n) WITH TIME ZONE` form — which 
is exactly the form `JdbcColumnConverter`'s new regex fallback in this same PR 
was written to handle — the switch falls to `default`, which throws 
`CommonError.convertToSeaTunnelTypeError(...)`, a `SeaTunnelRuntimeException`. 
That's not an `UnsupportedOperationException`, so 
`CatalogUtils.getTableSchema()`'s `catch (UnsupportedOperationException e)` 
fallback to `JdbcColumnConverter.convert()` never triggers — the job fails hard 
on the `query =` discovery path instead of silentl
 y degrading.
   
   What I re-verified live this round rather than trust the prior snapshot:
   
   **CI** — unchanged, still fully green (`Build`, `Notify test workflow`, 
`labeler` all pass on this SHA).
   
   **Merge state** — still `mergeable_state=dirty` / `CONFLICTING`. The 
divergence from `dev` has grown since the last check: `ahead_by=5`, 
`behind_by=45` (was `behind_by=41` a few days ago). This branch needs a rebase 
before it can be merged regardless of the two issues above, and the gap is only 
getting wider the longer it sits.
   
   ### Conclusion: Not recommended for merge
   
   Both previously-identified blockers are still unaddressed in this exact 
diff, and the branch is now further behind `dev` than before. Recommended next 
step is the same as prior rounds: fix Issue 1 by not fabricating an offset on 
parse failure (fail loudly instead, matching how the DB2 path throws on a 
reflection failure), fix Issue 2 by stripping precision before the 
Teradata/Vertica `switch` the same way `PrestoTypeMapper` now does, add 
value-path test coverage for at least Vertica, then rebase onto current `dev` 
before requesting merge.
   


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