You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@arrow.apache.org by Matt Youill <ma...@airmettle.com> on 2021/11/03 06:52:45 UTC

Flight

I've noticed a lot of Flight functionality is hidden in "internal" classes.

What's the reason for this, and is there an alternative?

Specifically, I'd like to add Flight support to an existing HTTP server, 
but it looks like I must use the server that comes with 
arrow::flight::FlightServerBase, or provide my own implementations of 
the internal functions. Is that correct?

Thanks again, Matt



Re: Flight

Posted by David Li <li...@apache.org>.
I'm not so sure - I don't think the underlying gRPC library supports using any HTTP/2 server other than the one it ships with. (That said, I may be wrong.) So it's first a question of, "Is this possible in gRPC/C++"? (A quick search doesn't turn up anything.)

- David

On Wed, Nov 3, 2021, at 16:47, Matt Youill wrote:
> Thanks David.
> 
> The HTTP server lib I'm using is Nghttp2 (which supports HTTP/2) so theoretically should be able to add Flight I think/hope?
> 
> On 3/11/21 11:16 pm, David Li wrote:
>> Hey Matt,
>> 
>> There are two reasons: one is we'd like to avoid exposing that we use gRPC, since a goal has been to add support for other transports besides gRPC. (That said, FlightServerOptions does include a hook to allow configuring the gRPC server manually.) Also, we wanted to avoid exposing more API surface than necessary, at least until there's a reason to expose it.
>> 
>> Just to clarify - are you trying to add a Flight service to a non-gRPC server, i.e. you'd like to have Flight over HTTP/1? What server framework/library are you using?
>> 
>> -David
>> 
>> On Wed, Nov 3, 2021, at 02:52, Matt Youill wrote:
>>> I've noticed a lot of Flight functionality is hidden in "internal" classes.
>>> 
>>> What's the reason for this, and is there an alternative?
>>> 
>>> Specifically, I'd like to add Flight support to an existing HTTP server, 
>>> but it looks like I must use the server that comes with 
>>> arrow::flight::FlightServerBase, or provide my own implementations of 
>>> the internal functions. Is that correct?
>>> 
>>> Thanks again, Matt
>>> 
>>> 
>>> 
>> 

Re: Flight

Posted by Matt Youill <ma...@airmettle.com>.
Thanks David.

The HTTP server lib I'm using is Nghttp2 (which supports HTTP/2) so 
theoretically should be able to add Flight I think/hope?

On 3/11/21 11:16 pm, David Li wrote:
> Hey Matt,
>
> There are two reasons: one is we'd like to avoid exposing that we use 
> gRPC, since a goal has been to add support for other transports 
> besides gRPC. (That said, FlightServerOptions does include a hook to 
> allow configuring the gRPC server manually.) Also, we wanted to avoid 
> exposing more API surface than necessary, at least until there's a 
> reason to expose it.
>
> Just to clarify - are you trying to add a Flight service to a non-gRPC 
> server, i.e. you'd like to have Flight over HTTP/1? What server 
> framework/library are you using?
>
> -David
>
> On Wed, Nov 3, 2021, at 02:52, Matt Youill wrote:
>> I've noticed a lot of Flight functionality is hidden in "internal" 
>> classes.
>>
>> What's the reason for this, and is there an alternative?
>>
>> Specifically, I'd like to add Flight support to an existing HTTP server,
>> but it looks like I must use the server that comes with
>> arrow::flight::FlightServerBase, or provide my own implementations of
>> the internal functions. Is that correct?
>>
>> Thanks again, Matt
>>
>>
>>
>

Re: Flight

Posted by David Li <li...@apache.org>.
Hey Matt,

There are two reasons: one is we'd like to avoid exposing that we use gRPC, since a goal has been to add support for other transports besides gRPC. (That said, FlightServerOptions does include a hook to allow configuring the gRPC server manually.) Also, we wanted to avoid exposing more API surface than necessary, at least until there's a reason to expose it.

Just to clarify - are you trying to add a Flight service to a non-gRPC server, i.e. you'd like to have Flight over HTTP/1? What server framework/library are you using?

-David

On Wed, Nov 3, 2021, at 02:52, Matt Youill wrote:
> I've noticed a lot of Flight functionality is hidden in "internal" classes.
> 
> What's the reason for this, and is there an alternative?
> 
> Specifically, I'd like to add Flight support to an existing HTTP server, 
> but it looks like I must use the server that comes with 
> arrow::flight::FlightServerBase, or provide my own implementations of 
> the internal functions. Is that correct?
> 
> Thanks again, Matt
> 
> 
>