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
