goutamadwant opened a new pull request, #12335: URL: https://github.com/apache/seatunnel/pull/12335
<!-- PR title: [Fix][Transform-V2] Preserve vector input buffers during SQL evaluation --> ### Purpose of this pull request Closes #12334. Read an ordered duplicate in the SQL vector conversion path instead of consuming the caller's ByteBuffer. Keep the shared VectorUtils consuming-conversion contract unchanged. Extend the existing vector/SQL tests and E2E fixture for repeated reads, same-buffer operands, downstream reuse, buffer variants and failure paths. Update EN/ZH documentation. ### Does this PR introduce _any_ user-facing change? Yes. Reusing one vector in multiple SQL expressions no longer advances its input buffer or causes a subsequent read to fail with BufferUnderflowException. Position, limit, mark, order and contents are preserved, including when decoding fails. No API, configuration, schema or state-format changes. This adds a buffer view, not a full byte-buffer copy. It does not change vector arithmetic or redefine malformed-buffer dimensions. Reproduced on current dev; released versions were not separately tested. ### How was this patch tested? - Before the fix, all 13 added regression invocations failed on both Java 8 and Java 11; the 19 existing cases passed. - Full transform reactor on Java 8 and Java 11: 1,170 transform tests passed per JDK, with no failures, errors or skips. - Combined affected-suite validation with the arithmetic fix: 651 transform tests and five VectorUtils tests passed per JDK. - Targeted Java 11 Zeta execution: the original transform JAR failed with buffer underflow; the combined fixed JAR passed. This used an earlier snapshot distribution with the new transform JAR overlaid, not the full Flink/Spark matrix. - Root Spotless and Java 11 root verification passed on the combined integration tree, including distribution packaging. ```sh ./mvnw -B -pl seatunnel-transforms-v2 -am package -Dskip.ui=true ./mvnw spotless:apply ./mvnw -q -DskipTests verify ``` ### Check list * [x] New Jar binary package / [license notice](https://github.com/apache/seatunnel/blob/dev/docs/en/developer/new-license.md): not applicable; no dependency added. * [x] User-facing documentation updated in EN/ZH. * [x] Incompatible changes reviewed: no configuration, API, schema or state migration; the corrected read-side effect is documented. * [x] Connector checklist (plugin mapping, distribution POM, CI labels, connector E2E and plugin_config): not applicable; no connector code changed. The existing transform E2E fixture was extended. -- 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]
