Sounds great. Started watching the issue you created. Will try to keep an
eye open.
On Jun 27, 2016 5:29 PM, "Julian Hyde" <[email protected]> wrote:

> I have logged https://issues.apache.org/jira/browse/CALCITE-1301 <
> https://issues.apache.org/jira/browse/CALCITE-1301>.
>
> > On Jun 27, 2016, at 5:13 PM, Julian Hyde <[email protected]> wrote:
> >
> > Generally with cancel the behavior should be (a) send a message to the
> underlying system to cancel, (b) return control to the user. Remember,
> cancel always occurs on a different thread than the one which is executing
> the query (usually calling ResultSet.next()). So implementing the cancel
> involves “cutting” a blocking wait of some kind. Very similar mechanism to
> timeout.
> >
> > The underlying system may take a few seconds to cancel (or longer… it’s
> best effort).
> >
> > In a multi-hop system (say avatica thin client —> avatica server —>
> phoenix) there are multiple arrows to “cut”.
> >
> > We would definitely need a Cancel comment (CancelRequest). Remember that
> the Cancel command will likely arrive while an Execute or Fetch is in
> progress.
> >
> > Julian
> >
> >
> >> On Jun 27, 2016, at 4:04 PM, Josh Elser <[email protected]> wrote:
> >>
> >> +1 for lifting this up to AvaticaResultSet
> >>
> >> Would be good for Avatica clients to have the standard means to cancel
> a query (not hoping the Avatica server would ever get into a case where
> it's not responding in a reasonable amount of time).
> >>
> >> Julian Hyde wrote:
> >>> I am developing a fix for
> https://issues.apache.org/jira/browse/CALCITE-1227<
> https://issues.apache.org/jira/browse/CALCITE-1227>  in
> https://github.com/julianhyde/calcite/tree/1227-streaming-csv-table<
> https://github.com/julianhyde/calcite/tree/1227-streaming-csv-table>,
> building on Zhen Wang’s https://github.com/apache/calcite/pull/239<
> https://github.com/apache/calcite/pull/239>. I added a “cancelFlag” field
> to CalciteResultSet. Should this — and some mechanism for a running
> statement to find out whether it has been canceled — make its way up to
> AvaticaResultSet?
> >>>
> >>> Implementing cancel is a complicated issue, but this seems like a good
> start.
> >>>
> >>> Julian
> >>>
> >>>
> >
>
>

Reply via email to