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

feat(spanner): attempt DirectPath by default #3516

Merged
merged 5 commits into from Jan 14, 2021

Conversation

mohanli-ml
Copy link
Contributor

@mohanli-ml mohanli-ml commented Jan 8, 2021

Update client to attempt DirectPath by default.

Note that it doesn't mean that after this change client will just use DirectPath, but will call the DirectPath codepath by default.

The actually enablement of DirectPath is controlled by service owner via ACL config. For now, after this change, although all users will attempt DirectPath, but they will all just fallback to the original CFE path.

@mohanli-ml mohanli-ml requested review from skuruppu and a team as code owners Jan 8, 2021
@product-auto-label product-auto-label bot added the api: spanner Issues related to the Cloud Spanner API. label Jan 8, 2021
@google-cla google-cla bot added the cla: yes This human has signed the Contributor License Agreement. label Jan 8, 2021
Copy link
Contributor

@tbpg tbpg left a comment

Would this have latency implications for users who don't have access to DirecPath?

@mohanli-ml
Copy link
Contributor Author

mohanli-ml commented Jan 11, 2021

Not sure I 100% understand the question:

  1. If the user's client library version is old and client does not attempt DirectPath, then the user will directly use CFE, which is what it currently is.
  2. If the user's client attempt DirectPath (after this PR gets merged), the request will be checked by ACLs set at grpclb. For now there is no Allow ALCs, so traffic will fallback to CFE, and the latency will be sending a RPC request to the grpclb, and waiting for the response. The latency can be affected by many factors, such as if the client and grpclb are in the same cell, but normally it should be at the level of sub milliseconds. In the worst case, however, the client may wait up to 10 seconds for the response.

@tbpg
Copy link
Contributor

tbpg commented Jan 13, 2021

I guess my question is if this will disrupt users without DirectPath access. Would their requests make an extra round trip? Is that something we should call out prominently in the changelog? I bring it up because users tend to care about network changes (we get issues pretty frequently about various network things).

I don't know -- this may have already been talked about. Up to @skuruppu.

@mohanli-ml
Copy link
Contributor Author

mohanli-ml commented Jan 13, 2021

Users without DirectPath access should not be disrupted. The traffic will fallback to CFE as what is currently is, and users are not supposed to know this.

tbpg
tbpg approved these changes Jan 13, 2021
Copy link
Contributor

@tbpg tbpg left a comment

Got it. Thanks! Please wait for @skuruppu.

@skuruppu
Copy link
Contributor

skuruppu commented Jan 14, 2021

FYI @thiagotnunes

@mohanli-ml mohanli-ml added the automerge Merge the pull request once unit tests and other checks pass. label Jan 14, 2021
@gcf-merge-on-green
Copy link
Contributor

gcf-merge-on-green bot commented Jan 14, 2021

Merge-on-green attempted to merge your PR for 6 hours, but it was not mergeable because either one of your required status checks failed, one of your required reviews was not approved, or there is a do not merge label. Learn more about your required status checks here: https://help.github.com/en/github/administering-a-repository/enabling-required-status-checks. You can remove and reapply the label to re-run the bot.

@gcf-merge-on-green gcf-merge-on-green bot removed the automerge Merge the pull request once unit tests and other checks pass. label Jan 14, 2021
@tbpg tbpg added the automerge Merge the pull request once unit tests and other checks pass. label Jan 14, 2021
@gcf-merge-on-green gcf-merge-on-green bot merged commit bbc61ed into googleapis:master Jan 14, 2021
2 checks passed
@gcf-merge-on-green gcf-merge-on-green bot removed the automerge Merge the pull request once unit tests and other checks pass. label Jan 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: spanner Issues related to the Cloud Spanner API. cla: yes This human has signed the Contributor License Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants