microsoft / microsoft/durabletask-java
GRPC error when calling DurableClientContext.getClient
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 29
- Forks
- 18
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 2
Description
Hi,
I'm experimenting with writing a Java Durable function and have been getting this strange error message when I try and kick off an orchestration using DurableClientContext.getClient.
The issue is transient.
I'm using Java 17.
All the durable function packages are up to date.
The error occurs running locally on windows as-well as on an Azure Function app in the cloud (linux).
The weird thing is the orchestrations all seem to run so I'd like to know if this is safe to ignore.
The error message looks like this:
[2024-02-20T07:21:36.332Z] Feb 20, 2024 6:21:36 PM io.grpc.internal.ManagedChannelOrphanWrapper$ManagedChannelReference cleanQueue
[2024-02-20T07:21:36.333Z] SEVERE: *~*~*~ Previous channel ManagedChannelImpl{logId=157, target=localhost:4001} was not shutdown properly!!! ~*~*~*
[2024-02-20T07:21:36.333Z] Make sure to call shutdown()/shutdownNow() and wait until awaitTermination() returns true.
and it stems from this call where I am about to kick-off a new orchestration.
[2024-02-20T07:21:36.334Z] java.lang.RuntimeException: ManagedChannel allocation site
[2024-02-20T07:21:36.334Z] at io.grpc.internal.ManagedChannelOrphanWrapper$ManagedChannelReference.<init>(ManagedChannelOrphanWrapper.java:102)
[2024-02-20T07:21:36.334Z] at io.grpc.internal.ManagedChannelOrphanWrapper.<init>(ManagedChannelOrphanWrapper.java:60)
[2024-02-20T07:21:36.335Z] at io.grpc.internal.ManagedChannelOrphanWrapper.<init>(ManagedChannelOrphanWrapper.java:51)
[2024-02-20T07:21:36.335Z] at io.grpc.internal.ManagedChannelImplBuilder.build(ManagedChannelImplBuilder.java:655)
[2024-02-20T07:21:36.336Z] at io.grpc.ForwardingChannelBuilder2.build(ForwardingChannelBuilder2.java:261)
[2024-02-20T07:21:36.336Z] at com.microsoft.durabletask.DurableTaskGrpcClient.<init>(DurableTaskGrpcClient.java:51)
[2024-02-20T07:21:36.337Z] at com.microsoft.durabletask.DurableTaskGrpcClientBuilder.build(DurableTaskGrpcClientBuilder.java:61)
[2024-02-20T07:21:36.337Z] at com.microsoft.durabletask.azurefunctions.DurableClientContext.getClient(DurableClientContext.java:59)
Is it safe to ignore? Should it be logged out?
Thanks,
Graeme
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with com.microsoft.durabletask.azurefunctions.DurableClientContext.getClient and trace how it builds com.microsoft.durabletask.DurableTaskGrpcClient through DurableTaskGrpcClientBuilder. Reproduce the transient ManagedChannel warning locally and compare the client lifecycle with the gRPC shutdown guidance; done means determining whether the channel is improperly left open and whether the warning should be prevented or logged differently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- grpc, java
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100