Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-10475

[С++][FlightRPC] Arrow Flight Server / Client cannot be initialized with Ipv6 host

    XMLWordPrintableJSON

Details

    Description

      We want to support Arrow Flight compatibility protocol in ClickHouse (https://github.com/ClickHouse/ClickHouse). Our code needs Ipv6 support.

      In our code I wrote:

      std::string host = "[::]";
      int port = 9993;
      arrow::flight::Location location;
      auto status = arrow::flight::Location::ForGrpcTcp(host, port, &location);
      std::cerr << "Status=" << status.ToString() << std::endl;
      std::cerr << "Location=" << location.ToString() << std::endl; 

      The output seems to be ok:

      Status=OK
      Location=grpc+tcp://[::]:9993

      After that I initialized FlightServerBase using method Init(options).

      In flight library I wrote next 3 lines before code

      std::cerr << "Location=" << location.ToString() << std::endl;
      std::cerr << "Host=" << location.uri_->host() << ", Port=" << location.uri_->port_text() << std::endl;
      std::cerr << "Host:Port=" << location.uri_->host() << ":" << location.uri_->port_text() << std::endl;

       

      The output is:

      Location=grpc+tcp://[::]:9993
      Host=::, Port=9993
      Host:Port=:::9993
      E1103 03:18:01.978794160 612780 server_chttp2.cc:40]
      {"created":"@1604362681.978626229","description":"Name or service not known","errno":-2,"file":"../contrib/grpc/src/core/lib/iomgr/resolve_address_posix.cc","file_line":108,"os_error":"Name or service not known","syscall":"getaddrinfo","target_address":":::9993"}

      Location returns host without square brackets that must be used in addresses with port. The problem is here:

      std::stringstream address;
      address << location.uri_->host() << ':' << location.uri_->port_text();

      The same issue is also observed in the client code

      Attachments

        Issue Links

          Activity

            People

              lidavidm David Li
              FawnD2 Zosimova Zhanna
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1h 20m
                  1h 20m