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

otlp default endpoint port for http is different from collector receiver default #1920

Closed
blumamir opened this issue Sep 14, 2021 · 7 comments · Fixed by #1970
Closed

otlp default endpoint port for http is different from collector receiver default #1920

blumamir opened this issue Sep 14, 2021 · 7 comments · Fixed by #1970
Assignees
Labels
spec:protocol Related to the specification/protocol directory

Comments

@blumamir
Copy link
Member

According to the spec, the default value for Endpoint (OTLP/HTTP) is https://localhost:4317, However, the collector default listening port for otlp over HTTP is 4318:

endpoint (default = 0.0.0.0:4317 for grpc protocol, 0.0.0.0:4318 http protocol)

Should the spec change the default endpoint port for OTLP/HTTP from 4317 to 4318 to be synced with the collector's port?

@blumamir blumamir added the spec:protocol Related to the specification/protocol directory label Sep 14, 2021
@blumamir blumamir changed the title otlp default endpoint port for http is different than collector receiver default otlp default endpoint port for http is different from collector receiver default Sep 14, 2021
@Oberon00
Copy link
Member

It seems like this is a recurring problem, we had a similar issue in #1816.
CC @tigrannajaryan

@tigrannajaryan
Copy link
Member

tigrannajaryan commented Sep 14, 2021

This is an unfortunate result of moving back and forth on the decision to have a single port or 2 separate ports. Collector currently has 2 ports but there is a draft PR which tries to combine them according to the spec (and we are not certain merging will be successful).

We can change change the spec to match the reality for now and then if we are able to merge the ports in the Collector amend the spec again. The SDKs are/will likely use different ports and changing a default port is a breaking change so I am not sure if this is a good idea. I don't know how to nicely handle this so that it is not a breaking change. On the Collector side we can make the OTLP receiver accept data on both ports even after the port merging is implemented, but that doesn't help other receivers (e.g. backends).

Any thoughts on how to make this transition without breaking stuff?

@carlosalberto
Copy link
Contributor

As we have mentioned, at Lightstep we had a few problems using a single port for such functionality, and I'd rather have a unified port as a feature (if the prototype proves it's all good). That would be a rather conservative position, but probably it's a good position at this time.

@carlosalberto
Copy link
Contributor

@tigrannajaryan any though after it was mentioned that open-telemetry/opentelemetry-collector#3765 may not receive enough iterations in the near future?

@tigrannajaryan
Copy link
Member

I think given that we heard using one port caused pains for others in the past and given that we do not have an existing Collector implementation that uses one port and do not have anyone with experience who can contribute an implementation that uses one port we should stop pursuing one port and go with 2 ports.
Collector already uses 2 ports, it works and is known to not have any problems. I do not think it is very important to have one port and risk having problems down the road.

The SDK exporters and any other OTLP senders must choose the transport (gRPC or HTTP) anyway. When this choice is made the senders can also choose the correct port, so it is not additional burden for the end user.

Unless anybody has strong objections I suggest that we keep the ports separate.

@tigrannajaryan
Copy link
Member

I also raised this in the Maintainers meeting and did not hear any objections to my suggestion to keep the ports separate.

tigrannajaryan added a commit to tigrannajaryan/opentelemetry-specification that referenced this issue Sep 27, 2021
Related to open-telemetry#1816
Fixes open-telemetry#1835
Fixes open-telemetry#1920

Some historical context: we wanted to make grpc and http use the same port and we
had an open issue in the Collector to do so:
open-telemetry/opentelemetry-collector#1256

The conclusion is that there are technical hurdles that make it unfeasible:
open-telemetry/opentelemetry-collector#1256 (comment)

Because of that we need to keep grpc and http ports separate. This means we need to
change the spec to say that otlp/http uses port 4318. Once this PR is merged we
will also need to submit for port 4318 registration with IANA like we did previously
with port 4317:
open-telemetry#1148 (comment)

There was also a draft PR to merge the ports in the Collector but it was not completed:
open-telemetry/opentelemetry-collector#3765

Note that this change was initially submitted in PR open-telemetry#1839
and then reverted in PR open-telemetry#1847
because we hoped that the merging could be successfully done. We believe that we should
no longer pursue this and should consider the ports separate from now on.
tigrannajaryan added a commit to tigrannajaryan/opentelemetry-specification that referenced this issue Sep 27, 2021
Related to open-telemetry#1816
Fixes open-telemetry#1835
Fixes open-telemetry#1920

Some historical context: we wanted to make grpc and http use the same port and we
had an open issue in the Collector to do so:
open-telemetry/opentelemetry-collector#1256

The conclusion is that there are technical hurdles that make it unfeasible:
open-telemetry/opentelemetry-collector#1256 (comment)

Because of that we need to keep grpc and http ports separate. This means we need to
change the spec to say that otlp/http uses port 4318. Once this PR is merged we
will also need to submit for port 4318 registration with IANA like we did previously
with port 4317:
open-telemetry#1148 (comment)

There was also a draft PR to merge the ports in the Collector but it was not completed:
open-telemetry/opentelemetry-collector#3765

Note that this change was initially submitted in PR open-telemetry#1839
and then reverted in PR open-telemetry#1847
because we hoped that the merging could be successfully done. We believe that we should
no longer pursue this and should consider the ports separate from now on.
@tigrannajaryan
Copy link
Member

PR submitted to split the ports in the spec: #1970

tigrannajaryan added a commit that referenced this issue Sep 29, 2021
Related to #1816
Fixes #1835
Fixes #1920

Some historical context: we wanted to make grpc and http use the same port and we
had an open issue in the Collector to do so:
open-telemetry/opentelemetry-collector#1256

The conclusion is that there are technical hurdles that make it unfeasible:
open-telemetry/opentelemetry-collector#1256 (comment)

Because of that we need to keep grpc and http ports separate. This means we need to
change the spec to say that otlp/http uses port 4318. Once this PR is merged we
will also need to submit for port 4318 registration with IANA like we did previously
with port 4317:
#1148 (comment)

There was also a draft PR to merge the ports in the Collector but it was not completed:
open-telemetry/opentelemetry-collector#3765

Note that this change was initially submitted in PR #1839
and then reverted in PR #1847
because we hoped that the merging could be successfully done. We believe that we should
no longer pursue this and should consider the ports separate from now on.

Note 2: we consider this a spec bug fix (spec was impossible to implement), rather than a 
functionality change, that's why we believe this is an allowed change.
tigrannajaryan added a commit to tigrannajaryan/opentelemetry-proto that referenced this issue Apr 20, 2023
Related to open-telemetry/opentelemetry-specification#1816
Fixes open-telemetry/opentelemetry-specification#1835
Fixes open-telemetry/opentelemetry-specification#1920

Some historical context: we wanted to make grpc and http use the same port and we
had an open issue in the Collector to do so:
open-telemetry/opentelemetry-collector#1256

The conclusion is that there are technical hurdles that make it unfeasible:
open-telemetry/opentelemetry-collector#1256 (comment)

Because of that we need to keep grpc and http ports separate. This means we need to
change the spec to say that otlp/http uses port 4318. Once this PR is merged we
will also need to submit for port 4318 registration with IANA like we did previously
with port 4317:
open-telemetry/opentelemetry-specification#1148 (comment)

There was also a draft PR to merge the ports in the Collector but it was not completed:
open-telemetry/opentelemetry-collector#3765

Note that this change was initially submitted in PR open-telemetry/opentelemetry-specification#1839
and then reverted in PR open-telemetry/opentelemetry-specification#1847
because we hoped that the merging could be successfully done. We believe that we should
no longer pursue this and should consider the ports separate from now on.

Note 2: we consider this a spec bug fix (spec was impossible to implement), rather than a
functionality change, that's why we believe this is an allowed change.
tigrannajaryan added a commit to tigrannajaryan/opentelemetry-proto that referenced this issue Apr 21, 2023
Related to open-telemetry/opentelemetry-specification#1816
Fixes open-telemetry/opentelemetry-specification#1835
Fixes open-telemetry/opentelemetry-specification#1920

Some historical context: we wanted to make grpc and http use the same port and we
had an open issue in the Collector to do so:
open-telemetry/opentelemetry-collector#1256

The conclusion is that there are technical hurdles that make it unfeasible:
open-telemetry/opentelemetry-collector#1256 (comment)

Because of that we need to keep grpc and http ports separate. This means we need to
change the spec to say that otlp/http uses port 4318. Once this PR is merged we
will also need to submit for port 4318 registration with IANA like we did previously
with port 4317:
open-telemetry/opentelemetry-specification#1148 (comment)

There was also a draft PR to merge the ports in the Collector but it was not completed:
open-telemetry/opentelemetry-collector#3765

Note that this change was initially submitted in PR open-telemetry/opentelemetry-specification#1839
and then reverted in PR open-telemetry/opentelemetry-specification#1847
because we hoped that the merging could be successfully done. We believe that we should
no longer pursue this and should consider the ports separate from now on.

Note 2: we consider this a spec bug fix (spec was impossible to implement), rather than a
functionality change, that's why we believe this is an allowed change.
tigrannajaryan added a commit to open-telemetry/opentelemetry-proto that referenced this issue Apr 27, 2023
Related to open-telemetry/opentelemetry-specification#1816
Fixes open-telemetry/opentelemetry-specification#1835
Fixes open-telemetry/opentelemetry-specification#1920

Some historical context: we wanted to make grpc and http use the same port and we
had an open issue in the Collector to do so:
open-telemetry/opentelemetry-collector#1256

The conclusion is that there are technical hurdles that make it unfeasible:
open-telemetry/opentelemetry-collector#1256 (comment)

Because of that we need to keep grpc and http ports separate. This means we need to
change the spec to say that otlp/http uses port 4318. Once this PR is merged we
will also need to submit for port 4318 registration with IANA like we did previously
with port 4317:
open-telemetry/opentelemetry-specification#1148 (comment)

There was also a draft PR to merge the ports in the Collector but it was not completed:
open-telemetry/opentelemetry-collector#3765

Note that this change was initially submitted in PR open-telemetry/opentelemetry-specification#1839
and then reverted in PR open-telemetry/opentelemetry-specification#1847
because we hoped that the merging could be successfully done. We believe that we should
no longer pursue this and should consider the ports separate from now on.

Note 2: we consider this a spec bug fix (spec was impossible to implement), rather than a
functionality change, that's why we believe this is an allowed change.
joaopgrassi pushed a commit to dynatrace-oss-contrib/semantic-conventions that referenced this issue Mar 21, 2024
Related to open-telemetry/opentelemetry-specification#1816
Fixes open-telemetry/opentelemetry-specification#1835
Fixes open-telemetry/opentelemetry-specification#1920

Some historical context: we wanted to make grpc and http use the same port and we
had an open issue in the Collector to do so:
open-telemetry/opentelemetry-collector#1256

The conclusion is that there are technical hurdles that make it unfeasible:
open-telemetry/opentelemetry-collector#1256 (comment)

Because of that we need to keep grpc and http ports separate. This means we need to
change the spec to say that otlp/http uses port 4318. Once this PR is merged we
will also need to submit for port 4318 registration with IANA like we did previously
with port 4317:
open-telemetry/opentelemetry-specification#1148 (comment)

There was also a draft PR to merge the ports in the Collector but it was not completed:
open-telemetry/opentelemetry-collector#3765

Note that this change was initially submitted in PR open-telemetry/opentelemetry-specification#1839
and then reverted in PR open-telemetry/opentelemetry-specification#1847
because we hoped that the merging could be successfully done. We believe that we should
no longer pursue this and should consider the ports separate from now on.

Note 2: we consider this a spec bug fix (spec was impossible to implement), rather than a 
functionality change, that's why we believe this is an allowed change.
VinozzZ pushed a commit to VinozzZ/opentelemetry-proto that referenced this issue Jun 21, 2024
Related to open-telemetry/opentelemetry-specification#1816
Fixes open-telemetry/opentelemetry-specification#1835
Fixes open-telemetry/opentelemetry-specification#1920

Some historical context: we wanted to make grpc and http use the same port and we
had an open issue in the Collector to do so:
open-telemetry/opentelemetry-collector#1256

The conclusion is that there are technical hurdles that make it unfeasible:
open-telemetry/opentelemetry-collector#1256 (comment)

Because of that we need to keep grpc and http ports separate. This means we need to
change the spec to say that otlp/http uses port 4318. Once this PR is merged we
will also need to submit for port 4318 registration with IANA like we did previously
with port 4317:
open-telemetry/opentelemetry-specification#1148 (comment)

There was also a draft PR to merge the ports in the Collector but it was not completed:
open-telemetry/opentelemetry-collector#3765

Note that this change was initially submitted in PR open-telemetry/opentelemetry-specification#1839
and then reverted in PR open-telemetry/opentelemetry-specification#1847
because we hoped that the merging could be successfully done. We believe that we should
no longer pursue this and should consider the ports separate from now on.

Note 2: we consider this a spec bug fix (spec was impossible to implement), rather than a
functionality change, that's why we believe this is an allowed change.
VinozzZ pushed a commit to VinozzZ/opentelemetry-proto that referenced this issue Jun 21, 2024
Related to open-telemetry/opentelemetry-specification#1816
Fixes open-telemetry/opentelemetry-specification#1835
Fixes open-telemetry/opentelemetry-specification#1920

Some historical context: we wanted to make grpc and http use the same port and we
had an open issue in the Collector to do so:
open-telemetry/opentelemetry-collector#1256

The conclusion is that there are technical hurdles that make it unfeasible:
open-telemetry/opentelemetry-collector#1256 (comment)

Because of that we need to keep grpc and http ports separate. This means we need to
change the spec to say that otlp/http uses port 4318. Once this PR is merged we
will also need to submit for port 4318 registration with IANA like we did previously
with port 4317:
open-telemetry/opentelemetry-specification#1148 (comment)

There was also a draft PR to merge the ports in the Collector but it was not completed:
open-telemetry/opentelemetry-collector#3765

Note that this change was initially submitted in PR open-telemetry/opentelemetry-specification#1839
and then reverted in PR open-telemetry/opentelemetry-specification#1847
because we hoped that the merging could be successfully done. We believe that we should
no longer pursue this and should consider the ports separate from now on.

Note 2: we consider this a spec bug fix (spec was impossible to implement), rather than a
functionality change, that's why we believe this is an allowed change.
VinozzZ pushed a commit to VinozzZ/opentelemetry-proto that referenced this issue Jun 21, 2024
Related to open-telemetry/opentelemetry-specification#1816
Fixes open-telemetry/opentelemetry-specification#1835
Fixes open-telemetry/opentelemetry-specification#1920

Some historical context: we wanted to make grpc and http use the same port and we
had an open issue in the Collector to do so:
open-telemetry/opentelemetry-collector#1256

The conclusion is that there are technical hurdles that make it unfeasible:
open-telemetry/opentelemetry-collector#1256 (comment)

Because of that we need to keep grpc and http ports separate. This means we need to
change the spec to say that otlp/http uses port 4318. Once this PR is merged we
will also need to submit for port 4318 registration with IANA like we did previously
with port 4317:
open-telemetry/opentelemetry-specification#1148 (comment)

There was also a draft PR to merge the ports in the Collector but it was not completed:
open-telemetry/opentelemetry-collector#3765

Note that this change was initially submitted in PR open-telemetry/opentelemetry-specification#1839
and then reverted in PR open-telemetry/opentelemetry-specification#1847
because we hoped that the merging could be successfully done. We believe that we should
no longer pursue this and should consider the ports separate from now on.

Note 2: we consider this a spec bug fix (spec was impossible to implement), rather than a
functionality change, that's why we believe this is an allowed change.
VinozzZ pushed a commit to VinozzZ/opentelemetry-proto that referenced this issue Jun 21, 2024
Related to open-telemetry/opentelemetry-specification#1816
Fixes open-telemetry/opentelemetry-specification#1835
Fixes open-telemetry/opentelemetry-specification#1920

Some historical context: we wanted to make grpc and http use the same port and we
had an open issue in the Collector to do so:
open-telemetry/opentelemetry-collector#1256

The conclusion is that there are technical hurdles that make it unfeasible:
open-telemetry/opentelemetry-collector#1256 (comment)

Because of that we need to keep grpc and http ports separate. This means we need to
change the spec to say that otlp/http uses port 4318. Once this PR is merged we
will also need to submit for port 4318 registration with IANA like we did previously
with port 4317:
open-telemetry/opentelemetry-specification#1148 (comment)

There was also a draft PR to merge the ports in the Collector but it was not completed:
open-telemetry/opentelemetry-collector#3765

Note that this change was initially submitted in PR open-telemetry/opentelemetry-specification#1839
and then reverted in PR open-telemetry/opentelemetry-specification#1847
because we hoped that the merging could be successfully done. We believe that we should
no longer pursue this and should consider the ports separate from now on.

Note 2: we consider this a spec bug fix (spec was impossible to implement), rather than a
functionality change, that's why we believe this is an allowed change.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
spec:protocol Related to the specification/protocol directory
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants