Hi Paul, For any extension on the SQL syntax, there should be a FLIP. I would like to understand how this works for both bounded and unbounded jobs, how this works with the SQL upgrade story. Could you create one?
I'm also copying in @Timo Walther <twal...@apache.org> and @Jark Wu <imj...@gmail.com> for their opinion on this. Best regards, Martijn On Fri, 1 Apr 2022 at 12:01, Paul Lam <paullin3...@gmail.com> wrote: > Hi Martijn, > > Thanks a lot for your input. > > > Have you already thought on how you would implement this in Flink? > > Yes, I roughly thought about the implementation: > > 1. Extending Executor to support job list via ClusterClient. > 2. Extending Executor to support savepoint trigger/cancel/remove via > JobClient. > 3. Extending SQL parser to support the new statements via regex > (AbstractRegexParseStrategy) or Calcite. > > IMHO, the implementation is not very complicated and barely touches the > architecture of FLIP-91. > (BTW, FLIP-91 might be a little bit outdated and doesn’t fully reflect > the current status of Flink SQL client/gateway.) > > WDYT? > > Best, > Paul Lam > > > 2022年4月1日 17:33,Martijn Visser <mart...@ververica.com> 写道: > > > > Hi Paul, > > > > Thanks for opening the discussion. I agree that there are opportunities > in > > this area to increase user value. > > > > I would say that the syntax should be part of a proposal in a FLIP, > because > > the implementation would actually be the complex part, not so much the > > syntax :) Especially since this also touches on FLIP-91 [1] > > > > Have you already thought on how you would implement this in Flink? > > > > Best regards, > > > > Martijn Visser > > https://twitter.com/MartijnVisser82 > > https://github.com/MartijnVisser > > > > [1] > > > https://cwiki.apache.org/confluence/display/FLINK/FLIP-91%3A+Support+SQL+Client+Gateway > > > > > > On Fri, 1 Apr 2022 at 11:25, Paul Lam <paullin3...@gmail.com> wrote: > > > >> Hi team, > >> > >> Greetings from Apache Kyuubi(incubating) community. We’re integrating > >> Flink as a SQL engine and aiming to make it production-ready. > >> > >> However, query/savepoint management is a crucial but missing part in > Flink > >> SQL, thus we reach out to discuss the SQL syntax with Flink community. > >> > >> We propose to introduce the following statements: > >> > >> SHOW QUERIES: shows the running queries in the current session, which > >> mainly returns query(namely Flink job) IDs and SQL statements. > >> TRIGGER SAVEPOINT <query_id>: triggers a savepoint for the specified > >> query, which returns the stored path of the savepoint. > >> SHOW SAVEPOINTS <query_id>: shows the savepoints for the specified > query, > >> which returns the stored paths of the savepoints. > >> REMOVE SAVEPOINT <savepoint_path>: removes the specified savepoint. > >> > >> WRT to keywords, `TRIGGER` and `SAVEPOINT` are already reserved keywords > >> in Flink SQL[1], so the only new keyword is `QUERIES`. > >> > >> If we reach a consensus on the syntax, we could either implement it in > >> Kyuubi and contribute back to Flink, or directly implement it in Flink. > >> > >> Looking forward for your feedback ;) > >> > >> [1] > >> > https://nightlies.apache.org/flink/flink-docs-release-1.14/docs/dev/table/sql/overview/#reserved-keywords > >> > >> Best, > >> Paul Lam > >> > >> > >