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

etcdctl: role add 'empty' error #10905

Closed
guanwenbogit opened this issue Jul 18, 2019 · 2 comments
Closed

etcdctl: role add 'empty' error #10905

guanwenbogit opened this issue Jul 18, 2019 · 2 comments
Labels
Milestone

Comments

@guanwenbogit
Copy link

guanwenbogit commented Jul 18, 2019

Please read https://github.com/etcd-io/etcd/blob/master/Documentation/reporting_bugs.md.
when I exec this
./etcdctl role add ''
Well, the role name is empty string .Then I got this:
Error: rpc error: code = Unavailable desc = transport is closing

Even, the etcd server crashed, and it can not be started any more !!!
The etcd server log :
2019-07-18 21:53:21.843673 I | etcdmain: etcd Version: 3.3.0+git 2019-07-18 21:53:21.843723 I | etcdmain: Git SHA: 948e276ca 2019-07-18 21:53:21.843731 I | etcdmain: Go Version: go1.12.1 2019-07-18 21:53:21.843736 I | etcdmain: Go OS/Arch: darwin/amd64 2019-07-18 21:53:21.843745 I | etcdmain: setting maximum number of CPUs to 4, total number of available CPUs is 4 2019-07-18 21:53:21.843755 N | etcdmain: failed to detect default host (default host not supported on darwin_amd64) 2019-07-18 21:53:21.843760 W | etcdmain: no data-dir provided, using default data-dir ./default.etcd 2019-07-18 21:53:21.844305 N | etcdmain: the server is already initialized as member before, starting as etcd member... 2019-07-18 21:53:21.900200 I | embed: name = default 2019-07-18 21:53:21.900223 I | embed: data dir = default.etcd 2019-07-18 21:53:21.900230 I | embed: member dir = default.etcd/member 2019-07-18 21:53:21.900237 I | embed: heartbeat = 100ms 2019-07-18 21:53:21.900243 I | embed: election = 1000ms 2019-07-18 21:53:21.900249 I | embed: snapshot count = 100000 2019-07-18 21:53:21.900267 I | embed: advertise client URLs = http://localhost:2379 2019-07-18 21:53:21.900277 I | embed: initial advertise peer URLs = http://localhost:2380 2019-07-18 21:53:21.900286 I | embed: initial cluster = 2019-07-18 21:53:21.953318 I | etcdserver: restarting member 8e9e05c52164694d in cluster cdf818194e3a8c32 at commit index 8 {"level":"info","ts":"2019-07-18T21:53:21.959+0800","caller":"raft/raft.go:661","msg":"8e9e05c52164694d became follower at term 3"} {"level":"info","ts":"2019-07-18T21:53:21.960+0800","caller":"raft/raft.go:383","msg":"newRaft 8e9e05c52164694d [peers: [], term: 3, commit: 8, applied: 0, lastindex: 8, lastterm: 3]"} 2019-07-18 21:53:21.996324 W | auth: simple token is not cryptographically signed 2019-07-18 21:53:22.015671 I | etcdserver: starting server... [version: 3.3.0+git, cluster version: to_be_decided] 2019-07-18 21:53:22.016860 E | etcdserver: cannot monitor file descriptor usage (cannot get FDUsage on darwin) 2019-07-18 21:53:22.099921 I | etcdserver/membership: added member 8e9e05c52164694d [http://localhost:2380] to cluster cdf818194e3a8c32 2019-07-18 21:53:22.105184 N | etcdserver/membership: set the initial cluster version to 3.3 2019-07-18 21:53:22.105257 I | etcdserver/api: enabled capabilities for version 3.3 2019-07-18 21:53:22.108232 I | embed: listening for peers on 127.0.0.1:2380 2019-07-18 21:53:22.109467 C | mvcc/backend: cannot put key into bucket (key required)

However, after removing the "default.etcd/member" member-dir, the etcd server can start.
More seriously,if these happened in the etcd cluster, all the members wouldn't start any more.
Unless remove the member-dir one node by one node.

etcd Version: 3.3.0+git
Git SHA: 948e276
Go Version: go1.12.1
Go OS/Arch: darwin/amd64

@spzala
Copy link
Member

spzala commented Jul 18, 2019

The key required error is from bbolt. We probably should not allow empty role similar to empty user or member as a quick fix /cc @xiang90 @jingyih (I will create a PR if that makes sense) Thanks!

spzala added a commit to spzala/etcd that referenced this issue Jul 19, 2019
Like user, we should not allow creating empty role.

Related etcd-io#10905
spzala added a commit to spzala/etcd that referenced this issue Jul 19, 2019
Like user, we should not allow creating empty role.

Related etcd-io#10905
@spzala spzala added this to the etcd-v3.4 milestone Jul 20, 2019
spzala added a commit to spzala/etcd that referenced this issue Jul 23, 2019
Like user, we should not allow creating empty role.

Related etcd-io#10905
spzala added a commit to spzala/etcd that referenced this issue Jul 23, 2019
Like user, we should not allow creating empty role.

Related etcd-io#10905
spzala added a commit to spzala/etcd that referenced this issue Jul 24, 2019
Like user, we should not allow creating empty role.

Related etcd-io#10905
@jingyih
Copy link
Contributor

jingyih commented Jul 25, 2019

Fixed by #10907.

@jingyih jingyih closed this as completed Jul 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

3 participants