Hi Julian, Indeed i believe that ability to set the autoCommit through the
jdbc URL should solve this.
Here is the ticket: https://issues.apache.org/jira/browse/CALCITE-2065


On 23 November 2017 at 00:37, Julian Hyde <[email protected]> wrote:

> Can you log that a JIRA case to make “autoCommit” an accepted parameter in
> the JDBC URL? I think it would solve this problem.
>
> > On Nov 22, 2017, at 8:52 AM, Christian Tzolov <[email protected]>
> wrote:
> >
> > Hi Josh,
> >
> > Here
> > ​is
> > ​Z
> > eppelin
> > ​'s JDBC Interpreter forcefull auto-commit implementation​
> > :
> > http://bit.ly/2zrykP9
> >
> > ​So if the connection is not auto-commit = true the JDBC interpreter will
> > forcefully call commit.
> >
> > But Avatica's connection defaults to auto-commit = true and there is no
> way
> > to configure it from the properties! I can not call
> > Connection#setAutoCommit(boolean) without the Zeppelin's generic JDBC
> > interpret implementation. There is ZEPPELIN-2451 issue that tries to
> > address this but i'm not sure the approach is right (see my comment in
> > https://github.com/apache/zeppelin/pull/2396)
> >
> > The connection.commit() called by Zeppelin hits the
> CalciteMetaImpl#commit
> > ​(). Later throws an explicit ​
> > UnsupportedOperationException
> > ​. E.g. ​
> >
> > @Override public void commit(ConnectionHandle ch) {
> >  throw new UnsupportedOperationException();
> > }
> >
> >
> >
> > On 22 November 2017 at 17:11, Josh Elser <[email protected]> wrote:
> >
> >> Hey Christian,
> >>
> >> Thanks for sharing this. Sounds cool.
> >>
> >> I'm curious what you mean when you say that the Avatica connection
> doesn't
> >> support commit. This was implemented in CALCITE-767.
> >>
> >> Also, is there a reason that Zeppelin needs a property to control
> >> autoCommit and can't use the Connection#setAutoCommit(boolean) method?
> >>
> >>
> >> On 11/22/17 8:09 AM, Christian Tzolov wrote:
> >>
> >>> FYI,
> >>>
> >>> you can use the Apache Zeppelin's generic JDBC interpreter to plug a
> >>> Calcite based JDBC adapter.
> >>>
> >>> Here are my results of plug-in the Geode-Calcite adapter:
> >>> https://www.linkedin.com/pulse/advanced-apache-geode-data-
> >>> analytics-zeppelin-over-sqljdbc-tzolov/
> >>>
> >>> Although i've been testing with particular adapter i believe the
> approach
> >>> and the findings would be applicable for any Avatica JDBC adapter too.
> >>>
> >>> The only minor but blocking !!! issue is related to the fact that
> >>> Zeppelin's JDBC interpreter tries to 'commit' the jdbc connection if
> later
> >>> is not set as 'auto-commit=true'. But the Avatica connection does NOT
> >>> support commits.
> >>>
> >>> At the moment there is no way to switch this behavior off on the
> Zeppelin
> >>> side. The ZEPPELIN-2451 issue and PR hopefully will resolve this.
> >>>
> >>> Unfortunately Avatica doesn't provide properties to set the
> auto-commit to
> >>> true (default is hardcoded to false).
> >>>
> >>> As a temporal solution you can build Zeppelin from my fork (
> >>> https://github.com/tzolov/zeppelin/tree/calcite) and play with
> Zeppelin
> >>> and
> >>> Calcite adapters.
> >>>
> >>> Cheers,
> >>> Christian
> >>>
> >>>
> >
> >
> > --
> > Christian Tzolov <http://www.linkedin.com/in/tzolov> | Principle
> Software
> > Engineer | Pivotal <http://pivotal.io/> | [email protected] |
> +31610285517
>
>


-- 
Christian Tzolov <http://www.linkedin.com/in/tzolov> | Principle Software
Engineer | Pivotal <http://pivotal.io/> | [email protected] |+31610285517

Reply via email to