pd: add callee_id to RequestHeader#1379
Conversation
`callee_id` is used to indicate the expected server ID to receive the request. The server SHOULD check if the `callee_id` matches its own ID, normally it's the client url address of the server. We encountered an issue where a tso client caches the stale DNS result and the new tso server takes over the old server's network address, then the tso client connects to the new tso server (a follower) with the actual leader's hostname, creating a hallucination that the leader is not the leader anymore. If the client meets this case, it might never get out of it if it doesn't refresh its DNS cache by reconnecting. Signed-off-by: iosmanthus <myosmanthustree@gmail.com>
Signed-off-by: iosmanthus <myosmanthustree@gmail.com>
|
@bufferflies: adding LGTM is restricted to approvers and reviewers in OWNERS files. DetailsIn response to this: Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
@ystaticy: adding LGTM is restricted to approvers and reviewers in OWNERS files. DetailsIn response to this: Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
@copilot resolve the merge conflicts in this pull request |
…ader Signed-off-by: iosmanthus <myosmanthustree@gmail.com>
|
/retest |
|
@iosmanthus: Cannot trigger testing until a trusted user reviews the PR and leaves an DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
/ok-to-test |
|
@iosmanthus: Cannot trigger testing until a trusted user reviews the PR and leaves an DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
@bufferflies @ystaticy PTAL |
|
@rleungx PTAL |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: bufferflies, disksing, rleungx, ystaticy The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
callee_idis used to indicate the expected server ID to receive the request. The server SHOULD check if thecallee_idmatches its own ID, normally it's the client url address of the server. We encountered an issue where a tso client caches the stale DNS result and the new tso server takes over the old server's network address. Then, the tso client connects to the new tso server (a follower) with the actual leader's hostname, creating a hallucination that the leader is not the leader anymore. If the client meets this case, it might never get out of it if it doesn't refresh its DNS cache by reconnecting. ref tikv/pd#9894