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]

Reply via email to