I tried different variations of this code - initializing response outside of try catch etc. None of these seems to matter - it sometimes close the channel and return failure in catch block, sometimes it just prints error and blocks the application.
It seems similar to race condition to me. I figured out a solution, which seems to be valid, though I still think this design is an issue, and requires a change, or at least some information in documentation.
grpc package version: 3.1.0
When I create a gRPC call inside
try catch
block, it randomly can not close the channel and blocks the entire application.I tried different variations of this code - initializing response outside of
try catch
etc. None of these seems to matter - it sometimes close the channel and return failure in catch block, sometimes it just prints error and blocks the application.It seems similar to race condition to me. I figured out a solution, which seems to be valid, though I still think this design is an issue, and requires a change, or at least some information in documentation.
Running in isolation seems to fix the problem.
Repro steps
Expected result:
Actual result:
Details
<Include any other relevant details, logs, etc.>