DanielLeens commented on PR #12254: URL: https://github.com/apache/seatunnel/pull/12254#issuecomment-6594226815
Addressed the findings from the review on `6f4bf3d8` in f287652c4d6779bcd0ac31c3e6e202f160054373: - **Issue 8 (compile failure):** `GaussDBSourceConfigFactory.fromReadonlyConfig` now returns `PostgresSourceConfigFactory`, matching the covariant override that #11029 introduced in the parent. The broad `JdbcSourceConfigFactory` import is removed and the shared parent is unchanged. This is the error that failed all four unit-test lanes and updated-modules-integration-test-part-4 in Build 41162692175. - **Issue 4 (unbounded buffer):** added `max-buffered-changes` (default 100000). `MppdbTransactionBuffer` checks the budget before it retains each DML row. The count covers all open transactions and all committed transactions still blocked behind the head. When the next row would go over the limit, the task fails with the limit, the current and oldest transaction ids and the buffered counts. No row is dropped and the slot is not acknowledged past the last completed checkpoint. Blocking reads would not help, because the COMMIT that frees the memory may still be unread. The docs state that a transaction larger than the limit fails again on replay, and that the limit must be raised together with worker heap. New UTs cover one oversized transaction and a backlog blocked behind an open head. A third case checks that released rows give their budget back, which fails if the counter is not decremented. - **Issue 5 (quoted markers):** TEXT UPDATE parsing now finds `old-key:` / `new-tuple:` only outside single-quoted literals and double-quoted identifiers. A doubled quote closes the section and reopens it straight away. The new UT puts both marker words inside old and new values, plus a `''` escape. Under the previous `indexOf` code this record is rejected. - **Issue 6 (values in errors):** text and JSON decoder errors now report only lengths and offsets. The JSON parse failure no longer carries the Jackson cause, because that message echoes the offending token. A sentinel UT walks the whole cause chain for a malformed TEXT tuple and for malformed JSON. - **Issue 7 (ts_ms, nonblocking):** not changed in code. The en/zh docs now say that with `mppdb_decoding`, `ts_ms` is the time the reader released the committed transaction, not the database commit time, so lag is understated for backlogged changes. Carrying the parsed COMMIT timestamp through to the emitter is left as a follow-up. Only `spotless:apply` was run locally. Compile and test results come from the fork CI on the new head. -- 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]
