-
Notifications
You must be signed in to change notification settings - Fork 590
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
remote sink writer gets stuck when connector node throws exception #12521
Comments
Our current logic of remote sink writer: On client side we have an bounded request channel. The receiver side is passed to the grpc client when making a new request. The remote sink writer holds a sender to send the request. For On server side, our implemented stream observer is like the following
|
Just had a test on the behavior of java grpc server. In our current implementation, when any exception is thrown in Since |
Some new test. If we change the logic to throw the caught exception
The behavior is the same. The log of connector node will have an exception log from the grpc runtime.
The |
In conclusion, on either But in either way, on client side, the request receiver will not be dropped, and we can still send new request with the sender without any error, and will get stuck when the bounded channel gets full. The only way for the client to know about the error in stream is to poll the response stream. |
Describe the bug
When using jdbc sink, the sink writer gets stuck when the connector node throws an exception while writing a chunk to the external database.
Barriers get piled up. Sink executor has no throughput.
Error message/log
No response
To Reproduce
No response
Expected behavior
Manually comment out some code and keep only the following logic
When we create the following datagen source and jdbc sink
The sink writer gets stuck.
How did you deploy RisingWave?
No response
The version of RisingWave
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: