microsoft / microsoft/durabletask-java

GRPC error when calling DurableClientContext.getClient

Open
#192 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

P2
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.