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

refactor: cleanup server logic (backport #15041) #16203

Closed
wants to merge 9 commits into from

Conversation

yihuang
Copy link
Collaborator

@yihuang yihuang commented May 18, 2023

Description

Refs: #16202


Author Checklist

All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.

I have...

  • included the correct type prefix in the PR title
  • added ! to the type prefix if API or client breaking change
  • targeted the correct branch (see PR Targeting)
  • provided a link to the relevant issue or specification
  • followed the guidelines for building modules
  • included the necessary unit and integration tests
  • added a changelog entry to CHANGELOG.md
  • included comments for documenting Go code
  • updated the relevant documentation or specification
  • reviewed "Files changed" and left comments if necessary
  • confirmed all CI checks have passed

Reviewers Checklist

All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.

I have...

  • confirmed the correct type prefix in the PR title
  • confirmed ! in the type prefix if API or client breaking change
  • confirmed all author checklist items have been addressed
  • reviewed state machine logic
  • reviewed API design and naming
  • reviewed documentation is accurate
  • reviewed tests and test coverage
  • manually tested (if applicable)

@julienrbrt
Copy link
Member

If we backport this to v0.46.x, we need to re-open #15128 and merge it for v0.47 as well.

@yihuang
Copy link
Collaborator Author

yihuang commented May 18, 2023

If we backport this to v0.46.x, we need to re-open #15128 and merge it for v0.47 as well.

I see, I can fix that PR as well.

@yihuang
Copy link
Collaborator Author

yihuang commented May 18, 2023

recreated a PR for backport to 0.47: #16207

@github-actions github-actions bot added the C:CLI label May 19, 2023
Comment on lines +121 to +130
go func(enableUnsafeCORS bool) {
s.logger.Info("starting API server...", "address", cfg.Address)

s.logger.Info("starting API server...")
return tmrpcserver.Serve(s.listener, s.Router, s.logger, tmCfg)
if enableUnsafeCORS {
allowAllCORS := handlers.CORS(handlers.AllowedHeaders([]string{"Content-Type"}))
errCh <- tmrpcserver.Serve(s.listener, allowAllCORS(s.Router), s.logger, tmCfg)
} else {
errCh <- tmrpcserver.Serve(s.listener, s.Router, s.logger, tmCfg)
}
}(cfg.EnableUnsafeCORS)

Check notice

Code scanning / CodeQL

Spawning a Go routine

Spawning a Go routine may be a possible source of non-determinism
@github-actions github-actions bot added the C:x/distribution distribution module related label May 19, 2023
)

// StartGRPCWeb starts a gRPC-Web server on the given address.
func StartGRPCWeb(grpcSrv *grpc.Server, config config.Config) (*http.Server, error) {
func StartGRPCWeb(ctx context.Context, logger log.Logger, grpcSrv *grpc.Server, config config.GRPCWebConfig) error {
Copy link
Member

Choose a reason for hiding this comment

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

Are we ok breaking the API in a point release?

// Note, this creates a blocking process if the server is started successfully.
// Otherwise, an error is returned. The caller is expected to provide a Context
// that is properly canceled or closed to indicate the server should be stopped.
func (s *Server) Start(ctx context.Context, cfg config.APIConfig) error {
Copy link
Member

Choose a reason for hiding this comment

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

ditto

@tac0turtle
Copy link
Member

tac0turtle commented May 19, 2023

please dont break apis in backports unless its needed in backports

@julienrbrt
Copy link
Member

Closing because of API break in point version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants