HeartSaVioR opened a new pull request, #58950:
URL: https://github.com/apache/spark/pull/58950

   ### What changes were proposed in this pull request?
   
   Reject ASOF joins when the right side is streaming. Stream-static ASOF joins 
remain allowed because each streaming row can match against the available 
snapshot of the static right side.
   
   Add UnsupportedOperationChecker coverage for stream-static, static-stream, 
and stream-stream ASOF joins. Add streaming execution coverage for inner and 
left stream-static ASOF joins.
   
   ### Why are the changes needed?
   
   The stateless ASOF join operator cannot provide correct semantics when the 
right side is streaming. Static-stream and stream-stream joins would need state 
to account for future rows that could become better matches.
   
   The internal AsOfJoin logical node was introduced in Spark 3.3 for 
pandas-on-Spark merge_asof, but was not exposed as a public streaming 
operation. SQL ASOF JOIN and the stateless sort-merge operator are introduced 
in Spark 4.3, which is where this becomes user-reachable.
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes. Static-stream and stream-stream ASOF joins now fail analysis with a 
clear unsupported-operation error. Stream-static ASOF joins remain supported.
   
   This affects the unreleased Spark 4.3 line and master.
   
   ### How was this patch tested?
   
   Added focused UnsupportedOperationsSuite coverage for all three 
streaming/static combinations. Added StreamingAsOfJoinSuite coverage for 
matching across multiple micro-batches and preserving unmatched rows in a left 
ASOF join against a static snapshot.
   
   Static whitespace, ASCII, and line-length checks pass. The focused SBT 
suites could not reach compilation locally because dependency resolution 
failed: the configured Maven mirror does not contain 
netty-tcnative-boringssl-static 2.0.84.Final for osx-x86_64, while public Maven 
access was unavailable.
   
   ### Was this patch authored or co-authored using generative AI tooling?
   
   Generated-by: GPT 5.6 SOL


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to