-
Notifications
You must be signed in to change notification settings - Fork 9.8k
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
Migrate aborted validation of Authenticate() to clientv3 side #10408
Comments
@mitake Does this part of the code have the same logic? If the revision is already behind, does retry help? Lines 531 to 538 in 1fe6f10
|
@jingyih yeah the motivation of the code is shared with the older version of |
Hi @jingyih @mitake @horkhe how are you? I'm using etcd v3.4.0 and still have this infinite loop issue. According to my troubleshooting, it's truly from raftRequest(). // in etcdserver/v3_server.go
539 func (s *EtcdServer) raftRequest(ctx context.Context, r pb.InternalRaftRequest) (proto.Message, error) {
540 | i := 0
541 | for {
542 | | i++
543 | | resp, err := s.raftRequestOnce(ctx, r)
544 | | plog.Errorf("...... raftRequest: %v th, err: %v", i, err)
545 | | if err != auth.ErrAuthOldRevision {
546 | | | return resp, err
547 | | }
548 | }
549 } Here is the log output: 11:35:12 etcd1 | 2019-10-25 11:35:12.712630 E | etcdserver: ...... raftRequest: 1675 th, err: auth: revision in header is old
11:35:12 etcd1 | 2019-10-25 11:35:12.713339 E | etcdserver: ...... raftRequest: 1676 th, err: auth: revision in header is old
11:35:12 etcd1 | 2019-10-25 11:35:12.713993 E | etcdserver: ...... raftRequest: 1677 th, err: auth: revision in header is old
11:35:12 etcd1 | 2019-10-25 11:35:12.714770 E | etcdserver: ...... raftRequest: 1678 th, err: auth: revision in header is old
11:35:12 etcd1 | 2019-10-25 11:35:12.715464 E | etcdserver: ...... raftRequest: 1679 th, err: auth: revision in header is old
11:35:12 etcd1 | 2019-10-25 11:35:12.716177 E | etcdserver: ...... raftRequest: 1680 th, err: auth: revision in header is old
11:35:12 etcd1 | 2019-10-25 11:35:12.716832 E | etcdserver: ...... raftRequest: 1681 th, err: auth: revision in header is old
11:35:12 etcd1 | 2019-10-25 11:35:12.717561 E | etcdserver: ...... raftRequest: 1682 th, err: auth: revision in header is old
11:35:12 etcd1 | 2019-10-25 11:35:12.718271 E | etcdserver: ...... raftRequest: 1683 th, err: auth: revision in header is old
11:35:12 etcd1 | 2019-10-25 11:35:12.718933 E | etcdserver: ...... raftRequest: 1684 th, err: auth: revision in header is old
11:35:12 etcd1 | 2019-10-25 11:35:12.719672 E | etcdserver: ...... raftRequest: 1685 th, err: auth: revision in header is old
11:35:12 etcd1 | 2019-10-25 11:35:12.720348 E | etcdserver: ...... raftRequest: 1686 th, err: auth: revision in header is old
11:35:12 etcd1 | 2019-10-25 11:35:12.720991 E | etcdserver: ...... raftRequest: 1687 th, err: auth: revision in header is old
11:35:12 etcd1 | 2019-10-25 11:35:12.721675 E | etcdserver: ...... raftRequest: 1688 th, err: auth: revision in header is old
11:35:12 etcd1 | 2019-10-25 11:35:12.722433 E | etcdserver: ...... raftRequest: 1689 th, err: auth: revision in header is old Reproduce:
My questions:
Thanks. |
@xqzhang2015 as you can see this issue is still open. We solved it by running a patched version of etcd :-) |
@horkhe thanks for your comment. Just for double confirmation, is your patch the same as the PR #10468 ? @jingyih @mitake I got your idea about leave the PR #10468 open, but I don't think it's necessary to completely align with the golang client here. Some points:
Thanks. |
/cc @xiang90 any comment? |
@xqzhang2015 Thanks! I think it makes sense to remove the loop on server side. I will update #10468. |
The patch is only part of the solution. You still need to fix the client that does not invalidate a session when |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Sorry for keeping this for a long time... I have a plan for this so let me remove the stale label. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed after 21 days if no further activity occurs. Thank you for your contributions. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed after 21 days if no further activity occurs. Thank you for your contributions. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed after 21 days if no further activity occurs. Thank you for your contributions. |
In #10218, the server side handling of aborted validation for auth store is deleted. We need to migrate it to clientv3 side.
The text was updated successfully, but these errors were encountered: