Default fallback scheme changed from `passthrough` to `dns`
NOTE: if you are reporting is a potential security vulnerability or a crash, please follow our CVE process at https://github.com/grpc/proposal/blob/master/P4-grpc-cve-process.md instead of filing an issue here.
Please see the FAQ in our main README.md, then answer the questions below before submitting your issue.
What version of gRPC are you using?
1.63.2
What version of Go are you using (go version)?
1.21
What operating system (Linux, Windows, …) and version?
macOS 14.5
What did you do?
I'm using opentelemetry otlp collector, in version 0.98.0 (1.62.1 of the gRPC library I believe) the gRPC default scheme was passthrough, but in 0.99.0 (1.63.2 gRPC) it changed to dns.
What did you expect to see?
[core] [Channel #1]original dial target is: "<redacted, address without a scheme>" {"grpc_log": true}
[core] [Channel #1]parsed dial target is: resolver.Target{URL:url.URL{Scheme:"
What did you see instead?
[core] [Channel #1]original dial target is: "<redacted, address without a scheme>" {"grpc_log": true}
[core] [Channel #1]parsed dial target is: resolver.Target{URL:url.URL{Scheme:"
The only change I've noticed that could be it was in here: https://github.com/grpc/grpc-go/commit/7c377708dc070bc6f4dfeedfb3c3f38c3410912b#diff-b3ac34dd7da6ea95744549a03abfa3b6806cb81499f7f70b7b5e957b829f473fR647 Default scheme was changed to a literal "dns" while it should probably be taken from here: https://github.com/grpc/grpc-go/blob/master/resolver/resolver.go#L40
I might be missing something tho. As a workaround I'm currently setting the default scheme before starting any connections.