Skip to content
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

Make ManagedChannelBuilder.idleTimeout() non-experimental #2022

Open
zhangkun83 opened this issue Jul 8, 2016 · 9 comments
Open

Make ManagedChannelBuilder.idleTimeout() non-experimental #2022

zhangkun83 opened this issue Jul 8, 2016 · 9 comments
Labels
experimental API Issue tracks stabilizing an experimental API
Milestone

Comments

@zhangkun83
Copy link
Contributor

No description provided.

@ejona86 ejona86 added this to the Unscheduled milestone Aug 22, 2016
@ejona86 ejona86 added the experimental API Issue tracks stabilizing an experimental API label Aug 22, 2016
@dapengzhang0 dapengzhang0 modified the milestones: 1.1, Unscheduled Jan 19, 2017
@dapengzhang0
Copy link
Member

dapengzhang0 commented Jan 19, 2017

not widely used yet, keep unscheduled.

@ejona86
Copy link
Member

ejona86 commented Nov 16, 2017

API review:

  • Want to determine idle mode vs idle state. Probably involves coordination with other implementations.

@deepak-auto
Copy link

any update on making this non-experimental?

@ejona86
Copy link
Member

ejona86 commented Apr 20, 2020

No. Idle mode is still not defined cross-language, so we'd want to keep this experimental until we have a firmer idea what the cross-language semantics would be.

@DanteAndroid
Copy link

@ejona86 Hi, can I just set idleTimeout to a large value to prevent GRPC from entering idle mode? By that I can reuse the same channel object.

@ejona86
Copy link
Member

ejona86 commented Mar 4, 2022

@DanteAndroid, yeah, just use Long.MAX_VALUE with any unit and idle mode is disabled. (I think anything larger than ~1 year or so is enough, but MAX_VALUE is clear and convenient.)

But there's no need to do that to "reuse the same channel object". "idle mode" is essentially the same state of a freshly-created channel, and the channel can exit and reenter idle mode many times. If you send an RPC the channel will exit idle mode and connect without you doing anything else.

@DanteAndroid
Copy link

@ejona86 Actually, I don't think my situation is like what you said. The channel did can exit idle mode, but first it got Unable to resolve host xxx exception. After retry(request again) about 3 times, the channel became normal. So, should I set idleTimeout or just recreate a new one to avoid Unable to resolve host xxx? Thanks again.

@ejona86
Copy link
Member

ejona86 commented Mar 7, 2022

"Unable to resolve host" means DNS resolution failed. A new channel won't help you, as there was a networking issue.

@DanteAndroid
Copy link

@ejona86 Actually its a gRPC bug, please refer to #8860

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
experimental API Issue tracks stabilizing an experimental API
Projects
None yet
Development

No branches or pull requests

5 participants