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

Support IPv6 transport for Jaeger agent (thrift over UDP) export #1559

Open
plajjan opened this issue Feb 1, 2021 · 3 comments
Open

Support IPv6 transport for Jaeger agent (thrift over UDP) export #1559

plajjan opened this issue Feb 1, 2021 · 3 comments
Labels
bug Something isn't working feature-request good first issue Good first issue help wanted

Comments

@plajjan
Copy link
Contributor

plajjan commented Feb 1, 2021

Describe your environment
I'm trying to use an application that uses the OpenTelemetry library to export trace data to Jaeger. The Jaeger agent is not running in the same container as the application and there is only IPv6 connectivity to the Jaeger agent, thus, IPv6 is used. However, it does not work and leads to a traceback.

The code shown linked here is IPv4 only capable as it hard codes AF_INET:

with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as udp_socket:

Steps to reproduce
Configure an IPv6 address as the agent export host and run your program, which will crash as the address family provided to the socket (AF_INET) is inconsistent with the address (AF_INET6).

What is the expected behavior?
Data should be exported to Jaeger as normal but over an IPv6 socket.

What is the actual behavior?

<ERROR> 27-Jan-2021::17:47:49.939 opentelemetry.sdk.trace.export MainThread: - Exception while exporting Span.
Traceback (most recent call last):
  File "/var/opt/ncs/packages/opentelemetry-exporter/pyvenv/lib/python3.7/site-packages/opentelemetry/sdk/trace/export/__init__.py", line 83, in on_end
    self.span_exporter.export((span,))
  File "/var/opt/ncs/packages/opentelemetry-exporter/pyvenv/lib/python3.7/site-packages/opentelemetry/exporter/jaeger/__init__.py", line 181, in export
    self.agent_client.emit(batch)
  File "/var/opt/ncs/packages/opentelemetry-exporter/pyvenv/lib/python3.7/site-packages/opentelemetry/exporter/jaeger/__init__.py", line 427, in emit
    udp_socket.sendto(buff, self.address)
socket.gaierror: [Errno -9] Address family for hostname not supported

Additional context

@plajjan plajjan added the bug Something isn't working label Feb 1, 2021
@github-actions
Copy link

github-actions bot commented Apr 9, 2021

This issue was marked stale due to lack of activity. It will be closed in 30 days.

@plajjan
Copy link
Contributor Author

plajjan commented Apr 13, 2021

No staley stale. It's still a problem and I think it should be solved!

@srikanthccv
Copy link
Member

FYI #3158

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working feature-request good first issue Good first issue help wanted
Projects
None yet
Development

No branches or pull requests

3 participants