spark icon indicating copy to clipboard operation
spark copied to clipboard

[SPARK-47035][SS][CONNECT] Protocol for Client-Side Listener

Open WweiL opened this issue 1 year ago • 1 comments

What changes were proposed in this pull request?

Currently, the StreamingQueryListener for Connect runs on the server side.

From the user point of view, the purpose of a listener is mainly to have a pushing mechanism that notifies them when queries start / end / make progress. Before, the server-side listener essentially loses this functionality, and we find out that internally there are needs for the client side listener.

The new listener will be running on the client side, with the server continuously pushing the new listener events to the client, and the client will call corresponding callback functions for different listener event types.

This is the first PR that defines the protocol of this new listener.

Why are the changes needed?

Add client side listener which makes more sense.

Does this PR introduce any user-facing change?

Not for this one.

How was this patch tested?

No need for this one, new tests will be added later.

Was this patch authored or co-authored using generative AI tooling?

No

WweiL avatar Feb 13 '24 20:02 WweiL

@grundprinzip

WweiL avatar Feb 13 '24 20:02 WweiL

LGTM once CI pass, thank you!

xinrong-meng avatar Feb 23 '24 19:02 xinrong-meng

Thanks! merging to master.

ueshin avatar Feb 23 '24 21:02 ueshin