-
Notifications
You must be signed in to change notification settings - Fork 108
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
IPv6 Emulator Addresses not functioning #502
Comments
@bcoe @JustinBeckwith any ideas where to turn for halp? |
The grpc libraries can handle IPv6 addresses. I think the IP address you passed there is not the one you intended. The localhost address is However, all of this should be unnecessary. In both cases, an important caveat is that grpc-js cannot handle IPv6 addresses at all on Node versions below 12.6 as a result of nodejs/node#28216.
|
This seems both complicated and simple at the same time. See the image in my original post, which shows to set If I swap out the But that's where I'm stuck-- we have a bunch of code in the way that thwarts my easy testing of this, so to just ask outright, is that the right format to give to gRPC? I assume we also want support for ipV6 addresses that aren't localhost and don't have a port. Is that as simple as just passing the address as the |
This |
We should add support to use IPv6 emulator, but I am not sure this is a bug. Relabeling. |
For me the emulator generates this kind of address: If I set a non-IPv6 address with I use Node 20 btw |
The Datastore emulator supports-- and automatically use sometimes-- IPv6 addresses (https://cloud.google.com/sdk/gcloud/reference/beta/emulators/datastore/start). Our code has only been parsing input such as "localhost:8081", which is still the default emulator address format. However, if you start a second emulator, or just define the address yourself, it can be IPv6.
So, this is a two part issue.
Our code needs to figure out how to handle these addresses. This will definitely involve changes to our code, and possibly to the generated client code or gax as well. That code automatically concatenates
servicePath
andport
, but IPv6 is a bit different. We might be able to get creative with parsing the IPv6 to work around that, e.g.options.servicePath = '[::1:8244]'
andoptions.port = ??
.I can't seem to get gRPC to send requests to the IPv6 address. Here are the settings our client passes and then the response.
The emulator readout doesn't change, so it's not being hit.
http://
?I've tried all of the combinations I can think of, and it's either "Invalid URL: http://::1:8244" or a Deadline Exceeded error.
The text was updated successfully, but these errors were encountered: