adamreeve commented on PR #44377: URL: https://github.com/apache/arrow/pull/44377#issuecomment-2427738587
The Flight docs specify other ways to reuse the same server location though, either using an empty list of locations or the `arrow-flight-reuse-connection:` URI scheme. I guess you might want to reuse the same host with a different port, but this isn't how 0.0.0.0 is interpreted by other implementations, at least the Rust and C++ ones I've looked at. They don't have any special handling of 0.0.0.0 that I could find so it appears that that IP address is just interpreted as the localhost/loopback device by the underlying GRPC library or lower level networking library. From looking into this a bit more, it seems like using 0.0.0.0 to refer to localhost/loopback when used as a target IP is non-standard but not that uncommon, and the C# `System.Net` library is just more strict about following specifications. Eg. see discussions at https://serverfault.com/questions/706137/why-does-0-0-0-0-resolve-to-the-loopback-device and https://superuser.com/questions/949428/whats-the-difference-between-127-0-0-1-and-0-0-0-0. Given that this would be fixed in either the Rust or C# integration test code without changing the Flight libraries, I guess it's not too consequential which approach is used, and I'm happy to update the C# integration test client to handle this. But the integration test code may be used by users as an example of what to do, so it seems like changing the Rust server might be best to set a good example of what to do to provide a more compatible server. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
