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

[extension/jaegerremotesampling] port collision when converting old receiver settings #14707

Closed
frzifus opened this issue Oct 4, 2022 · 10 comments

Comments

@frzifus
Copy link
Member

frzifus commented Oct 4, 2022

What happened?

Description

The jaeger remote sampling extension collides when converting old jaeger receiver settings. The problem can be solved by manually switching to another port, but this leads to potentially invalid configurations for reporters.

Extension readme says:

By default, two listeners are made available:

    localhost:5778, following the legacy remote sampling endpoint as defined by Jaeger
    localhost:14250, following the gRPC remote sampling endpoint, also defined by Jaeger

Note that the port 14250 will clash with the Jaeger Receiver. When both are used, it's recommended to change this extension to use another port.

Expected Result

If the extension port matches the receiver port, both endpoints should be registered to the same gRPC server.

Actual Result

Collector does not launch.

Collector version

v0.61.0

Environment information

No response

OpenTelemetry Collector configuration

# v0.60.0 or less
---
receivers:
  jaeger:
    protocols:
      grpc:
    remote_sampling:
      strategy_file: "strategy.json"
      strategy_file_reload_interval: 10s

exporters:
  logging:

service:
  pipelines:
    traces:
      exporters:
      - logging
      receivers:
      - jaeger

# v0.61.0 or higher
---
extensions:
  jaegerremotesampling:
    source:
      reload_interval: 10s
      file: strategy.json
receivers:
  jaeger:
    protocols:
      grpc:

exporters:
  logging:

service:
  extensions:
  - jaegerremotesampling
  pipelines:
    traces:
      exporters:
      - logging
      receivers:
      - jaeger

Log output

Error: cannot start pipelines: failed to bind to gRPC address {"0.0.0.0:14250" "tcp"}: listen tcp 0.0.0.0:14250: bind: address already in use
2022-10-04 17:57:04.066136 I | collector server run finished with error: cannot start pipelines: failed to bind to gRPC address {"0.0.0.0:14250" "tcp"}: listen tcp 0.0.0.0:14250: bind: address already in use

Additional context

No response

@frzifus frzifus added bug Something isn't working needs triage New item requiring triage labels Oct 4, 2022
@jpkrohling
Copy link
Member

Is it possible to use the same server on multiple components?

@frzifus
Copy link
Member Author

frzifus commented Oct 6, 2022

Not sure, if not, we could think about something like a connection/protocol registry.

@github-actions
Copy link
Contributor

This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping @open-telemetry/collector-contrib-triagers. If this issue is still relevant, please ping the code owners or leave a comment explaining why it is still relevant. Otherwise, please close it.

Pinging code owners:

See Adding Labels via Comments if you do not have permissions to add labels yourself.

@github-actions github-actions bot added the Stale label Dec 12, 2022
@jpkrohling
Copy link
Member

There was a discussion elsewhere (can't remember where, perhaps during the SIG Collector?) about reusing the same gRPC/HTTP server across components. It would solve the problem described here. Would you be interested in coming up with a proposal for that?

@frzifus
Copy link
Member Author

frzifus commented Jan 25, 2023

hm.. I remember the github discussion. Yes, ive it on my radar. But in the next 2-3 weeks I can not make it.

@frzifus frzifus removed the Stale label Jan 25, 2023
@github-actions
Copy link
Contributor

This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping @open-telemetry/collector-contrib-triagers. If this issue is still relevant, please ping the code owners or leave a comment explaining why it is still relevant. Otherwise, please close it.

Pinging code owners:

See Adding Labels via Comments if you do not have permissions to add labels yourself.

@github-actions
Copy link
Contributor

This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping @open-telemetry/collector-contrib-triagers. If this issue is still relevant, please ping the code owners or leave a comment explaining why it is still relevant. Otherwise, please close it.

Pinging code owners:

See Adding Labels via Comments if you do not have permissions to add labels yourself.

@github-actions github-actions bot added the Stale label May 29, 2023
@frzifus frzifus removed the Stale label Jun 7, 2023
@jpkrohling
Copy link
Member

ping @frzifus -- is this still on your radar?

@github-actions
Copy link
Contributor

This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping @open-telemetry/collector-contrib-triagers. If this issue is still relevant, please ping the code owners or leave a comment explaining why it is still relevant. Otherwise, please close it.

Pinging code owners:

See Adding Labels via Comments if you do not have permissions to add labels yourself.

@github-actions github-actions bot added the Stale label Aug 28, 2023
@frzifus frzifus removed the Stale label Aug 28, 2023
@jpkrohling
Copy link
Member

I'm closing, as the solution is to deprecate/remove the remote sampling endpoint from the receiver.

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

No branches or pull requests

3 participants