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

Add support for forwarding Nexus HTTP requests #5793

Merged
merged 21 commits into from May 24, 2024

Conversation

pdoerner
Copy link
Contributor

@pdoerner pdoerner commented Apr 25, 2024

What changed?

  • Added a new component cluster.HttpClientCache which serves a similar purpose to our gRPC ClientBean but provides HTTP clients for remote clusters.
  • Added logic to forward Nexus requests from standby clusters to active.
  • Exposed frontend namespace.Registry from our test temporalImpl so that tests can use Eventually functions to wait for namespace data to be updated in-memory without having to use time.Sleep

Why?

So that Nexus requests can be forwarded across clusters.

How did you test it?

New unit and functional tests.

service/frontend/nexus_handler.go Outdated Show resolved Hide resolved
service/frontend/nexus_handler.go Outdated Show resolved Hide resolved
service/frontend/nexus_handler.go Outdated Show resolved Hide resolved
service/frontend/nexus_handler.go Outdated Show resolved Hide resolved
service/frontend/nexus_handler.go Outdated Show resolved Hide resolved
service/frontend/nexus_handler_test.go Outdated Show resolved Hide resolved
service/frontend/nexus_handler_test.go Outdated Show resolved Hide resolved
tests/xdc/nexus_request_forwarding_test.go Outdated Show resolved Hide resolved
tests/xdc/nexus_request_forwarding_test.go Outdated Show resolved Hide resolved
tests/xdc/nexus_request_forwarding_test.go Show resolved Hide resolved
@pdoerner pdoerner requested a review from bergundy May 2, 2024 23:51
@pdoerner pdoerner marked this pull request as ready for review May 2, 2024 23:51
@pdoerner pdoerner requested a review from a team as a code owner May 2, 2024 23:51
common/cluster/http_client.go Outdated Show resolved Hide resolved
common/cluster/http_client.go Outdated Show resolved Hide resolved
common/cluster/http_client.go Outdated Show resolved Hide resolved
common/nexus/failure.go Outdated Show resolved Hide resolved
service/frontend/nexus_handler.go Show resolved Hide resolved
service/frontend/nexus_handler.go Outdated Show resolved Hide resolved
service/frontend/nexus_handler_test.go Outdated Show resolved Hide resolved
tests/xdc/nexus_request_forwarding_test.go Show resolved Hide resolved
tests/xdc/nexus_request_forwarding_test.go Show resolved Hide resolved
tests/xdc/nexus_request_forwarding_test.go Outdated Show resolved Hide resolved
@pdoerner pdoerner requested a review from bergundy May 15, 2024 21:54
Copy link
Member

@bergundy bergundy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This mostly LGTM, I left a few more comments.

common/nexus/failure.go Show resolved Hide resolved
common/nexus/failure.go Outdated Show resolved Hide resolved
common/resource/fx.go Outdated Show resolved Hide resolved
service/frontend/nexus_handler.go Show resolved Hide resolved
service/frontend/nexus_handler.go Show resolved Hide resolved
tests/xdc/nexus_request_forwarding_test.go Show resolved Hide resolved
tests/xdc/nexus_request_forwarding_test.go Outdated Show resolved Hide resolved
tests/xdc/nexus_request_forwarding_test.go Outdated Show resolved Hide resolved
@pdoerner pdoerner requested a review from bergundy May 21, 2024 17:19
Copy link
Member

@bergundy bergundy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All I had left was nits, merge at will.

common/cluster/frontend_http_client.go Show resolved Hide resolved
common/cluster/frontend_http_client.go Show resolved Hide resolved
service/frontend/nexus_handler.go Show resolved Hide resolved
service/frontend/nexus_handler.go Show resolved Hide resolved
service/frontend/nexus_handler.go Show resolved Hide resolved
service/frontend/nexus_handler.go Show resolved Hide resolved
@pdoerner pdoerner merged commit b4c2cca into temporalio:main May 24, 2024
42 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants