[SPARK-47035][SS][CONNECT] Protocol for Client-Side Listener
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
@grundprinzip
LGTM once CI pass, thank you!
Thanks! merging to master.