Hi, The following part in the original e-mail is the one:
> https://github.com/apache/arrow/pull/36009 is an > implementation of this proposal. The pull requests has the > followings: > > 1. Format changes: > * format/Flight.proto > > https://github.com/apache/arrow/pull/36009/files#diff-53b6c132dcc789483c879f667a1c675792b77aae9a056b257d6b20287bb09dba > * format/FlightSql.proto > > https://github.com/apache/arrow/pull/36009/files#diff-fd4e5266a841a2b4196aadca76a4563b6770c91d400ee53b6235b96da628a01e > > 2. Documentation changes: > docs/source/format/Flight.rst > > https://github.com/apache/arrow/pull/36009/files#diff-839518fb41e923de682e8587f0b6fdb00eb8f3361d360c2f7249284a136a7d89 We can split the part to a separated pull request. But if we split the part and merge the pull requests for format related changes and implementation related changes separately, our CI will be broken temporary. Because our implementations use auto-generated sources that are based on *.proto. Thanks, -- kou In <b90ed550-6cc3-ad14-9254-73e53734a...@python.org> "Re: [DISCUSS][Format][Flight] Result set expiration support" on Wed, 21 Jun 2023 15:51:57 +0200, Antoine Pitrou <anto...@python.org> wrote: > > I meant purely the changes to the "format" directory. It would > probably be better to have those in their own PR? > > > Le 21/06/2023 à 15:49, David Li a écrit : >> Ah, sorry, it looks like the original linked PR is not this one. There >> is an implementation for C++/Java/Go at >> https://github.com/apache/arrow/pull/36009. >> On Wed, Jun 21, 2023, at 09:49, David Li wrote: >>> There is a PR linked in the original message, but here it is again: >>> https://github.com/apache/arrow/pull/36009 >>> >>> Cancel and Close are close semantically, but Cancel is meant for when >>> the (client thinks that) computation is still ongoing, while Close is >>> meant to free server resources after reading a result set. (For >>> example, JDBC has Statement#cancel [1] and ResultSet#close [2].) >>> >>> That said, I think it's reasonable to only have Cancel at the protocol >>> level. >>> >>> [1]: >>> https://docs.oracle.com/javase/8/docs/api/java/sql/Statement.html#cancel-- >>> [2]: >>> https://docs.oracle.com/javase/8/docs/api/java/sql/ResultSet.html#close-- >>> >>> On Wed, Jun 21, 2023, at 09:35, Antoine Pitrou wrote: >>>> Hi Kou, >>>> >>>> Can we have an actual PR with the proposed gRPC field, method and >>>> docstring additions? >>>> >>>> Regardless, I have some comments and questions: >>>> >>>> * "RefreshFlightEndpoint" suggests the server will recompute (refresh) >>>> the results; instead I would suggest "PersistFlightEndpoint" >>>> >>>> * Perhaps "PersistFlightEndpoint" can take an optional >>>> "suggested_expiration" timestamp, which the server is free to ignore >>>> (some clients may only need to extend the expiration by two minutes, >>>> others by two days...) >>>> >>>> * Does the client potentially have to call "PersistFlightEndpoint" on >>>> each returned endpoint? Can it pass several endpoints at once? >>>> >>>> * What is the expected difference between "CancelFlightInfo" and >>>> "CloseFlightInfo"? Both seem to have a similar effect, and the exact >>>> behaviour will probably be server-dependent anyway ("cancel" and >>>> "close" >>>> may have meaningful differences when putting/uploading data, not so >>>> much >>>> when getting/downloading data, IMHO?). >>>> >>>> Regards >>>> >>>> Antoine. >>>> >>>> >>>> >>>> Le 21/06/2023 à 02:28, Sutou Kouhei a écrit : >>>>> Hi, >>>>> >>>>> David provided the Java implementation. Thanks! >>>>> >>>>> If anyone has any comments about this proposal, please share >>>>> them. >>>>> >>>>> >>>>> Thanks,