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

dns: Report all transport errors in a dial attempt #5878

Open
elenaf9 opened this issue Feb 20, 2025 · 2 comments · May be fixed by #5899
Open

dns: Report all transport errors in a dial attempt #5878

elenaf9 opened this issue Feb 20, 2025 · 2 comments · May be fixed by #5899
Assignees

Comments

@elenaf9
Copy link
Contributor

elenaf9 commented Feb 20, 2025

Description

One dns address can be resolved recursively to multiple IP addresses.
When resolving a dns address, our dns transports tries to dial all the resulting IP addresses through its inner transport and returns an error once the last pending dial attempt failed.

The returned error is the error from the last dial attempt. Errors from earlier attempts are only logged, but not returned to the user.
This can be problematic because the info about why the other dialing attempts failed is lost, resulting in issues like #5871 where a handshake fails without the user being notified of it.
Instead of only returning the error from the last dial attempt, I think we should return all errors similar to how it's done on the swarm level with DialError::Transport.

Motivation

One of the currently hidden dial errors may include crucial information, like the "cargo feature rsa is not enabled" info that the user was missing in #5871.

Current Implementation

Only the error from the last dial attempt is logged.

Are you planning to do it yourself in a pull request?

Maybe

@rose2221
Copy link

i would like to work on it!

@elenaf9
Copy link
Contributor Author

elenaf9 commented Feb 24, 2025

i would like to work on it!

Great, thank you! Let me know if you need any help.

@rose2221 rose2221 linked a pull request Mar 1, 2025 that will close this issue
4 tasks
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 a pull request may close this issue.

2 participants