goutamadwant opened a new pull request, #12305:
URL: https://github.com/apache/seatunnel/pull/12305

   <!-- PR title: [Fix][API] Correct nested row byte accounting -->
   ### Purpose of this pull request
   
   Fixes #12304.
   
   Correct two shared `SeaTunnelRow` accounting paths: skip null elements in 
map arrays and include row-array contents using the existing schema-aware 
recursion.
   
   Add regressions for API call order, JSON decoding, single-table/multi-table 
source collection, and an embedded batch job. Update the English and Chinese 
byte-limit documentation.
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes. On the tested dev baseline:
   
   - `ARRAY<MAP<STRING, INT>>` containing `[null, {"a": 1}]` returns 5 
estimated bytes instead of throwing `NullPointerException` during accounting.
   - An integer plus `ARRAY<ROW<value STRING>>` containing `"abcd"` returns 8 
estimated bytes instead of caching 4.
   
   No public API, serialized layout, configuration defaults, dependencies, or 
row payloads change. Affected byte metrics and byte-limit permit usage can 
increase; throughput under the same byte limit may decrease. Estimates retain 
their existing conventions and are not exact serialized/network byte counts.
   
   ### How was this patch tested?
   
   - Reproduced the three new API regressions against unchanged production code 
on Java 8 and Java 11: two assertion failures and one null-pointer error.
   - API/JSON dependency reactor: 523 tests passed on each JDK.
   - Focused collector, metrics, and rate-limiter checks passed. The embedded 
batch job finished on both JDKs with 3 records and 17 estimated bytes at source 
and sink.
   - Repository-wide `spotless:apply` passed; Java 11 `./mvnw -q -DskipTests 
verify` passed.
   
   With `JAVA_HOME` set to the target JDK:
   
   ```sh
   ./mvnw -B -pl seatunnel-api,seatunnel-formats/seatunnel-format-json -am 
verify
   ./mvnw -B -pl seatunnel-engine/seatunnel-engine-server -am \
     
'-Dtest=SeaTunnelRowTest,JsonRowDataSerDeSchemaTest,SeaTunnelSourceCollector*Test,ConnectorMetricsCalcContextTest,FlowControlGateTest,NestedRowAccountingTest'
 \
     -Dsurefire.failIfNoSpecifiedTests=false -Dskip.ui=true verify
   ```
   
   Java versions: Oracle 1.8.0_172 and Temurin 11.0.19. The Java 8 batch test 
was rerun separately after correcting its configuration fixture. Full connector 
E2E suites and external Gravitino validation were not run; row-array coverage 
uses the schema API, JSON decoder, and collectors.
   
   ### Check list
   
   * [x] No new Jar packages or license notices required.
   * [x] Updated English and Chinese documentation.
   * [x] No incompatible API/configuration changes requiring an 
`incompatible-changes.md` entry; observable accounting changes are described 
above.
   * [x] No connector registration, distribution, or plugin mapping changes 
required.
   
   


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