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

some etcdctl commands use default timeout instead of user specified value #3517

Closed
mitake opened this issue Sep 14, 2015 · 1 comment
Closed

Comments

@mitake
Copy link
Contributor

mitake commented Sep 14, 2015

Some etcdctl commands (e.g. etcdctl member) seem to use client.DefaultRequestTimeout instead of c.GlobalDuration("timeout"). Therefore their timeout value is different from user specified value (--timeout). Is this intentional?

mitake added a commit to mitake/etcd that referenced this issue Sep 14, 2015
etcdctl should use a timeout value specified with the option --timeout

Fixes etcd-io#3517
@xiang90
Copy link
Contributor

xiang90 commented Sep 14, 2015

LGTM. Thanks!

mitake added a commit to mitake/etcd that referenced this issue Sep 15, 2015
etcdctl should use a user specified timeout value. This commit adds a
new option --total-timeout to the command. The value passed via this
option is used as a timeout value of entire RPC (API call of client).

Fixes etcd-io#3517
mitake referenced this issue in mitake/etcd Sep 15, 2015
etcdctl should be capable to use a user specified timeout value for
total command execution, not only per request timeout. This commit
adds a new option --total-timeout to the command. The value passed via
this option is used as a timeout value of entire command execution.

Fixes coreos#3517
mitake referenced this issue in mitake/etcd Sep 15, 2015
etcdctl should be capable to use a user specified timeout value for
total command execution, not only per request timeout. This commit
adds a new option --total-timeout to the command. The value passed via
this option is used as a timeout value of entire command execution.

Fixes coreos#3517
mitake referenced this issue in mitake/etcd Sep 24, 2015
etcdctl should be capable to use a user specified timeout value for
total command execution, not only per request timeout. This commit
adds a new option --total-timeout to the command. The value passed via
this option is used as a timeout value of entire command execution.

Fixes coreos#3517
mitake referenced this issue in mitake/etcd Sep 24, 2015
etcdctl should be capable to use a user specified timeout value for
total command execution, not only per request timeout. This commit
adds a new option --total-timeout to the command. The value passed via
this option is used as a timeout value of entire command execution.

Fixes coreos#3517
mitake referenced this issue in mitake/etcd Sep 25, 2015
etcdctl should be capable to use a user specified timeout value for
total command execution, not only per request timeout. This commit
adds a new option --total-timeout to the command. The value passed via
this option is used as a timeout value of entire command execution.

This commit introduces a new rule of timeout for the commands:
 - If a command issues only one API call, the call is executed in a
   total context. The total context is created with
   contextWithTotalTimeout(). It means that the API call can use
   whole timeout.
 - if a command issues more than twice API calls, the calls is
   executed in a per request context. The per request context is
   created with contextWithPerRequestTimeout() and it should be a
   child of the total context.

Fixes coreos#3517
mitake referenced this issue in mitake/etcd Sep 25, 2015
etcdctl should be capable to use a user specified timeout value for
total command execution, not only per request timeout. This commit
adds a new option --total-timeout to the command. The value passed via
this option is used as a timeout value of entire command execution.

This commit introduces a new rule of timeout for the commands:
 - If a command issues only one API call, the call is executed in a
   total context. The total context is created with
   contextWithTotalTimeout() and its timeout is passed to etcdctl with
   --total-timeout. It means that the API call can use whole timeout.
 - if a command issues more than twice API calls, the calls is
   executed in a per request context. The per request context is
   created with contextWithPerRequestTimeout() and its timeout is
   passed passed to etcdctl with --timeout. The context should be a
   child of the total context.

Fixes coreos#3517
mitake referenced this issue in mitake/etcd Sep 28, 2015
etcdctl should be capable to use a user specified timeout value for
total command execution, not only per request timeout. This commit
adds a new option --total-timeout to the command. The value passed via
this option is used as a timeout value of entire command execution.

This commit introduces a new rule of timeout for the commands:
 - If a command issues only one API call, the call is executed in a
   total context. The total context is created with
   contextWithTotalTimeout() and its timeout is passed to etcdctl with
   --total-timeout. It means that the API call can use whole timeout.
 - if a command issues more than twice API calls, the calls is
   executed in a per request context. The per request context is
   created with contextWithPerRequestTimeout() and its timeout is
   passed passed to etcdctl with --timeout. The context should be a
   child of the total context.

Fixes coreos#3517
mitake referenced this issue in mitake/etcd Sep 28, 2015
etcdctl should be capable to use a user specified timeout value for
total command execution, not only per request timeout. This commit
adds a new option --total-timeout to the command. The value passed via
this option is used as a timeout value of entire command execution.

Fixes coreos#3517
mitake added a commit to osrg/namazu that referenced this issue Oct 1, 2015
example/etcd/3517-reproduce has a configuration for reproducing
etcd-io/etcd#3517 .

The commit used for test is c645ac23c0093e2b0a93fa5f07a947344d7ef779,
which doesn't have a bugfix 8ebc9331111395fedbeedb3a346b302b95b147cc
for the above issue.
yichengq referenced this issue in yichengq/etcd Oct 15, 2015
etcdctl should be capable to use a user specified timeout value for
total command execution, not only per request timeout. This commit
adds a new option --total-timeout to the command. The value passed via
this option is used as a timeout value of entire command execution.

Fixes coreos#3517
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

2 participants