You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@drill.apache.org by Christopher Kane <ch...@cardconnect.com.INVALID> on 2020/06/23 17:46:44 UTC

Initial Oracle Setup

Hey Everyone,

I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.

I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.

Christopher Kane
Software Test Engineer | Clover, CardConnect, FiServ
ckane@clover.com<ma...@clover.com>, Christopher.Kane@cardconnect.com<ma...@cardconnect.com>, Christopher.Kane2@firstdata.com<ma...@firstdata.com>, Christopher.Kane1@fiserv.com<ma...@fiserv.com>

THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

Re: Initial Oracle Setup

Posted by Charles Givre <cg...@gmail.com>.
Hey Christopher, 
Sorry you're having this trouble.  Can you do the following:
1. Send your config (w/o creds)?
2. On the cli, run the following:
!verbose
Then attempt to connect to the oracle db and send the full stack trace?
Thanks,
--C


> On Jun 23, 2020, at 1:46 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> 
> Hey Everyone,
> 
> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
> 
> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
> 
> Christopher Kane
> Software Test Engineer | Clover, CardConnect, FiServ
> ckane@clover.com<ma...@clover.com>, Christopher.Kane@cardconnect.com<ma...@cardconnect.com>, Christopher.Kane2@firstdata.com<ma...@firstdata.com>, Christopher.Kane1@fiserv.com<ma...@fiserv.com>
> 
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.


Re: Initial Oracle Setup

Posted by Charles Givre <cg...@gmail.com>.
Christopher, Rafael, 
Just for your guys knowledge... Drill uses a JDBC connection pool to manage JDBC connections to external sources.  As part of Drill 1.18 [1], we updated the connection pool with HikariCP from DBCP2 which apparently is faster and more reliable. [2]. However, it seems to be a known issue that HikariCP doesn't work with Presto. [3]. Not sure why, but when I researched it, it did appear that the HikariCP community was aware of this but wasn't in a big hurry to fix... ;-/
Glad we got it working!
-- C

[1]: https://github.com/apache/drill/pull/2027 <https://github.com/apache/drill/pull/2027>
[2]: https://beansroasted.wordpress.com/2017/07/29/connection-pool-analysis/ <https://beansroasted.wordpress.com/2017/07/29/connection-pool-analysis/>
[3]: https://github.com/brettwooldridge/HikariCP/issues/1424 <https://github.com/brettwooldridge/HikariCP/issues/1424>

> On Jun 23, 2020, at 3:43 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
> 
> Glad you got it working with the new version regardless!
> 
> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane
> <ch...@cardconnect.com.invalid> wrote:
>> 
>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>> 
>> -----Original Message-----
>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>> Sent: Tuesday, June 23, 2020 3:31 PM
>> To: user@drill.apache.org
>> Subject: RE: Initial Oracle Setup
>> 
>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>> 
>> -----Original Message-----
>> From: Charles Givre <cg...@gmail.com>
>> Sent: Tuesday, June 23, 2020 3:23 PM
>> To: user <us...@drill.apache.org>
>> Subject: Re: Initial Oracle Setup
>> 
>> It hasn't been released yet, so you'd have to d/l from github (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v5-xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=  <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v5-xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from source.  If you can't do that, I have a pre-release here: https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivre_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0&e=  <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivre_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0&e= >
>> 
>> 
>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>> 
>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>> 
>>> -----Original Message-----
>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>> To: user@drill.apache.org
>>> Subject: RE: Initial Oracle Setup
>>> 
>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>> 
>>> -----Original Message-----
>>> From: Charles Givre <cg...@gmail.com>
>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>> To: user@drill.apache.org
>>> Subject: Re: Initial Oracle Setup
>>> 
>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>> 
>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>> 
>>>> On both the directory of drill and on startup I am running Apache
>>>> Drill 1.17.0
>>>> 
>>>> -----Original Message-----
>>>> From: Charles Givre <cgivre@gmail.com <ma...@gmail.com>>
>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>> Subject: Re: Initial Oracle Setup
>>>> 
>>>> One more question.. what version of Drill are you using?
>>>> 
>>>> 
>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>> 
>>>>> Rafael
>>>>> -I did place it in the jars/3rdparty folder.
>>>>> 
>>>>> Storage Plugin Config:
>>>>> {
>>>>> "type": "jdbc",
>>>>> "enabled": true,
>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>> }
>>>>> (it's been modified to remove sensitive information)
>>>>> 
>>>>> Charles
>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>> 
>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/ update
>>>>> plugin: QA2 Oracle
>>>>> org.apache.drill.common.exceptions.ExecutionSetupException: Failure
>>>>> setting up new storage plugin configuration for config
>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>> at
>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Storage
>>>>> P
>>>>> l
>>>>> uginRegistryImpl.java:536) at
>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpdate
>>>>> (
>>>>> S
>>>>> toragePluginRegistryImpl.java:132)
>>>>> at
>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpdate
>>>>> I
>>>>> n
>>>>> Storage(PluginConfigWrapper.java:56)
>>>>> at
>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlu
>>>>> g
>>>>> i
>>>>> nJSON(StorageResources.java:212) at
>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlu
>>>>> g
>>>>> i
>>>>> n(StorageResources.java:233) at
>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Nati
>>>>> v
>>>>> e
>>>>> Method) at
>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Nativ
>>>>> e
>>>>> M
>>>>> ethodAccessorImpl.java:62) at
>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(D
>>>>> e
>>>>> l
>>>>> egatingMethodAccessorImpl.java:43)
>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocationH
>>>>> a
>>>>> n
>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMetho
>>>>> d
>>>>> D
>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMetho
>>>>> d
>>>>> D
>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatc
>>>>> h
>>>>> e
>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProv
>>>>> i
>>>>> d
>>>>> er.java:205) at
>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMetho
>>>>> d
>>>>> D
>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>>>> at
>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Resou
>>>>> r
>>>>> c
>>>>> eMethodInvoker.java:389) at
>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resour
>>>>> c
>>>>> e
>>>>> MethodInvoker.java:347) at
>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resour
>>>>> c
>>>>> e
>>>>> MethodInvoker.java:102) at
>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:3
>>>>> 2
>>>>> 6
>>>>> ) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>> at
>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Reques
>>>>> t
>>>>> S
>>>>> cope.java:317) at
>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>> 3
>>>>> 05) at
>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHan
>>>>> d
>>>>> l
>>>>> er.java:1154) at
>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.j
>>>>> a
>>>>> v
>>>>> a:473) at
>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>> 4
>>>>> 2
>>>>> 7) at
>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContain
>>>>> e
>>>>> r
>>>>> .java:388) at
>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContain
>>>>> e
>>>>> r
>>>>> .java:341) at
>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContain
>>>>> e
>>>>> r
>>>>> .java:228) at
>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:84
>>>>> 8
>>>>> )
>>>>> at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
>>>>> t
>>>>> H
>>>>> andler.java:1780) at
>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(C
>>>>> s
>>>>> r
>>>>> fTokenValidateFilter.java:55) at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
>>>>> t
>>>>> H
>>>>> andler.java:1767) at
>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(Csr
>>>>> f
>>>>> T
>>>>> okenInjectFilter.java:54) at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
>>>>> t
>>>>> H
>>>>> andler.java:1767) at
>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>> 583) at
>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHand
>>>>> l
>>>>> e
>>>>> r.java:224) at
>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHand
>>>>> l
>>>>> e
>>>>> r.java:1180) at
>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>> 5
>>>>> 13) at
>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandl
>>>>> e
>>>>> r
>>>>> .java:185) at
>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandl
>>>>> e
>>>>> r
>>>>> .java:1112) at
>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>> j
>>>>> a
>>>>> va:141) at
>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>> java:134) at org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>>>> at
>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.ja
>>>>> v
>>>>> a
>>>>> :251) at
>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstr
>>>>> a
>>>>> c
>>>>> tConnection.java:283) at
>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>>>> at
>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoi
>>>>> n
>>>>> t
>>>>> .java:93) at
>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execute
>>>>> P
>>>>> r
>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>> at
>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produce
>>>>> C
>>>>> o
>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>> at
>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Exe
>>>>> c
>>>>> u
>>>>> teProduceConsume.java:136) at
>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPo
>>>>> o
>>>>> l
>>>>> .java:671) at
>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>> at
>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.ja
>>>>> v
>>>>> a
>>>>> :78) at
>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConverter
>>>>> R
>>>>> u
>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>> at
>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConventi
>>>>> o
>>>>> n
>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>> at
>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStorag
>>>>> e
>>>>> P
>>>>> lugin.java:103) at
>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInst
>>>>> a
>>>>> n
>>>>> ce0(Native Method) at
>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInst
>>>>> a
>>>>> n
>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>> at
>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.new
>>>>> I
>>>>> n
>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>> at
>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constr
>>>>> u
>>>>> c
>>>>> tor.java:500) at
>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>> 4
>>>>> 81) at
>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Storage
>>>>> P
>>>>> l
>>>>> uginRegistryImpl.java:528)
>>>>> ... 56 common frames omitted
>>>>> 
>>>>> -----Original Message-----
>>>>> From: Charles Givre <cg...@gmail.com>
>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>> To: user@drill.apache.org
>>>>> Subject: Re: Initial Oracle Setup
>>>>> 
>>>>> One more thing...
>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>> Thanks,
>>>>> -- C
>>>>> 
>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>> 
>>>>>> Hi Chris,
>>>>>> 
>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>> 
>>>>>> You're right you might be onto something if you get the password
>>>>>> failed message. Can you post the exact text (JSON) of the storage
>>>>>> plugin config?
>>>>>> 
>>>>>> -Rafael
>>>>>> 
>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>> 
>>>>>>> Hey Everyone,
>>>>>>> 
>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>> 
>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>> 
>>>>>>> Christopher Kane
>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>> com>,
>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>> c
>>>>>>> o
>>>>>>> m>,
>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fiserv.com
>>>>>>> m>>
>>>>>>> 
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>> 
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>> 
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>> 
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> 
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.


RE: Initial Oracle Setup

Posted by Christopher Kane <ch...@cardconnect.com.INVALID>.
Ah okay, I wasn't sure if Drill reflected the ORDER BY in how it listed the rows out, that's perfect thank you!

-----Original Message-----
From: Charles Givre <cg...@gmail.com>
Sent: Tuesday, June 30, 2020 4:45 PM
To: user@drill.apache.org
Subject: Re: Initial Oracle Setup

Are you using the ORDER BY in the query?  If you are the rows should be in the same order every time.
-- C



> On Jun 30, 2020, at 4:37 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>
> I do have an additional question and I apologize if this is a simple question, but the response from the Drill API when querying, is there a way to order how the "rows" object is returned? Or can you be sure that the order of how those rows are returned never change? I did execute the same query a couple times and it looks like the structure remained the same but was curious if there is a way to influence it so that it is always the same.
>
> -Chris
>
> -----Original Message-----
> From: Christopher Kane <ch...@cardconnect.com.INVALID>
> Sent: Tuesday, June 30, 2020 4:14 PM
> To: user@drill.apache.org
> Subject: RE: Initial Oracle Setup
>
> You are totally right and for the time being in my POC I am not concerned really with the datetime columns on the table I'm querying so for now I figured it would be easier to just remove them entirely.
>
> You have a good point about the overhead, the query from Drill to Oracle isn't the quickest thing in the world but if your goal is E2E testing from Postman with little setup, I feel like this could work as a decent middle of the road approach. However, your suggestion around creating a REST API with Python to provide a quicker and more convenient way to access the same data might be the way to go for the reasons that you mentioned, if you wouldn't mind, is there a framework or two that you'd recommend off the top of your head?
>
> Again, thanks so much for your help.
> Chris
>
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Tuesday, June 30, 2020 4:06 PM
> To: user <us...@drill.apache.org>
> Subject: Re: Initial Oracle Setup
>
> Hey Chris,
> Glad you got things working.  Just to be clear... you don't have to remove all the columns in your view in Oracle.  You can transform them to a JDBC compatible datatype.
> For example:  (Ignore the syntax...)
>
> SELECT CAST(timezone_field AS DATETIME) AS timezone_field
> ....
>
> Then you won't lose the data.
>
> Regarding your next question, does this approach have merit...  Usually it doesn't make much sense to query a relational database from Drill by itself as now you are adding Drill's overhead to your queries. However, if you are joining that data with other datasets that are not in your database, that does make sense, because that usually involves coding or something a lot more complicated than Drill.
> I had never thought about using Drill as an API for a database.  I guess if it works for you, then Hey the approach has merit!
>
> In all honesty, I would think it wouldn't be too difficult to create a quick REST API using one of the many Python API frameworks and that would probably be my preferred approach.  That would get you a lot of benefits that Drill doesn't have such as more flexibility, better authentication, etc. However, I don't know all the details of your use case, so I'd say carry on... Ultimately, it depends on what you're trying to do as to whether Drill is the best tool or not.
> Best,
> -- C
>
>
>
>
>
>> On Jun 29, 2020, at 7:15 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>
>> Alright, so I was finally able to create a view in my own schema that removed all of the columns with the timestamp with timezone data type and was able to perform a query as expected! Now the next step will be utilizing the API to be able to query oracle from Postman which will be able to provide some sort of "end to end" testing which currently is not available since Oracle does not offer any sort of API to hit their databases directly, so once I saw Apache Drill I figured that was an excellent use case for your wonderful technology 😊.
>>
>> I probably won't have a full POC up and running for when you guys do your Apache Conference, but as I am new in the field (2+ years), in your opinion do you think my POC has merit and would be useful for other people to know that this potential exists?
>>
>> Thanks again for all your help!
>> Chris
>>
>> -----Original Message-----
>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>> Sent: Thursday, June 25, 2020 11:27 AM
>> To: user@drill.apache.org
>> Subject: RE: Initial Oracle Setup
>>
>> Ah okay, that makes a lot of sense now. I will look into what you and Ted have suggested about a materialized view, I guess I just might have to do that for the time being to test my POC further. I'll let you know if I run into any issues with that, thanks again I appreciate all of your help 😊! If you guys develop a fix for that and need someone to test it, let me know and I'd be happy to do that for you!
>>
>> -Chris
>>
>> -----Original Message-----
>> From: Charles Givre <cg...@gmail.com>
>> Sent: Wednesday, June 24, 2020 10:14 PM
>> To: user@drill.apache.org
>> Subject: Re: Initial Oracle Setup
>>
>> That actually explains a lot... While Drill has a timestamp data type, Drill does not have a timezone with tz data type.   Ted Dunning made a suggestion that would likely fix the issue and that is can you create a materialized view of your merchant table (on the Oracle DB) that doesn't have this data type?  (Like CAST it to a regular TIMESTAMP)  Drill should be able to query that.
>> The long term fix is to figure out how to get Drill to deal with unknown data types from JDBC sources, but in the interim, a materialized view might do the trick.
>> Best,
>> -- C
>>
>>
>>
>>
>>> On Jun 24, 2020, at 6:10 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>
>>> I KNEW IT! My initial hunch was correct.. when I listed all of the data types used by Oracle I initially said I had a feeling that TIMESTAMP(6) WITH TIME ZONE was probably the one that was causing an issue. I added each data type as a new column one by one, and the one that finally threw the error was TIMESTAMP(6) WITH TIME ZONE. So because the BIZ schema has tables with TIMESTAMP(6) WITH TIME ZONE as the data type, that's probably while it's failing. Now I am curious though if there is any other column this could be occurring with, but at least for right now we know that TIMESTAMP(6) WITH TIME ZONE is causing an issue, I can't speak for other data types that might not have been present in the merchant table but I can't imagine the other tables would really be all that different.
>>>
>>> -Chris
>>>
>>> -----Original Message-----
>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>> Sent: Wednesday, June 24, 2020 5:34 PM
>>> To: user@drill.apache.org
>>> Subject: RE: Initial Oracle Setup
>>>
>>> Ayyyy!!! That worked! I did the following: CREATE TABLE CKANE.TEST (column_1 INT, column_2 VARCHAR(50));
>>>
>>> Then I did select * from CKANE.TEST where column_1=1 and it returned what was expected, column_1 which contained the value of 1 and column_2 which contained the value of test.
>>>
>>> As far as telling Oracle to convert it to something different, if that's a database management level change I can't really go that route since I'm unable to change the configuration of Oracle for a POC like this, I kind of have to get it working with the current constraints.
>>>
>>> What would be the next data types you'd suggest we try? I listed the data types previously but they are: NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE, so should I start adding a column for each of those until I get the message Unknown SQL Type -101 like before?
>>>
>>> -----Original Message-----
>>> From: Charles Givre <cg...@gmail.com>
>>> Sent: Wednesday, June 24, 2020 5:25 PM
>>> To: user@drill.apache.org
>>> Subject: Re: Initial Oracle Setup
>>>
>>> Hi Chris,
>>> You’re correct…
>>> Maybe if you can create a simple table with an INT and a VARCHAR column and get Drill to query that. (It should). If that works, let’s try other data types and see what works and what doesn’t.   I’m also wondering if there is some way of telling Oracle to convert the BINARY DOUBLE to some other data type that can be read.  I don’t know enough about Oracle though…
>>> — C
>>>
>>>
>>>> On Jun 24, 2020, at 5:20 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>
>>>> You know Charles, I think you're right on the money there. Considering what we've tested at this point, I think you're right. So I would like to prove that hypothesis for you, so to confirm do I need to find a schema with tables that do not have a binary double? I might be able to create a table under my personal oracle schema which shouldn't have anything in there currently. We should agree on the SQL used to create the table so we are on the same page before that though.
>>>>
>>>> In my opinion, that sounds like a good thing to do. If my POC works as I am hoping it will, I am hoping that Apache Drill proves to be a useful tool in attempting "end to end" test automation entirely from Postman, since Oracle does not natively provide an API to query. It would be really cool if the idea I have in my head plays out as I'm thinking it will, and I would love for the solution to be used by other people (if it works) which would require Drill to be updated to allow for this to work with Oracle.
>>>>
>>>> -Chris
>>>>
>>>> -----Original Message-----
>>>> From: Charles Givre <cg...@gmail.com>
>>>> Sent: Wednesday, June 24, 2020 5:13 PM
>>>> To: user@drill.apache.org
>>>> Subject: Re: Initial Oracle Setup
>>>>
>>>> I think the issue is that Drill is receiving a schema from Oracle that is including a binary double column.  At that point, Drill has no idea how to handle that so you get the validation error.  I’d like to prove this hypothesis by successfully querying a table that does not have a binary double (or other unrecognizable column) and getting Drill to successfully read the results.
>>>>
>>>> My other thought is that it might be possible to do something with this via the JDBC config.  Sometimes databases have configuration options which can be passed when you connect, and if Oracle has such options, we might be able to fix this in the connection string.  My gut is telling me at this point that we’re going to have to fix this in Drill by adding some code that basically says if the type is unknown, read the data as a string or something like that.
>>>> — C
>>>>
>>>>
>>>>> On Jun 24, 2020, at 5:02 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>
>>>>> Alright so following that logic of Data Type 101 being a binary double, I did the following:
>>>>> select CAST(merchant_id AS DOUBLE) from biz.merchant where
>>>>> merchant_id=85616270
>>>>>
>>>>> That unfortunately still results in the unknown sql type -101 error. I did want to say that I was able to go onto the CLI and have it list out all the schemas and tables it could find and what it listed was correct so at least we know we are connected to what we should be.
>>>>>
>>>>> -----Original Message-----
>>>>> From: Charles Givre <cg...@gmail.com>
>>>>> Sent: Wednesday, June 24, 2020 4:55 PM
>>>>> To: user@drill.apache.org
>>>>> Subject: Re: Initial Oracle Setup
>>>>>
>>>>> I looked this up… SQL Data Type 101 is a binary double.
>>>>>
>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_d
>>>>> atabase_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mhB
>>>>> YFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9K
>>>>> _mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRFs
>>>>> hIVqbqiRRDh2qs&e=
>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_
>>>>> database_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mh
>>>>> BYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9
>>>>> K_mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRF
>>>>> shIVqbqiRRDh2qs&e= >
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>> On Jun 24, 2020, at 4:52 PM, Charles Givre <cg...@gmail.com> wrote:
>>>>>>
>>>>>> Some more questions…
>>>>>> 1.  Are there other tables you can query?  I want to see if we can at
>>>>>> least get something to work ;-) (Although we can read the schema via SHOW TABLES) 2.  Can you try the following query:
>>>>>> SELECT CAST(<some field> AS INT)
>>>>>> FROM merchant….  Basically I’m wondering if we force Drill to map the field to a type, if we can get it to read the data.
>>>>>>
>>>>>>
>>>>>>
>>>>>>> On Jun 24, 2020, at 4:44 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>
>>>>>>> Hey Charles,
>>>>>>>
>>>>>>> I ran a couple of different queries selecting only a single column from the table and it seems multiple columns are all giving me the same unknown sql type -101 error.
>>>>>>> The stacktrace also appears to be the same per column, so to me it appears that the issue is maybe with the format of the data itself coming from Oracle, I'm not too sure at this point.
>>>>>>>
>>>>>>> -Chris
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>> Sent: Wednesday, June 24, 2020 3:30 PM
>>>>>>> To: user <us...@drill.apache.org>
>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>
>>>>>>> Hey Christopher,
>>>>>>> Can you run a query with individual columns so we can see which column is causing the issue?
>>>>>>> Thx,
>>>>>>> --C
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> On Jun 23, 2020, at 5:25 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>
>>>>>>>> Rafael
>>>>>>>> -Okay so doing "show schemas;" (I didn't include the semicolon before) resulted in all of the schemas I was expecting to see be listed, so it's awesome that Drill was actually able to make the connection. So I do think my issue might be with the data types of the columns in the table I'm trying to query.
>>>>>>>>
>>>>>>>> Charles
>>>>>>>> -here are the data types on the table "merchant": NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE.
>>>>>>>> -if I had to take a guess, I would bet money that the problem child here is the timestamp data type.
>>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>>>> Sent: Tuesday, June 23, 2020 5:19 PM
>>>>>>>> To: user@drill.apache.org
>>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>>
>>>>>>>> Rafael
>>>>>>>> -I am running this in embedded mode on my Windows Laptop and I believe I have access to the shell but I'm not too familiar with the syntax so I'll have to look that up and I'll let you know what I get.
>>>>>>>>
>>>>>>>> Charles
>>>>>>>> -I'm glad you were able to find something about that error because I was having a tough time finding something related to it. I actually thought something similar and actually changed my query to only return the merchant_id of the merchant because I thought maybe there was a column that Drill didn't know how to handle. I will take a look at the stackoverflow link that you sent me and will let you know what I come up with.
>>>>>>>> -Here is the stacktrace for the VALIDATION ERROR:
>>>>>>>> 2020-06-23 17:15:56,017 [qtp409347742-245] ERROR
>>>>>>>> o.a.d.e.server.rest.QueryResources - Query from Web UI Failed: {}
>>>>>>>> org.apache.drill.common.exceptions.UserRemoteException: VALIDATION
>>>>>>>> ERROR: Unknown SQL type -101
>>>>>>>>
>>>>>>>>
>>>>>>>> [Error Id: def7533c-bb11-48da-b770-28c6730a1799 ] at
>>>>>>>> org.apache.drill.exec.server.rest.RestQueryRunner.submitQuery(RestQ
>>>>>>>> u
>>>>>>>> eryRunner.java:181) at
>>>>>>>> org.apache.drill.exec.server.rest.RestQueryRunner.run(RestQueryRunn
>>>>>>>> e
>>>>>>>> r.java:70) at
>>>>>>>> org.apache.drill.exec.server.rest.QueryResources.submitQueryJSON(Qu
>>>>>>>> e
>>>>>>>> ryResources.java:96) at
>>>>>>>> org.apache.drill.exec.server.rest.QueryResources.submitQuery(QueryR
>>>>>>>> e
>>>>>>>> sources.java:114) at
>>>>>>>> jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown
>>>>>>>> Source) at
>>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(
>>>>>>>> D
>>>>>>>> elegatingMethodAccessorImpl.java:43)
>>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocation
>>>>>>>> H
>>>>>>>> andlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:
>>>>>>>> 8
>>>>>>>> 1) at
>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>>>> o
>>>>>>>> dDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>>>> o
>>>>>>>> dDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispat
>>>>>>>> c
>>>>>>>> herProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherP
>>>>>>>> r
>>>>>>>> ovider.java:205) at
>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>>>> o
>>>>>>>> dDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Reso
>>>>>>>> u
>>>>>>>> rceMethodInvoker.java:389) at
>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>>>>>> r
>>>>>>>> ceMethodInvoker.java:347) at
>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>>>>>> r
>>>>>>>> ceMethodInvoker.java:102) at
>>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:
>>>>>>>> 3
>>>>>>>> 26) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Reque
>>>>>>>> s
>>>>>>>> tScope.java:317) at
>>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.jav
>>>>>>>> a
>>>>>>>> :305) at
>>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHa
>>>>>>>> n
>>>>>>>> dler.java:1154) at
>>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.
>>>>>>>> j
>>>>>>>> ava:473) at
>>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>>> 427) at
>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>>>> n
>>>>>>>> er.java:388) at
>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>>>> n
>>>>>>>> er.java:341) at
>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>>>> n
>>>>>>>> er.java:228) at
>>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:8
>>>>>>>> 4
>>>>>>>> 8) at
>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>>>> e
>>>>>>>> tHandler.java:1780) at
>>>>>>>> org.apache.drill.exec.server.rest.header.ResponseHeadersSettingFilt
>>>>>>>> e
>>>>>>>> r.doFilter(ResponseHeadersSettingFilter.java:71)
>>>>>>>> at
>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>>>> e
>>>>>>>> tHandler.java:1767) at
>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(
>>>>>>>> C
>>>>>>>> srfTokenValidateFilter.java:55) at
>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>>>> e
>>>>>>>> tHandler.java:1767) at
>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(Cs
>>>>>>>> r
>>>>>>>> fTokenInjectFilter.java:54) at
>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>>>> e
>>>>>>>> tHandler.java:1767) at
>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.ja
>>>>>>>> v
>>>>>>>> a:583) at
>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHan
>>>>>>>> d
>>>>>>>> ler.java:224) at
>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHan
>>>>>>>> d
>>>>>>>> ler.java:1180) at
>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.jav
>>>>>>>> a
>>>>>>>> :513) at
>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHand
>>>>>>>> l
>>>>>>>> er.java:185) at
>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHand
>>>>>>>> l
>>>>>>>> er.java:1112) at
>>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>>> java:141) at
>>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapp
>>>>>>>> e
>>>>>>>> r.java:134) at
>>>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>>>> at
>>>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>>>>>>> at
>>>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.j
>>>>>>>> a
>>>>>>>> va:251) at
>>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abst
>>>>>>>> r
>>>>>>>> actConnection.java:283) at
>>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>>>>>>> at
>>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPo
>>>>>>>> i
>>>>>>>> nt.java:93) at
>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execut
>>>>>>>> e
>>>>>>>> ProduceConsume(ExecuteProduceConsume.java:303)
>>>>>>>> at
>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produc
>>>>>>>> e
>>>>>>>> Consume(ExecuteProduceConsume.java:148)
>>>>>>>> at
>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Ex
>>>>>>>> e
>>>>>>>> cuteProduceConsume.java:136) at
>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadP
>>>>>>>> o
>>>>>>>> ol.java:671) at
>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPo
>>>>>>>> o
>>>>>>>> l.java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>>>> Caused by: java.lang.IllegalArgumentException: Unknown SQL type
>>>>>>>> -101 at
>>>>>>>> org.apache.calcite.avatica.SqlType.valueOf(SqlType.java:383)
>>>>>>>> at
>>>>>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>>>>>> a
>>>>>>>> .java:385) at
>>>>>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>>>>>> a
>>>>>>>> .java:362) at
>>>>>>>> org.apache.calcite.adapter.jdbc.JdbcTable.getRowType(JdbcTable.java:
>>>>>>>> 117) at
>>>>>>>> org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:
>>>>>>>> 159) at
>>>>>>>> org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.
>>>>>>>> j
>>>>>>>> ava:99) at
>>>>>>>> org.apache.calcite.sql.validate.DelegatingScope.resolveTable(Delega
>>>>>>>> t
>>>>>>>> ingScope.java:203) at
>>>>>>>> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(Ide
>>>>>>>> n
>>>>>>>> tifierNamespace.java:105) at
>>>>>>>> org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(Id
>>>>>>>> e
>>>>>>>> ntifierNamespace.java:177) at
>>>>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>>>>>> N
>>>>>>>> amespace.java:84) at
>>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>>>>>> S
>>>>>>>> qlValidatorImpl.java:1009) at
>>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>>>>>> a
>>>>>>>> lidatorImpl.java:969) at
>>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>>>>>> l
>>>>>>>> idatorImpl.java:3129) at
>>>>>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>>>>>> e
>>>>>>>> From(DrillValidator.java:63) at
>>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>>>>>> l
>>>>>>>> idatorImpl.java:3111) at
>>>>>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>>>>>> e
>>>>>>>> From(DrillValidator.java:63) at
>>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(Sql
>>>>>>>> V
>>>>>>>> alidatorImpl.java:3383) at
>>>>>>>> org.apache.calcite.sql.validate.SelectNamespace.validateImpl(Select
>>>>>>>> N
>>>>>>>> amespace.java:60) at
>>>>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>>>>>> N
>>>>>>>> amespace.java:84) at
>>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>>>>>> S
>>>>>>>> qlValidatorImpl.java:1009) at
>>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>>>>>> a
>>>>>>>> lidatorImpl.java:969) at
>>>>>>>> org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:216)
>>>>>>>> at
>>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpr
>>>>>>>> e
>>>>>>>> ssion(SqlValidatorImpl.java:944) at
>>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValida
>>>>>>>> t
>>>>>>>> orImpl.java:651) at
>>>>>>>> org.apache.drill.exec.planner.sql.conversion.SqlConverter.validate(
>>>>>>>> S
>>>>>>>> qlConverter.java:189) at
>>>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>>>>>> t
>>>>>>>> eNode(DefaultSqlHandler.java:641) at
>>>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>>>>>> t
>>>>>>>> eAndConvert(DefaultSqlHandler.java:195)
>>>>>>>> at
>>>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPla
>>>>>>>> n
>>>>>>>> (DefaultSqlHandler.java:169) at
>>>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(Drill
>>>>>>>> S
>>>>>>>> qlWorker.java:283) at
>>>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan(Dr
>>>>>>>> i
>>>>>>>> llSqlWorker.java:163) at
>>>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillS
>>>>>>>> q
>>>>>>>> lWorker.java:128) at
>>>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWo
>>>>>>>> r
>>>>>>>> ker.java:93) at
>>>>>>>> org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:593)
>>>>>>>> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:274)
>>>>>>>> at .......(:0)
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>> Sent: Tuesday, June 23, 2020 4:35 PM
>>>>>>>> To: user@drill.apache.org
>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>
>>>>>>>> One more thing...
>>>>>>>>
>>>>>>>> Could you run the query that is producing the VALIDATION ERROR and send the full stack trace?  I'm thinking that can be fixed on the Drill end of things, at least until Calcite fixes that.
>>>>>>>> -- C
>>>>>>>>
>>>>>>>>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>
>>>>>>>>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
>>>>>>>>>
>>>>>>>>> I think the only thing I'm having an issue with now I think is
>>>>>>>>> related to this:
>>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.
>>>>>>>>> org
>>>>>>>>> _jira_browse_CALCITE-2D3533&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BY
>>>>>>>>> R
>>>>>>>>> bCB
>>>>>>>>> lPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=g39OzDxVVrucBo3nnaZNaIqoh9
>>>>>>>>> S ZZi
>>>>>>>>> dthZ3H6QSOkWE&s=oVohCx-25EZLkSVY7yEV1FtFZ-nNDTnGvek4Sx67nYc&e=
>>>>>>>>>
>>>>>>>>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
>>>>>>>>>
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Rafael Jaimes III <ra...@gmail.com>
>>>>>>>>> Sent: Tuesday, June 23, 2020 3:43 PM
>>>>>>>>> To: user@drill.apache.org
>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>
>>>>>>>>> Glad you got it working with the new version regardless!
>>>>>>>>>
>>>>>>>>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>>>
>>>>>>>>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>>>>>>>>>>
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:31 PM
>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>>>>
>>>>>>>>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>>>>>>>>>>
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:23 PM
>>>>>>>>>> To: user <us...@drill.apache.org>
>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>>
>>>>>>>>>> It hasn't been released yet, so you'd have to d/l from github
>>>>>>>>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>>>> a
>>>>>>>>>> pac
>>>>>>>>>> h
>>>>>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>>>>>> l
>>>>>>>>>> lmV
>>>>>>>>>> q
>>>>>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>>>>>> =
>>>>>>>>>> C8v
>>>>>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>>>>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>>>> a
>>>>>>>>>> pac
>>>>>>>>>> h
>>>>>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>>>>>> l
>>>>>>>>>> lmV
>>>>>>>>>> q
>>>>>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>>>>>> =
>>>>>>>>>> C8v
>>>>>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from
>>>>>>>>>> source.
>>>>>>>>>> If you can't do that, I have a pre-release here:
>>>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_c
>>>>>>>>>> g
>>>>>>>>>> ivr
>>>>>>>>>> e
>>>>>>>>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7W
>>>>>>>>>> I
>>>>>>>>>> 0-D
>>>>>>>>>> P
>>>>>>>>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZS
>>>>>>>>>> N
>>>>>>>>>> loM
>>>>>>>>>> 5
>>>>>>>>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-
>>>>>>>>>> q
>>>>>>>>>> XY0
>>>>>>>>>> &
>>>>>>>>>> e=
>>>>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>>>> c
>>>>>>>>>> giv
>>>>>>>>>> r
>>>>>>>>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7
>>>>>>>>>> W
>>>>>>>>>> I0-
>>>>>>>>>> D
>>>>>>>>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZ
>>>>>>>>>> S
>>>>>>>>>> Nlo
>>>>>>>>>> M
>>>>>>>>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H
>>>>>>>>>> -
>>>>>>>>>> qXY
>>>>>>>>>> 0
>>>>>>>>>> &e= >
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>>>
>>>>>>>>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>>>>>>>>>>
>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>> From: Christopher Kane
>>>>>>>>>>> <ch...@cardconnect.com.INVALID>
>>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>>>>>
>>>>>>>>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>>>>>>>>>>
>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>>>
>>>>>>>>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>>>>>>>>>>
>>>>>>>>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> On both the directory of drill and on startup I am running
>>>>>>>>>>>> Apache Drill 1.17.0
>>>>>>>>>>>>
>>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>>> From: Charles Givre <cgivre@gmail.com
>>>>>>>>>>>> <ma...@gmail.com>>
>>>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>>>>>>>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>>>>
>>>>>>>>>>>> One more question.. what version of Drill are you using?
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Rafael
>>>>>>>>>>>>> -I did place it in the jars/3rdparty folder.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Storage Plugin Config:
>>>>>>>>>>>>> {
>>>>>>>>>>>>> "type": "jdbc",
>>>>>>>>>>>>> "enabled": true,
>>>>>>>>>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>>>>>>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>>>>>>>>>> }
>>>>>>>>>>>>> (it's been modified to remove sensitive information)
>>>>>>>>>>>>>
>>>>>>>>>>>>> Charles
>>>>>>>>>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>>>>>>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>>>>>>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/
>>>>>>>>>>>>> update
>>>>>>>>>>>>> plugin: QA2 Oracle
>>>>>>>>>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
>>>>>>>>>>>>> Failure setting up new storage plugin configuration for config
>>>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>>>>>> t
>>>>>>>>>>>>> ora
>>>>>>>>>>>>> ge
>>>>>>>>>>>>> P
>>>>>>>>>>>>> l
>>>>>>>>>>>>> uginRegistryImpl.java:536) at
>>>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOr
>>>>>>>>>>>>> U
>>>>>>>>>>>>> pda
>>>>>>>>>>>>> te
>>>>>>>>>>>>> (
>>>>>>>>>>>>> S
>>>>>>>>>>>>> toragePluginRegistryImpl.java:132)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOr
>>>>>>>>>>>>> U
>>>>>>>>>>>>> pda
>>>>>>>>>>>>> te
>>>>>>>>>>>>> I
>>>>>>>>>>>>> n
>>>>>>>>>>>>> Storage(PluginConfigWrapper.java:56)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>>>>>> a
>>>>>>>>>>>>> teP
>>>>>>>>>>>>> lu
>>>>>>>>>>>>> g
>>>>>>>>>>>>> i
>>>>>>>>>>>>> nJSON(StorageResources.java:212) at
>>>>>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>>>>>> a
>>>>>>>>>>>>> teP
>>>>>>>>>>>>> lu
>>>>>>>>>>>>> g
>>>>>>>>>>>>> i
>>>>>>>>>>>>> n(StorageResources.java:233) at
>>>>>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>>>>>> 0
>>>>>>>>>>>>> (Na
>>>>>>>>>>>>> ti
>>>>>>>>>>>>> v
>>>>>>>>>>>>> e
>>>>>>>>>>>>> Method) at
>>>>>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>>>>>> (
>>>>>>>>>>>>> Nat
>>>>>>>>>>>>> iv
>>>>>>>>>>>>> e
>>>>>>>>>>>>> M
>>>>>>>>>>>>> ethodAccessorImpl.java:62) at
>>>>>>>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.in
>>>>>>>>>>>>> v
>>>>>>>>>>>>> oke
>>>>>>>>>>>>> (D
>>>>>>>>>>>>> e
>>>>>>>>>>>>> l
>>>>>>>>>>>>> egatingMethodAccessorImpl.java:43)
>>>>>>>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvoc
>>>>>>>>>>>>> a
>>>>>>>>>>>>> tio
>>>>>>>>>>>>> nH
>>>>>>>>>>>>> a
>>>>>>>>>>>>> n
>>>>>>>>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.ja
>>>>>>>>>>>>> v
>>>>>>>>>>>>> a:8
>>>>>>>>>>>>> 1)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>>>> e
>>>>>>>>>>>>> Met
>>>>>>>>>>>>> ho
>>>>>>>>>>>>> d
>>>>>>>>>>>>> D
>>>>>>>>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>>>> e
>>>>>>>>>>>>> Met
>>>>>>>>>>>>> ho
>>>>>>>>>>>>> d
>>>>>>>>>>>>> D
>>>>>>>>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161
>>>>>>>>>>>>> )
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodD
>>>>>>>>>>>>> i
>>>>>>>>>>>>> spa
>>>>>>>>>>>>> tc
>>>>>>>>>>>>> h
>>>>>>>>>>>>> e
>>>>>>>>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatch
>>>>>>>>>>>>> e
>>>>>>>>>>>>> rPr
>>>>>>>>>>>>> ov
>>>>>>>>>>>>> i
>>>>>>>>>>>>> d
>>>>>>>>>>>>> er.java:205) at
>>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>>>> e
>>>>>>>>>>>>> Met
>>>>>>>>>>>>> ho
>>>>>>>>>>>>> d
>>>>>>>>>>>>> D
>>>>>>>>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:9
>>>>>>>>>>>>> 9
>>>>>>>>>>>>> )
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke
>>>>>>>>>>>>> (
>>>>>>>>>>>>> Res
>>>>>>>>>>>>> ou
>>>>>>>>>>>>> r
>>>>>>>>>>>>> c
>>>>>>>>>>>>> eMethodInvoker.java:389) at
>>>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>>>>>> R
>>>>>>>>>>>>> eso
>>>>>>>>>>>>> ur
>>>>>>>>>>>>> c
>>>>>>>>>>>>> e
>>>>>>>>>>>>> MethodInvoker.java:347) at
>>>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>>>>>> R
>>>>>>>>>>>>> eso
>>>>>>>>>>>>> ur
>>>>>>>>>>>>> c
>>>>>>>>>>>>> e
>>>>>>>>>>>>> MethodInvoker.java:102) at
>>>>>>>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.
>>>>>>>>>>>>> j
>>>>>>>>>>>>> ava
>>>>>>>>>>>>> :3
>>>>>>>>>>>>> 2
>>>>>>>>>>>>> 6
>>>>>>>>>>>>> ) at
>>>>>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(
>>>>>>>>>>>>> R
>>>>>>>>>>>>> equ
>>>>>>>>>>>>> es
>>>>>>>>>>>>> t
>>>>>>>>>>>>> S
>>>>>>>>>>>>> cope.java:317) at
>>>>>>>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>>>>>>>>>> 3
>>>>>>>>>>>>> 05) at
>>>>>>>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(Applicat
>>>>>>>>>>>>> i
>>>>>>>>>>>>> onH
>>>>>>>>>>>>> an
>>>>>>>>>>>>> d
>>>>>>>>>>>>> l
>>>>>>>>>>>>> er.java:1154) at
>>>>>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebCompo
>>>>>>>>>>>>> n
>>>>>>>>>>>>> ent
>>>>>>>>>>>>> .j
>>>>>>>>>>>>> a
>>>>>>>>>>>>> v
>>>>>>>>>>>>> a:473) at
>>>>>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>>>>>>>> 4
>>>>>>>>>>>>> 2
>>>>>>>>>>>>> 7) at
>>>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>>>> o
>>>>>>>>>>>>> nta
>>>>>>>>>>>>> in
>>>>>>>>>>>>> e
>>>>>>>>>>>>> r
>>>>>>>>>>>>> .java:388) at
>>>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>>>> o
>>>>>>>>>>>>> nta
>>>>>>>>>>>>> in
>>>>>>>>>>>>> e
>>>>>>>>>>>>> r
>>>>>>>>>>>>> .java:341) at
>>>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>>>> o
>>>>>>>>>>>>> nta
>>>>>>>>>>>>> in
>>>>>>>>>>>>> e
>>>>>>>>>>>>> r
>>>>>>>>>>>>> .java:228) at
>>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>>>>>>>>>> 84
>>>>>>>>>>>>> 8
>>>>>>>>>>>>> )
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>>>> S
>>>>>>>>>>>>> erv
>>>>>>>>>>>>> le
>>>>>>>>>>>>> t
>>>>>>>>>>>>> H
>>>>>>>>>>>>> andler.java:1780) at
>>>>>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFi
>>>>>>>>>>>>> l
>>>>>>>>>>>>> ter
>>>>>>>>>>>>> (C
>>>>>>>>>>>>> s
>>>>>>>>>>>>> r
>>>>>>>>>>>>> fTokenValidateFilter.java:55) at
>>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>>>> S
>>>>>>>>>>>>> erv
>>>>>>>>>>>>> le
>>>>>>>>>>>>> t
>>>>>>>>>>>>> H
>>>>>>>>>>>>> andler.java:1767) at
>>>>>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilt
>>>>>>>>>>>>> e
>>>>>>>>>>>>> r(C
>>>>>>>>>>>>> sr
>>>>>>>>>>>>> f
>>>>>>>>>>>>> T
>>>>>>>>>>>>> okenInjectFilter.java:54) at
>>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>>>> S
>>>>>>>>>>>>> erv
>>>>>>>>>>>>> le
>>>>>>>>>>>>> t
>>>>>>>>>>>>> H
>>>>>>>>>>>>> andler.java:1767) at
>>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>>>>>>>>>> 583) at
>>>>>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(Sessi
>>>>>>>>>>>>> o
>>>>>>>>>>>>> nHa
>>>>>>>>>>>>> nd
>>>>>>>>>>>>> l
>>>>>>>>>>>>> e
>>>>>>>>>>>>> r.java:224) at
>>>>>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(Conte
>>>>>>>>>>>>> x
>>>>>>>>>>>>> tHa
>>>>>>>>>>>>> nd
>>>>>>>>>>>>> l
>>>>>>>>>>>>> e
>>>>>>>>>>>>> r.java:1180) at
>>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>>>>>>>>>> 5
>>>>>>>>>>>>> 13) at
>>>>>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(Sessio
>>>>>>>>>>>>> n
>>>>>>>>>>>>> Han
>>>>>>>>>>>>> dl
>>>>>>>>>>>>> e
>>>>>>>>>>>>> r
>>>>>>>>>>>>> .java:185) at
>>>>>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(Contex
>>>>>>>>>>>>> t
>>>>>>>>>>>>> Han
>>>>>>>>>>>>> dl
>>>>>>>>>>>>> e
>>>>>>>>>>>>> r
>>>>>>>>>>>>> .java:1112) at
>>>>>>>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>>>>>>>> j
>>>>>>>>>>>>> a
>>>>>>>>>>>>> va:141) at
>>>>>>>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>>>>>>>>>> java:134) at
>>>>>>>>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:3
>>>>>>>>>>>>> 3
>>>>>>>>>>>>> 3)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>>>>>>>>>> ja
>>>>>>>>>>>>> v
>>>>>>>>>>>>> a
>>>>>>>>>>>>> :251) at
>>>>>>>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded
>>>>>>>>>>>>> (
>>>>>>>>>>>>> Abs
>>>>>>>>>>>>> tr
>>>>>>>>>>>>> a
>>>>>>>>>>>>> c
>>>>>>>>>>>>> tConnection.java:283) at
>>>>>>>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:1
>>>>>>>>>>>>> 0
>>>>>>>>>>>>> 8)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannel
>>>>>>>>>>>>> E
>>>>>>>>>>>>> ndP
>>>>>>>>>>>>> oi
>>>>>>>>>>>>> n
>>>>>>>>>>>>> t
>>>>>>>>>>>>> .java:93) at
>>>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.e
>>>>>>>>>>>>> x
>>>>>>>>>>>>> ecu
>>>>>>>>>>>>> te
>>>>>>>>>>>>> P
>>>>>>>>>>>>> r
>>>>>>>>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.p
>>>>>>>>>>>>> r
>>>>>>>>>>>>> odu
>>>>>>>>>>>>> ce
>>>>>>>>>>>>> C
>>>>>>>>>>>>> o
>>>>>>>>>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.r
>>>>>>>>>>>>> u
>>>>>>>>>>>>> n(E
>>>>>>>>>>>>> xe
>>>>>>>>>>>>> c
>>>>>>>>>>>>> u
>>>>>>>>>>>>> teProduceConsume.java:136) at
>>>>>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedTh
>>>>>>>>>>>>> r
>>>>>>>>>>>>> ead
>>>>>>>>>>>>> Po
>>>>>>>>>>>>> o
>>>>>>>>>>>>> l
>>>>>>>>>>>>> .java:671) at
>>>>>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>>>>>>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>>>>>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>>>>>>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>>>>>>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
>>>>>>>>>>>>> ja
>>>>>>>>>>>>> v
>>>>>>>>>>>>> a
>>>>>>>>>>>>> :78) at
>>>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelCon
>>>>>>>>>>>>> v
>>>>>>>>>>>>> ert
>>>>>>>>>>>>> er
>>>>>>>>>>>>> R
>>>>>>>>>>>>> u
>>>>>>>>>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcCo
>>>>>>>>>>>>> n
>>>>>>>>>>>>> ven
>>>>>>>>>>>>> ti
>>>>>>>>>>>>> o
>>>>>>>>>>>>> n
>>>>>>>>>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(Jdbc
>>>>>>>>>>>>> S
>>>>>>>>>>>>> tor
>>>>>>>>>>>>> ag
>>>>>>>>>>>>> e
>>>>>>>>>>>>> P
>>>>>>>>>>>>> lugin.java:103) at
>>>>>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>>>>>> e
>>>>>>>>>>>>> wIn
>>>>>>>>>>>>> st
>>>>>>>>>>>>> a
>>>>>>>>>>>>> n
>>>>>>>>>>>>> ce0(Native Method) at
>>>>>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>>>>>> e
>>>>>>>>>>>>> wIn
>>>>>>>>>>>>> st
>>>>>>>>>>>>> a
>>>>>>>>>>>>> n
>>>>>>>>>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorIm
>>>>>>>>>>>>> p
>>>>>>>>>>>>> l.n
>>>>>>>>>>>>> ew
>>>>>>>>>>>>> I
>>>>>>>>>>>>> n
>>>>>>>>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(
>>>>>>>>>>>>> C
>>>>>>>>>>>>> ons
>>>>>>>>>>>>> tr
>>>>>>>>>>>>> u
>>>>>>>>>>>>> c
>>>>>>>>>>>>> tor.java:500) at
>>>>>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>>>>>>>>>> 4
>>>>>>>>>>>>> 81) at
>>>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>>>>>> t
>>>>>>>>>>>>> ora
>>>>>>>>>>>>> ge
>>>>>>>>>>>>> P
>>>>>>>>>>>>> l
>>>>>>>>>>>>> uginRegistryImpl.java:528)
>>>>>>>>>>>>> ... 56 common frames omitted
>>>>>>>>>>>>>
>>>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>>>>>
>>>>>>>>>>>>> One more thing...
>>>>>>>>>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>> -- C
>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi Chris,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> You're right you might be onto something if you get the
>>>>>>>>>>>>>> password failed message. Can you post the exact text (JSON)
>>>>>>>>>>>>>> of the storage plugin config?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> -Rafael
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>>>>>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hey Everyone,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Christopher Kane
>>>>>>>>>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>>>>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>>>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>>>>>>>>>> com>,
>>>>>>>>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>>>>>>>>>> c
>>>>>>>>>>>>>>> o
>>>>>>>>>>>>>>> m>,
>>>>>>>>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fise
>>>>>>>>>>>>>>> m>r
>>>>>>>>>>>>>>> m>v.c
>>>>>>>>>>>>>>> m>om
>>>>>>>>>>>>>>> m>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>>>>>
>>>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>>>>
>>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>>>
>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>>
>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>
>>>>>>>
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>
>>>>>
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>
>>>>
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

Re: Initial Oracle Setup

Posted by Charles Givre <cg...@gmail.com>.
Are you using the ORDER BY in the query?  If you are the rows should be in the same order every time.
-- C



> On Jun 30, 2020, at 4:37 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> 
> I do have an additional question and I apologize if this is a simple question, but the response from the Drill API when querying, is there a way to order how the "rows" object is returned? Or can you be sure that the order of how those rows are returned never change? I did execute the same query a couple times and it looks like the structure remained the same but was curious if there is a way to influence it so that it is always the same.
> 
> -Chris
> 
> -----Original Message-----
> From: Christopher Kane <ch...@cardconnect.com.INVALID>
> Sent: Tuesday, June 30, 2020 4:14 PM
> To: user@drill.apache.org
> Subject: RE: Initial Oracle Setup
> 
> You are totally right and for the time being in my POC I am not concerned really with the datetime columns on the table I'm querying so for now I figured it would be easier to just remove them entirely.
> 
> You have a good point about the overhead, the query from Drill to Oracle isn't the quickest thing in the world but if your goal is E2E testing from Postman with little setup, I feel like this could work as a decent middle of the road approach. However, your suggestion around creating a REST API with Python to provide a quicker and more convenient way to access the same data might be the way to go for the reasons that you mentioned, if you wouldn't mind, is there a framework or two that you'd recommend off the top of your head?
> 
> Again, thanks so much for your help.
> Chris
> 
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Tuesday, June 30, 2020 4:06 PM
> To: user <us...@drill.apache.org>
> Subject: Re: Initial Oracle Setup
> 
> Hey Chris,
> Glad you got things working.  Just to be clear... you don't have to remove all the columns in your view in Oracle.  You can transform them to a JDBC compatible datatype.
> For example:  (Ignore the syntax...)
> 
> SELECT CAST(timezone_field AS DATETIME) AS timezone_field
> ....
> 
> Then you won't lose the data.
> 
> Regarding your next question, does this approach have merit...  Usually it doesn't make much sense to query a relational database from Drill by itself as now you are adding Drill's overhead to your queries. However, if you are joining that data with other datasets that are not in your database, that does make sense, because that usually involves coding or something a lot more complicated than Drill.
> I had never thought about using Drill as an API for a database.  I guess if it works for you, then Hey the approach has merit!
> 
> In all honesty, I would think it wouldn't be too difficult to create a quick REST API using one of the many Python API frameworks and that would probably be my preferred approach.  That would get you a lot of benefits that Drill doesn't have such as more flexibility, better authentication, etc. However, I don't know all the details of your use case, so I'd say carry on... Ultimately, it depends on what you're trying to do as to whether Drill is the best tool or not.
> Best,
> -- C
> 
> 
> 
> 
> 
>> On Jun 29, 2020, at 7:15 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>> 
>> Alright, so I was finally able to create a view in my own schema that removed all of the columns with the timestamp with timezone data type and was able to perform a query as expected! Now the next step will be utilizing the API to be able to query oracle from Postman which will be able to provide some sort of "end to end" testing which currently is not available since Oracle does not offer any sort of API to hit their databases directly, so once I saw Apache Drill I figured that was an excellent use case for your wonderful technology 😊.
>> 
>> I probably won't have a full POC up and running for when you guys do your Apache Conference, but as I am new in the field (2+ years), in your opinion do you think my POC has merit and would be useful for other people to know that this potential exists?
>> 
>> Thanks again for all your help!
>> Chris
>> 
>> -----Original Message-----
>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>> Sent: Thursday, June 25, 2020 11:27 AM
>> To: user@drill.apache.org
>> Subject: RE: Initial Oracle Setup
>> 
>> Ah okay, that makes a lot of sense now. I will look into what you and Ted have suggested about a materialized view, I guess I just might have to do that for the time being to test my POC further. I'll let you know if I run into any issues with that, thanks again I appreciate all of your help 😊! If you guys develop a fix for that and need someone to test it, let me know and I'd be happy to do that for you!
>> 
>> -Chris
>> 
>> -----Original Message-----
>> From: Charles Givre <cg...@gmail.com>
>> Sent: Wednesday, June 24, 2020 10:14 PM
>> To: user@drill.apache.org
>> Subject: Re: Initial Oracle Setup
>> 
>> That actually explains a lot... While Drill has a timestamp data type, Drill does not have a timezone with tz data type.   Ted Dunning made a suggestion that would likely fix the issue and that is can you create a materialized view of your merchant table (on the Oracle DB) that doesn't have this data type?  (Like CAST it to a regular TIMESTAMP)  Drill should be able to query that.
>> The long term fix is to figure out how to get Drill to deal with unknown data types from JDBC sources, but in the interim, a materialized view might do the trick.
>> Best,
>> -- C
>> 
>> 
>> 
>> 
>>> On Jun 24, 2020, at 6:10 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>> 
>>> I KNEW IT! My initial hunch was correct.. when I listed all of the data types used by Oracle I initially said I had a feeling that TIMESTAMP(6) WITH TIME ZONE was probably the one that was causing an issue. I added each data type as a new column one by one, and the one that finally threw the error was TIMESTAMP(6) WITH TIME ZONE. So because the BIZ schema has tables with TIMESTAMP(6) WITH TIME ZONE as the data type, that's probably while it's failing. Now I am curious though if there is any other column this could be occurring with, but at least for right now we know that TIMESTAMP(6) WITH TIME ZONE is causing an issue, I can't speak for other data types that might not have been present in the merchant table but I can't imagine the other tables would really be all that different.
>>> 
>>> -Chris
>>> 
>>> -----Original Message-----
>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>> Sent: Wednesday, June 24, 2020 5:34 PM
>>> To: user@drill.apache.org
>>> Subject: RE: Initial Oracle Setup
>>> 
>>> Ayyyy!!! That worked! I did the following: CREATE TABLE CKANE.TEST (column_1 INT, column_2 VARCHAR(50));
>>> 
>>> Then I did select * from CKANE.TEST where column_1=1 and it returned what was expected, column_1 which contained the value of 1 and column_2 which contained the value of test.
>>> 
>>> As far as telling Oracle to convert it to something different, if that's a database management level change I can't really go that route since I'm unable to change the configuration of Oracle for a POC like this, I kind of have to get it working with the current constraints.
>>> 
>>> What would be the next data types you'd suggest we try? I listed the data types previously but they are: NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE, so should I start adding a column for each of those until I get the message Unknown SQL Type -101 like before?
>>> 
>>> -----Original Message-----
>>> From: Charles Givre <cg...@gmail.com>
>>> Sent: Wednesday, June 24, 2020 5:25 PM
>>> To: user@drill.apache.org
>>> Subject: Re: Initial Oracle Setup
>>> 
>>> Hi Chris,
>>> You’re correct…
>>> Maybe if you can create a simple table with an INT and a VARCHAR column and get Drill to query that. (It should). If that works, let’s try other data types and see what works and what doesn’t.   I’m also wondering if there is some way of telling Oracle to convert the BINARY DOUBLE to some other data type that can be read.  I don’t know enough about Oracle though…
>>> — C
>>> 
>>> 
>>>> On Jun 24, 2020, at 5:20 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>> 
>>>> You know Charles, I think you're right on the money there. Considering what we've tested at this point, I think you're right. So I would like to prove that hypothesis for you, so to confirm do I need to find a schema with tables that do not have a binary double? I might be able to create a table under my personal oracle schema which shouldn't have anything in there currently. We should agree on the SQL used to create the table so we are on the same page before that though.
>>>> 
>>>> In my opinion, that sounds like a good thing to do. If my POC works as I am hoping it will, I am hoping that Apache Drill proves to be a useful tool in attempting "end to end" test automation entirely from Postman, since Oracle does not natively provide an API to query. It would be really cool if the idea I have in my head plays out as I'm thinking it will, and I would love for the solution to be used by other people (if it works) which would require Drill to be updated to allow for this to work with Oracle.
>>>> 
>>>> -Chris
>>>> 
>>>> -----Original Message-----
>>>> From: Charles Givre <cg...@gmail.com>
>>>> Sent: Wednesday, June 24, 2020 5:13 PM
>>>> To: user@drill.apache.org
>>>> Subject: Re: Initial Oracle Setup
>>>> 
>>>> I think the issue is that Drill is receiving a schema from Oracle that is including a binary double column.  At that point, Drill has no idea how to handle that so you get the validation error.  I’d like to prove this hypothesis by successfully querying a table that does not have a binary double (or other unrecognizable column) and getting Drill to successfully read the results.
>>>> 
>>>> My other thought is that it might be possible to do something with this via the JDBC config.  Sometimes databases have configuration options which can be passed when you connect, and if Oracle has such options, we might be able to fix this in the connection string.  My gut is telling me at this point that we’re going to have to fix this in Drill by adding some code that basically says if the type is unknown, read the data as a string or something like that.
>>>> — C
>>>> 
>>>> 
>>>>> On Jun 24, 2020, at 5:02 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>> 
>>>>> Alright so following that logic of Data Type 101 being a binary double, I did the following:
>>>>> select CAST(merchant_id AS DOUBLE) from biz.merchant where
>>>>> merchant_id=85616270
>>>>> 
>>>>> That unfortunately still results in the unknown sql type -101 error. I did want to say that I was able to go onto the CLI and have it list out all the schemas and tables it could find and what it listed was correct so at least we know we are connected to what we should be.
>>>>> 
>>>>> -----Original Message-----
>>>>> From: Charles Givre <cg...@gmail.com>
>>>>> Sent: Wednesday, June 24, 2020 4:55 PM
>>>>> To: user@drill.apache.org
>>>>> Subject: Re: Initial Oracle Setup
>>>>> 
>>>>> I looked this up… SQL Data Type 101 is a binary double.
>>>>> 
>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_d
>>>>> atabase_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mhB
>>>>> YFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9K
>>>>> _mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRFs
>>>>> hIVqbqiRRDh2qs&e=
>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_
>>>>> database_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mh
>>>>> BYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9
>>>>> K_mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRF
>>>>> shIVqbqiRRDh2qs&e= >
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>>> On Jun 24, 2020, at 4:52 PM, Charles Givre <cg...@gmail.com> wrote:
>>>>>> 
>>>>>> Some more questions…
>>>>>> 1.  Are there other tables you can query?  I want to see if we can at
>>>>>> least get something to work ;-) (Although we can read the schema via SHOW TABLES) 2.  Can you try the following query:
>>>>>> SELECT CAST(<some field> AS INT)
>>>>>> FROM merchant….  Basically I’m wondering if we force Drill to map the field to a type, if we can get it to read the data.
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>>> On Jun 24, 2020, at 4:44 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>> 
>>>>>>> Hey Charles,
>>>>>>> 
>>>>>>> I ran a couple of different queries selecting only a single column from the table and it seems multiple columns are all giving me the same unknown sql type -101 error.
>>>>>>> The stacktrace also appears to be the same per column, so to me it appears that the issue is maybe with the format of the data itself coming from Oracle, I'm not too sure at this point.
>>>>>>> 
>>>>>>> -Chris
>>>>>>> 
>>>>>>> -----Original Message-----
>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>> Sent: Wednesday, June 24, 2020 3:30 PM
>>>>>>> To: user <us...@drill.apache.org>
>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>> 
>>>>>>> Hey Christopher,
>>>>>>> Can you run a query with individual columns so we can see which column is causing the issue?
>>>>>>> Thx,
>>>>>>> --C
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>> On Jun 23, 2020, at 5:25 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>> 
>>>>>>>> Rafael
>>>>>>>> -Okay so doing "show schemas;" (I didn't include the semicolon before) resulted in all of the schemas I was expecting to see be listed, so it's awesome that Drill was actually able to make the connection. So I do think my issue might be with the data types of the columns in the table I'm trying to query.
>>>>>>>> 
>>>>>>>> Charles
>>>>>>>> -here are the data types on the table "merchant": NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE.
>>>>>>>> -if I had to take a guess, I would bet money that the problem child here is the timestamp data type.
>>>>>>>> 
>>>>>>>> -----Original Message-----
>>>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>>>> Sent: Tuesday, June 23, 2020 5:19 PM
>>>>>>>> To: user@drill.apache.org
>>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>> 
>>>>>>>> Rafael
>>>>>>>> -I am running this in embedded mode on my Windows Laptop and I believe I have access to the shell but I'm not too familiar with the syntax so I'll have to look that up and I'll let you know what I get.
>>>>>>>> 
>>>>>>>> Charles
>>>>>>>> -I'm glad you were able to find something about that error because I was having a tough time finding something related to it. I actually thought something similar and actually changed my query to only return the merchant_id of the merchant because I thought maybe there was a column that Drill didn't know how to handle. I will take a look at the stackoverflow link that you sent me and will let you know what I come up with.
>>>>>>>> -Here is the stacktrace for the VALIDATION ERROR:
>>>>>>>> 2020-06-23 17:15:56,017 [qtp409347742-245] ERROR
>>>>>>>> o.a.d.e.server.rest.QueryResources - Query from Web UI Failed: {}
>>>>>>>> org.apache.drill.common.exceptions.UserRemoteException: VALIDATION
>>>>>>>> ERROR: Unknown SQL type -101
>>>>>>>> 
>>>>>>>> 
>>>>>>>> [Error Id: def7533c-bb11-48da-b770-28c6730a1799 ] at
>>>>>>>> org.apache.drill.exec.server.rest.RestQueryRunner.submitQuery(RestQ
>>>>>>>> u
>>>>>>>> eryRunner.java:181) at
>>>>>>>> org.apache.drill.exec.server.rest.RestQueryRunner.run(RestQueryRunn
>>>>>>>> e
>>>>>>>> r.java:70) at
>>>>>>>> org.apache.drill.exec.server.rest.QueryResources.submitQueryJSON(Qu
>>>>>>>> e
>>>>>>>> ryResources.java:96) at
>>>>>>>> org.apache.drill.exec.server.rest.QueryResources.submitQuery(QueryR
>>>>>>>> e
>>>>>>>> sources.java:114) at
>>>>>>>> jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown
>>>>>>>> Source) at
>>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(
>>>>>>>> D
>>>>>>>> elegatingMethodAccessorImpl.java:43)
>>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocation
>>>>>>>> H
>>>>>>>> andlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:
>>>>>>>> 8
>>>>>>>> 1) at
>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>>>> o
>>>>>>>> dDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>>>> o
>>>>>>>> dDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispat
>>>>>>>> c
>>>>>>>> herProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherP
>>>>>>>> r
>>>>>>>> ovider.java:205) at
>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>>>> o
>>>>>>>> dDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Reso
>>>>>>>> u
>>>>>>>> rceMethodInvoker.java:389) at
>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>>>>>> r
>>>>>>>> ceMethodInvoker.java:347) at
>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>>>>>> r
>>>>>>>> ceMethodInvoker.java:102) at
>>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:
>>>>>>>> 3
>>>>>>>> 26) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Reque
>>>>>>>> s
>>>>>>>> tScope.java:317) at
>>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.jav
>>>>>>>> a
>>>>>>>> :305) at
>>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHa
>>>>>>>> n
>>>>>>>> dler.java:1154) at
>>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.
>>>>>>>> j
>>>>>>>> ava:473) at
>>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>>> 427) at
>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>>>> n
>>>>>>>> er.java:388) at
>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>>>> n
>>>>>>>> er.java:341) at
>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>>>> n
>>>>>>>> er.java:228) at
>>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:8
>>>>>>>> 4
>>>>>>>> 8) at
>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>>>> e
>>>>>>>> tHandler.java:1780) at
>>>>>>>> org.apache.drill.exec.server.rest.header.ResponseHeadersSettingFilt
>>>>>>>> e
>>>>>>>> r.doFilter(ResponseHeadersSettingFilter.java:71)
>>>>>>>> at
>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>>>> e
>>>>>>>> tHandler.java:1767) at
>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(
>>>>>>>> C
>>>>>>>> srfTokenValidateFilter.java:55) at
>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>>>> e
>>>>>>>> tHandler.java:1767) at
>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(Cs
>>>>>>>> r
>>>>>>>> fTokenInjectFilter.java:54) at
>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>>>> e
>>>>>>>> tHandler.java:1767) at
>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.ja
>>>>>>>> v
>>>>>>>> a:583) at
>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHan
>>>>>>>> d
>>>>>>>> ler.java:224) at
>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHan
>>>>>>>> d
>>>>>>>> ler.java:1180) at
>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.jav
>>>>>>>> a
>>>>>>>> :513) at
>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHand
>>>>>>>> l
>>>>>>>> er.java:185) at
>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHand
>>>>>>>> l
>>>>>>>> er.java:1112) at
>>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>>> java:141) at
>>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapp
>>>>>>>> e
>>>>>>>> r.java:134) at
>>>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>>>> at
>>>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>>>>>>> at
>>>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.j
>>>>>>>> a
>>>>>>>> va:251) at
>>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abst
>>>>>>>> r
>>>>>>>> actConnection.java:283) at
>>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>>>>>>> at
>>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPo
>>>>>>>> i
>>>>>>>> nt.java:93) at
>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execut
>>>>>>>> e
>>>>>>>> ProduceConsume(ExecuteProduceConsume.java:303)
>>>>>>>> at
>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produc
>>>>>>>> e
>>>>>>>> Consume(ExecuteProduceConsume.java:148)
>>>>>>>> at
>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Ex
>>>>>>>> e
>>>>>>>> cuteProduceConsume.java:136) at
>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadP
>>>>>>>> o
>>>>>>>> ol.java:671) at
>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPo
>>>>>>>> o
>>>>>>>> l.java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>>>> Caused by: java.lang.IllegalArgumentException: Unknown SQL type
>>>>>>>> -101 at
>>>>>>>> org.apache.calcite.avatica.SqlType.valueOf(SqlType.java:383)
>>>>>>>> at
>>>>>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>>>>>> a
>>>>>>>> .java:385) at
>>>>>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>>>>>> a
>>>>>>>> .java:362) at
>>>>>>>> org.apache.calcite.adapter.jdbc.JdbcTable.getRowType(JdbcTable.java:
>>>>>>>> 117) at
>>>>>>>> org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:
>>>>>>>> 159) at
>>>>>>>> org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.
>>>>>>>> j
>>>>>>>> ava:99) at
>>>>>>>> org.apache.calcite.sql.validate.DelegatingScope.resolveTable(Delega
>>>>>>>> t
>>>>>>>> ingScope.java:203) at
>>>>>>>> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(Ide
>>>>>>>> n
>>>>>>>> tifierNamespace.java:105) at
>>>>>>>> org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(Id
>>>>>>>> e
>>>>>>>> ntifierNamespace.java:177) at
>>>>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>>>>>> N
>>>>>>>> amespace.java:84) at
>>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>>>>>> S
>>>>>>>> qlValidatorImpl.java:1009) at
>>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>>>>>> a
>>>>>>>> lidatorImpl.java:969) at
>>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>>>>>> l
>>>>>>>> idatorImpl.java:3129) at
>>>>>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>>>>>> e
>>>>>>>> From(DrillValidator.java:63) at
>>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>>>>>> l
>>>>>>>> idatorImpl.java:3111) at
>>>>>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>>>>>> e
>>>>>>>> From(DrillValidator.java:63) at
>>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(Sql
>>>>>>>> V
>>>>>>>> alidatorImpl.java:3383) at
>>>>>>>> org.apache.calcite.sql.validate.SelectNamespace.validateImpl(Select
>>>>>>>> N
>>>>>>>> amespace.java:60) at
>>>>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>>>>>> N
>>>>>>>> amespace.java:84) at
>>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>>>>>> S
>>>>>>>> qlValidatorImpl.java:1009) at
>>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>>>>>> a
>>>>>>>> lidatorImpl.java:969) at
>>>>>>>> org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:216)
>>>>>>>> at
>>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpr
>>>>>>>> e
>>>>>>>> ssion(SqlValidatorImpl.java:944) at
>>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValida
>>>>>>>> t
>>>>>>>> orImpl.java:651) at
>>>>>>>> org.apache.drill.exec.planner.sql.conversion.SqlConverter.validate(
>>>>>>>> S
>>>>>>>> qlConverter.java:189) at
>>>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>>>>>> t
>>>>>>>> eNode(DefaultSqlHandler.java:641) at
>>>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>>>>>> t
>>>>>>>> eAndConvert(DefaultSqlHandler.java:195)
>>>>>>>> at
>>>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPla
>>>>>>>> n
>>>>>>>> (DefaultSqlHandler.java:169) at
>>>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(Drill
>>>>>>>> S
>>>>>>>> qlWorker.java:283) at
>>>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan(Dr
>>>>>>>> i
>>>>>>>> llSqlWorker.java:163) at
>>>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillS
>>>>>>>> q
>>>>>>>> lWorker.java:128) at
>>>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWo
>>>>>>>> r
>>>>>>>> ker.java:93) at
>>>>>>>> org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:593)
>>>>>>>> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:274)
>>>>>>>> at .......(:0)
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> -----Original Message-----
>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>> Sent: Tuesday, June 23, 2020 4:35 PM
>>>>>>>> To: user@drill.apache.org
>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>> 
>>>>>>>> One more thing...
>>>>>>>> 
>>>>>>>> Could you run the query that is producing the VALIDATION ERROR and send the full stack trace?  I'm thinking that can be fixed on the Drill end of things, at least until Calcite fixes that.
>>>>>>>> -- C
>>>>>>>> 
>>>>>>>>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>> 
>>>>>>>>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
>>>>>>>>> 
>>>>>>>>> I think the only thing I'm having an issue with now I think is
>>>>>>>>> related to this:
>>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.
>>>>>>>>> org
>>>>>>>>> _jira_browse_CALCITE-2D3533&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BY
>>>>>>>>> R
>>>>>>>>> bCB
>>>>>>>>> lPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=g39OzDxVVrucBo3nnaZNaIqoh9
>>>>>>>>> S ZZi
>>>>>>>>> dthZ3H6QSOkWE&s=oVohCx-25EZLkSVY7yEV1FtFZ-nNDTnGvek4Sx67nYc&e=
>>>>>>>>> 
>>>>>>>>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
>>>>>>>>> 
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Rafael Jaimes III <ra...@gmail.com>
>>>>>>>>> Sent: Tuesday, June 23, 2020 3:43 PM
>>>>>>>>> To: user@drill.apache.org
>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>> 
>>>>>>>>> Glad you got it working with the new version regardless!
>>>>>>>>> 
>>>>>>>>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>>> 
>>>>>>>>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>>>>>>>>>> 
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:31 PM
>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>>>> 
>>>>>>>>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>>>>>>>>>> 
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:23 PM
>>>>>>>>>> To: user <us...@drill.apache.org>
>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>> 
>>>>>>>>>> It hasn't been released yet, so you'd have to d/l from github
>>>>>>>>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>>>> a
>>>>>>>>>> pac
>>>>>>>>>> h
>>>>>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>>>>>> l
>>>>>>>>>> lmV
>>>>>>>>>> q
>>>>>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>>>>>> =
>>>>>>>>>> C8v
>>>>>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>>>>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>>>> a
>>>>>>>>>> pac
>>>>>>>>>> h
>>>>>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>>>>>> l
>>>>>>>>>> lmV
>>>>>>>>>> q
>>>>>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>>>>>> =
>>>>>>>>>> C8v
>>>>>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from
>>>>>>>>>> source.
>>>>>>>>>> If you can't do that, I have a pre-release here:
>>>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_c
>>>>>>>>>> g
>>>>>>>>>> ivr
>>>>>>>>>> e
>>>>>>>>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7W
>>>>>>>>>> I
>>>>>>>>>> 0-D
>>>>>>>>>> P
>>>>>>>>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZS
>>>>>>>>>> N
>>>>>>>>>> loM
>>>>>>>>>> 5
>>>>>>>>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-
>>>>>>>>>> q
>>>>>>>>>> XY0
>>>>>>>>>> &
>>>>>>>>>> e=
>>>>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>>>> c
>>>>>>>>>> giv
>>>>>>>>>> r
>>>>>>>>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7
>>>>>>>>>> W
>>>>>>>>>> I0-
>>>>>>>>>> D
>>>>>>>>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZ
>>>>>>>>>> S
>>>>>>>>>> Nlo
>>>>>>>>>> M
>>>>>>>>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H
>>>>>>>>>> -
>>>>>>>>>> qXY
>>>>>>>>>> 0
>>>>>>>>>> &e= >
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>>>>>>>>>> 
>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>> From: Christopher Kane
>>>>>>>>>>> <ch...@cardconnect.com.INVALID>
>>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>>>>> 
>>>>>>>>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>>>>>>>>>> 
>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>>> 
>>>>>>>>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>>>>>>>>>> 
>>>>>>>>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>> On both the directory of drill and on startup I am running
>>>>>>>>>>>> Apache Drill 1.17.0
>>>>>>>>>>>> 
>>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>>> From: Charles Givre <cgivre@gmail.com
>>>>>>>>>>>> <ma...@gmail.com>>
>>>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>>>>>>>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>>>> 
>>>>>>>>>>>> One more question.. what version of Drill are you using?
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Rafael
>>>>>>>>>>>>> -I did place it in the jars/3rdparty folder.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Storage Plugin Config:
>>>>>>>>>>>>> {
>>>>>>>>>>>>> "type": "jdbc",
>>>>>>>>>>>>> "enabled": true,
>>>>>>>>>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>>>>>>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>>>>>>>>>> }
>>>>>>>>>>>>> (it's been modified to remove sensitive information)
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Charles
>>>>>>>>>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>>>>>>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>>>>>>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/
>>>>>>>>>>>>> update
>>>>>>>>>>>>> plugin: QA2 Oracle
>>>>>>>>>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
>>>>>>>>>>>>> Failure setting up new storage plugin configuration for config
>>>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>>>>>> t
>>>>>>>>>>>>> ora
>>>>>>>>>>>>> ge
>>>>>>>>>>>>> P
>>>>>>>>>>>>> l
>>>>>>>>>>>>> uginRegistryImpl.java:536) at
>>>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOr
>>>>>>>>>>>>> U
>>>>>>>>>>>>> pda
>>>>>>>>>>>>> te
>>>>>>>>>>>>> (
>>>>>>>>>>>>> S
>>>>>>>>>>>>> toragePluginRegistryImpl.java:132)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOr
>>>>>>>>>>>>> U
>>>>>>>>>>>>> pda
>>>>>>>>>>>>> te
>>>>>>>>>>>>> I
>>>>>>>>>>>>> n
>>>>>>>>>>>>> Storage(PluginConfigWrapper.java:56)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>>>>>> a
>>>>>>>>>>>>> teP
>>>>>>>>>>>>> lu
>>>>>>>>>>>>> g
>>>>>>>>>>>>> i
>>>>>>>>>>>>> nJSON(StorageResources.java:212) at
>>>>>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>>>>>> a
>>>>>>>>>>>>> teP
>>>>>>>>>>>>> lu
>>>>>>>>>>>>> g
>>>>>>>>>>>>> i
>>>>>>>>>>>>> n(StorageResources.java:233) at
>>>>>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>>>>>> 0
>>>>>>>>>>>>> (Na
>>>>>>>>>>>>> ti
>>>>>>>>>>>>> v
>>>>>>>>>>>>> e
>>>>>>>>>>>>> Method) at
>>>>>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>>>>>> (
>>>>>>>>>>>>> Nat
>>>>>>>>>>>>> iv
>>>>>>>>>>>>> e
>>>>>>>>>>>>> M
>>>>>>>>>>>>> ethodAccessorImpl.java:62) at
>>>>>>>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.in
>>>>>>>>>>>>> v
>>>>>>>>>>>>> oke
>>>>>>>>>>>>> (D
>>>>>>>>>>>>> e
>>>>>>>>>>>>> l
>>>>>>>>>>>>> egatingMethodAccessorImpl.java:43)
>>>>>>>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvoc
>>>>>>>>>>>>> a
>>>>>>>>>>>>> tio
>>>>>>>>>>>>> nH
>>>>>>>>>>>>> a
>>>>>>>>>>>>> n
>>>>>>>>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.ja
>>>>>>>>>>>>> v
>>>>>>>>>>>>> a:8
>>>>>>>>>>>>> 1)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>>>> e
>>>>>>>>>>>>> Met
>>>>>>>>>>>>> ho
>>>>>>>>>>>>> d
>>>>>>>>>>>>> D
>>>>>>>>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>>>> e
>>>>>>>>>>>>> Met
>>>>>>>>>>>>> ho
>>>>>>>>>>>>> d
>>>>>>>>>>>>> D
>>>>>>>>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161
>>>>>>>>>>>>> )
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodD
>>>>>>>>>>>>> i
>>>>>>>>>>>>> spa
>>>>>>>>>>>>> tc
>>>>>>>>>>>>> h
>>>>>>>>>>>>> e
>>>>>>>>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatch
>>>>>>>>>>>>> e
>>>>>>>>>>>>> rPr
>>>>>>>>>>>>> ov
>>>>>>>>>>>>> i
>>>>>>>>>>>>> d
>>>>>>>>>>>>> er.java:205) at
>>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>>>> e
>>>>>>>>>>>>> Met
>>>>>>>>>>>>> ho
>>>>>>>>>>>>> d
>>>>>>>>>>>>> D
>>>>>>>>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:9
>>>>>>>>>>>>> 9
>>>>>>>>>>>>> )
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke
>>>>>>>>>>>>> (
>>>>>>>>>>>>> Res
>>>>>>>>>>>>> ou
>>>>>>>>>>>>> r
>>>>>>>>>>>>> c
>>>>>>>>>>>>> eMethodInvoker.java:389) at
>>>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>>>>>> R
>>>>>>>>>>>>> eso
>>>>>>>>>>>>> ur
>>>>>>>>>>>>> c
>>>>>>>>>>>>> e
>>>>>>>>>>>>> MethodInvoker.java:347) at
>>>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>>>>>> R
>>>>>>>>>>>>> eso
>>>>>>>>>>>>> ur
>>>>>>>>>>>>> c
>>>>>>>>>>>>> e
>>>>>>>>>>>>> MethodInvoker.java:102) at
>>>>>>>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.
>>>>>>>>>>>>> j
>>>>>>>>>>>>> ava
>>>>>>>>>>>>> :3
>>>>>>>>>>>>> 2
>>>>>>>>>>>>> 6
>>>>>>>>>>>>> ) at
>>>>>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(
>>>>>>>>>>>>> R
>>>>>>>>>>>>> equ
>>>>>>>>>>>>> es
>>>>>>>>>>>>> t
>>>>>>>>>>>>> S
>>>>>>>>>>>>> cope.java:317) at
>>>>>>>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>>>>>>>>>> 3
>>>>>>>>>>>>> 05) at
>>>>>>>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(Applicat
>>>>>>>>>>>>> i
>>>>>>>>>>>>> onH
>>>>>>>>>>>>> an
>>>>>>>>>>>>> d
>>>>>>>>>>>>> l
>>>>>>>>>>>>> er.java:1154) at
>>>>>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebCompo
>>>>>>>>>>>>> n
>>>>>>>>>>>>> ent
>>>>>>>>>>>>> .j
>>>>>>>>>>>>> a
>>>>>>>>>>>>> v
>>>>>>>>>>>>> a:473) at
>>>>>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>>>>>>>> 4
>>>>>>>>>>>>> 2
>>>>>>>>>>>>> 7) at
>>>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>>>> o
>>>>>>>>>>>>> nta
>>>>>>>>>>>>> in
>>>>>>>>>>>>> e
>>>>>>>>>>>>> r
>>>>>>>>>>>>> .java:388) at
>>>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>>>> o
>>>>>>>>>>>>> nta
>>>>>>>>>>>>> in
>>>>>>>>>>>>> e
>>>>>>>>>>>>> r
>>>>>>>>>>>>> .java:341) at
>>>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>>>> o
>>>>>>>>>>>>> nta
>>>>>>>>>>>>> in
>>>>>>>>>>>>> e
>>>>>>>>>>>>> r
>>>>>>>>>>>>> .java:228) at
>>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>>>>>>>>>> 84
>>>>>>>>>>>>> 8
>>>>>>>>>>>>> )
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>>>> S
>>>>>>>>>>>>> erv
>>>>>>>>>>>>> le
>>>>>>>>>>>>> t
>>>>>>>>>>>>> H
>>>>>>>>>>>>> andler.java:1780) at
>>>>>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFi
>>>>>>>>>>>>> l
>>>>>>>>>>>>> ter
>>>>>>>>>>>>> (C
>>>>>>>>>>>>> s
>>>>>>>>>>>>> r
>>>>>>>>>>>>> fTokenValidateFilter.java:55) at
>>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>>>> S
>>>>>>>>>>>>> erv
>>>>>>>>>>>>> le
>>>>>>>>>>>>> t
>>>>>>>>>>>>> H
>>>>>>>>>>>>> andler.java:1767) at
>>>>>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilt
>>>>>>>>>>>>> e
>>>>>>>>>>>>> r(C
>>>>>>>>>>>>> sr
>>>>>>>>>>>>> f
>>>>>>>>>>>>> T
>>>>>>>>>>>>> okenInjectFilter.java:54) at
>>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>>>> S
>>>>>>>>>>>>> erv
>>>>>>>>>>>>> le
>>>>>>>>>>>>> t
>>>>>>>>>>>>> H
>>>>>>>>>>>>> andler.java:1767) at
>>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>>>>>>>>>> 583) at
>>>>>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(Sessi
>>>>>>>>>>>>> o
>>>>>>>>>>>>> nHa
>>>>>>>>>>>>> nd
>>>>>>>>>>>>> l
>>>>>>>>>>>>> e
>>>>>>>>>>>>> r.java:224) at
>>>>>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(Conte
>>>>>>>>>>>>> x
>>>>>>>>>>>>> tHa
>>>>>>>>>>>>> nd
>>>>>>>>>>>>> l
>>>>>>>>>>>>> e
>>>>>>>>>>>>> r.java:1180) at
>>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>>>>>>>>>> 5
>>>>>>>>>>>>> 13) at
>>>>>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(Sessio
>>>>>>>>>>>>> n
>>>>>>>>>>>>> Han
>>>>>>>>>>>>> dl
>>>>>>>>>>>>> e
>>>>>>>>>>>>> r
>>>>>>>>>>>>> .java:185) at
>>>>>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(Contex
>>>>>>>>>>>>> t
>>>>>>>>>>>>> Han
>>>>>>>>>>>>> dl
>>>>>>>>>>>>> e
>>>>>>>>>>>>> r
>>>>>>>>>>>>> .java:1112) at
>>>>>>>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>>>>>>>> j
>>>>>>>>>>>>> a
>>>>>>>>>>>>> va:141) at
>>>>>>>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>>>>>>>>>> java:134) at
>>>>>>>>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:3
>>>>>>>>>>>>> 3
>>>>>>>>>>>>> 3)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>>>>>>>>>> ja
>>>>>>>>>>>>> v
>>>>>>>>>>>>> a
>>>>>>>>>>>>> :251) at
>>>>>>>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded
>>>>>>>>>>>>> (
>>>>>>>>>>>>> Abs
>>>>>>>>>>>>> tr
>>>>>>>>>>>>> a
>>>>>>>>>>>>> c
>>>>>>>>>>>>> tConnection.java:283) at
>>>>>>>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:1
>>>>>>>>>>>>> 0
>>>>>>>>>>>>> 8)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannel
>>>>>>>>>>>>> E
>>>>>>>>>>>>> ndP
>>>>>>>>>>>>> oi
>>>>>>>>>>>>> n
>>>>>>>>>>>>> t
>>>>>>>>>>>>> .java:93) at
>>>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.e
>>>>>>>>>>>>> x
>>>>>>>>>>>>> ecu
>>>>>>>>>>>>> te
>>>>>>>>>>>>> P
>>>>>>>>>>>>> r
>>>>>>>>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.p
>>>>>>>>>>>>> r
>>>>>>>>>>>>> odu
>>>>>>>>>>>>> ce
>>>>>>>>>>>>> C
>>>>>>>>>>>>> o
>>>>>>>>>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.r
>>>>>>>>>>>>> u
>>>>>>>>>>>>> n(E
>>>>>>>>>>>>> xe
>>>>>>>>>>>>> c
>>>>>>>>>>>>> u
>>>>>>>>>>>>> teProduceConsume.java:136) at
>>>>>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedTh
>>>>>>>>>>>>> r
>>>>>>>>>>>>> ead
>>>>>>>>>>>>> Po
>>>>>>>>>>>>> o
>>>>>>>>>>>>> l
>>>>>>>>>>>>> .java:671) at
>>>>>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>>>>>>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>>>>>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>>>>>>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>>>>>>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
>>>>>>>>>>>>> ja
>>>>>>>>>>>>> v
>>>>>>>>>>>>> a
>>>>>>>>>>>>> :78) at
>>>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelCon
>>>>>>>>>>>>> v
>>>>>>>>>>>>> ert
>>>>>>>>>>>>> er
>>>>>>>>>>>>> R
>>>>>>>>>>>>> u
>>>>>>>>>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcCo
>>>>>>>>>>>>> n
>>>>>>>>>>>>> ven
>>>>>>>>>>>>> ti
>>>>>>>>>>>>> o
>>>>>>>>>>>>> n
>>>>>>>>>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(Jdbc
>>>>>>>>>>>>> S
>>>>>>>>>>>>> tor
>>>>>>>>>>>>> ag
>>>>>>>>>>>>> e
>>>>>>>>>>>>> P
>>>>>>>>>>>>> lugin.java:103) at
>>>>>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>>>>>> e
>>>>>>>>>>>>> wIn
>>>>>>>>>>>>> st
>>>>>>>>>>>>> a
>>>>>>>>>>>>> n
>>>>>>>>>>>>> ce0(Native Method) at
>>>>>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>>>>>> e
>>>>>>>>>>>>> wIn
>>>>>>>>>>>>> st
>>>>>>>>>>>>> a
>>>>>>>>>>>>> n
>>>>>>>>>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorIm
>>>>>>>>>>>>> p
>>>>>>>>>>>>> l.n
>>>>>>>>>>>>> ew
>>>>>>>>>>>>> I
>>>>>>>>>>>>> n
>>>>>>>>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>>>>>>>>>> at
>>>>>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(
>>>>>>>>>>>>> C
>>>>>>>>>>>>> ons
>>>>>>>>>>>>> tr
>>>>>>>>>>>>> u
>>>>>>>>>>>>> c
>>>>>>>>>>>>> tor.java:500) at
>>>>>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>>>>>>>>>> 4
>>>>>>>>>>>>> 81) at
>>>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>>>>>> t
>>>>>>>>>>>>> ora
>>>>>>>>>>>>> ge
>>>>>>>>>>>>> P
>>>>>>>>>>>>> l
>>>>>>>>>>>>> uginRegistryImpl.java:528)
>>>>>>>>>>>>> ... 56 common frames omitted
>>>>>>>>>>>>> 
>>>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>>>>> 
>>>>>>>>>>>>> One more thing...
>>>>>>>>>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>> -- C
>>>>>>>>>>>>> 
>>>>>>>>>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Hi Chris,
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> You're right you might be onto something if you get the
>>>>>>>>>>>>>> password failed message. Can you post the exact text (JSON)
>>>>>>>>>>>>>> of the storage plugin config?
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> -Rafael
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>>>>>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Hey Everyone,
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> Christopher Kane
>>>>>>>>>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>>>>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>>>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>>>>>>>>>> com>,
>>>>>>>>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>>>>>>>>>> c
>>>>>>>>>>>>>>> o
>>>>>>>>>>>>>>> m>,
>>>>>>>>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fise
>>>>>>>>>>>>>>> m>r
>>>>>>>>>>>>>>> m>v.c
>>>>>>>>>>>>>>> m>om
>>>>>>>>>>>>>>> m>>
>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>>>> 
>>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>>> 
>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>> 
>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>> 
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>> 
>>>>>>> 
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>> 
>>>>> 
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>> 
>>>> 
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>> 
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> 
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> 
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.


RE: Initial Oracle Setup

Posted by Christopher Kane <ch...@cardconnect.com.INVALID>.
I do have an additional question and I apologize if this is a simple question, but the response from the Drill API when querying, is there a way to order how the "rows" object is returned? Or can you be sure that the order of how those rows are returned never change? I did execute the same query a couple times and it looks like the structure remained the same but was curious if there is a way to influence it so that it is always the same.

-Chris

-----Original Message-----
From: Christopher Kane <ch...@cardconnect.com.INVALID>
Sent: Tuesday, June 30, 2020 4:14 PM
To: user@drill.apache.org
Subject: RE: Initial Oracle Setup

You are totally right and for the time being in my POC I am not concerned really with the datetime columns on the table I'm querying so for now I figured it would be easier to just remove them entirely.

You have a good point about the overhead, the query from Drill to Oracle isn't the quickest thing in the world but if your goal is E2E testing from Postman with little setup, I feel like this could work as a decent middle of the road approach. However, your suggestion around creating a REST API with Python to provide a quicker and more convenient way to access the same data might be the way to go for the reasons that you mentioned, if you wouldn't mind, is there a framework or two that you'd recommend off the top of your head?

Again, thanks so much for your help.
Chris

-----Original Message-----
From: Charles Givre <cg...@gmail.com>
Sent: Tuesday, June 30, 2020 4:06 PM
To: user <us...@drill.apache.org>
Subject: Re: Initial Oracle Setup

Hey Chris,
Glad you got things working.  Just to be clear... you don't have to remove all the columns in your view in Oracle.  You can transform them to a JDBC compatible datatype.
For example:  (Ignore the syntax...)

SELECT CAST(timezone_field AS DATETIME) AS timezone_field
....

Then you won't lose the data.

Regarding your next question, does this approach have merit...  Usually it doesn't make much sense to query a relational database from Drill by itself as now you are adding Drill's overhead to your queries. However, if you are joining that data with other datasets that are not in your database, that does make sense, because that usually involves coding or something a lot more complicated than Drill.
I had never thought about using Drill as an API for a database.  I guess if it works for you, then Hey the approach has merit!

In all honesty, I would think it wouldn't be too difficult to create a quick REST API using one of the many Python API frameworks and that would probably be my preferred approach.  That would get you a lot of benefits that Drill doesn't have such as more flexibility, better authentication, etc. However, I don't know all the details of your use case, so I'd say carry on... Ultimately, it depends on what you're trying to do as to whether Drill is the best tool or not.
Best,
-- C





> On Jun 29, 2020, at 7:15 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>
> Alright, so I was finally able to create a view in my own schema that removed all of the columns with the timestamp with timezone data type and was able to perform a query as expected! Now the next step will be utilizing the API to be able to query oracle from Postman which will be able to provide some sort of "end to end" testing which currently is not available since Oracle does not offer any sort of API to hit their databases directly, so once I saw Apache Drill I figured that was an excellent use case for your wonderful technology 😊.
>
> I probably won't have a full POC up and running for when you guys do your Apache Conference, but as I am new in the field (2+ years), in your opinion do you think my POC has merit and would be useful for other people to know that this potential exists?
>
> Thanks again for all your help!
> Chris
>
> -----Original Message-----
> From: Christopher Kane <ch...@cardconnect.com.INVALID>
> Sent: Thursday, June 25, 2020 11:27 AM
> To: user@drill.apache.org
> Subject: RE: Initial Oracle Setup
>
> Ah okay, that makes a lot of sense now. I will look into what you and Ted have suggested about a materialized view, I guess I just might have to do that for the time being to test my POC further. I'll let you know if I run into any issues with that, thanks again I appreciate all of your help 😊! If you guys develop a fix for that and need someone to test it, let me know and I'd be happy to do that for you!
>
> -Chris
>
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Wednesday, June 24, 2020 10:14 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
>
> That actually explains a lot... While Drill has a timestamp data type, Drill does not have a timezone with tz data type.   Ted Dunning made a suggestion that would likely fix the issue and that is can you create a materialized view of your merchant table (on the Oracle DB) that doesn't have this data type?  (Like CAST it to a regular TIMESTAMP)  Drill should be able to query that.
> The long term fix is to figure out how to get Drill to deal with unknown data types from JDBC sources, but in the interim, a materialized view might do the trick.
> Best,
> -- C
>
>
>
>
>> On Jun 24, 2020, at 6:10 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>
>> I KNEW IT! My initial hunch was correct.. when I listed all of the data types used by Oracle I initially said I had a feeling that TIMESTAMP(6) WITH TIME ZONE was probably the one that was causing an issue. I added each data type as a new column one by one, and the one that finally threw the error was TIMESTAMP(6) WITH TIME ZONE. So because the BIZ schema has tables with TIMESTAMP(6) WITH TIME ZONE as the data type, that's probably while it's failing. Now I am curious though if there is any other column this could be occurring with, but at least for right now we know that TIMESTAMP(6) WITH TIME ZONE is causing an issue, I can't speak for other data types that might not have been present in the merchant table but I can't imagine the other tables would really be all that different.
>>
>> -Chris
>>
>> -----Original Message-----
>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>> Sent: Wednesday, June 24, 2020 5:34 PM
>> To: user@drill.apache.org
>> Subject: RE: Initial Oracle Setup
>>
>> Ayyyy!!! That worked! I did the following: CREATE TABLE CKANE.TEST (column_1 INT, column_2 VARCHAR(50));
>>
>> Then I did select * from CKANE.TEST where column_1=1 and it returned what was expected, column_1 which contained the value of 1 and column_2 which contained the value of test.
>>
>> As far as telling Oracle to convert it to something different, if that's a database management level change I can't really go that route since I'm unable to change the configuration of Oracle for a POC like this, I kind of have to get it working with the current constraints.
>>
>> What would be the next data types you'd suggest we try? I listed the data types previously but they are: NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE, so should I start adding a column for each of those until I get the message Unknown SQL Type -101 like before?
>>
>> -----Original Message-----
>> From: Charles Givre <cg...@gmail.com>
>> Sent: Wednesday, June 24, 2020 5:25 PM
>> To: user@drill.apache.org
>> Subject: Re: Initial Oracle Setup
>>
>> Hi Chris,
>> You’re correct…
>> Maybe if you can create a simple table with an INT and a VARCHAR column and get Drill to query that. (It should). If that works, let’s try other data types and see what works and what doesn’t.   I’m also wondering if there is some way of telling Oracle to convert the BINARY DOUBLE to some other data type that can be read.  I don’t know enough about Oracle though…
>> — C
>>
>>
>>> On Jun 24, 2020, at 5:20 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>
>>> You know Charles, I think you're right on the money there. Considering what we've tested at this point, I think you're right. So I would like to prove that hypothesis for you, so to confirm do I need to find a schema with tables that do not have a binary double? I might be able to create a table under my personal oracle schema which shouldn't have anything in there currently. We should agree on the SQL used to create the table so we are on the same page before that though.
>>>
>>> In my opinion, that sounds like a good thing to do. If my POC works as I am hoping it will, I am hoping that Apache Drill proves to be a useful tool in attempting "end to end" test automation entirely from Postman, since Oracle does not natively provide an API to query. It would be really cool if the idea I have in my head plays out as I'm thinking it will, and I would love for the solution to be used by other people (if it works) which would require Drill to be updated to allow for this to work with Oracle.
>>>
>>> -Chris
>>>
>>> -----Original Message-----
>>> From: Charles Givre <cg...@gmail.com>
>>> Sent: Wednesday, June 24, 2020 5:13 PM
>>> To: user@drill.apache.org
>>> Subject: Re: Initial Oracle Setup
>>>
>>> I think the issue is that Drill is receiving a schema from Oracle that is including a binary double column.  At that point, Drill has no idea how to handle that so you get the validation error.  I’d like to prove this hypothesis by successfully querying a table that does not have a binary double (or other unrecognizable column) and getting Drill to successfully read the results.
>>>
>>> My other thought is that it might be possible to do something with this via the JDBC config.  Sometimes databases have configuration options which can be passed when you connect, and if Oracle has such options, we might be able to fix this in the connection string.  My gut is telling me at this point that we’re going to have to fix this in Drill by adding some code that basically says if the type is unknown, read the data as a string or something like that.
>>> — C
>>>
>>>
>>>> On Jun 24, 2020, at 5:02 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>
>>>> Alright so following that logic of Data Type 101 being a binary double, I did the following:
>>>> select CAST(merchant_id AS DOUBLE) from biz.merchant where
>>>> merchant_id=85616270
>>>>
>>>> That unfortunately still results in the unknown sql type -101 error. I did want to say that I was able to go onto the CLI and have it list out all the schemas and tables it could find and what it listed was correct so at least we know we are connected to what we should be.
>>>>
>>>> -----Original Message-----
>>>> From: Charles Givre <cg...@gmail.com>
>>>> Sent: Wednesday, June 24, 2020 4:55 PM
>>>> To: user@drill.apache.org
>>>> Subject: Re: Initial Oracle Setup
>>>>
>>>> I looked this up… SQL Data Type 101 is a binary double.
>>>>
>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_d
>>>> atabase_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mhB
>>>> YFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9K
>>>> _mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRFs
>>>> hIVqbqiRRDh2qs&e=
>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_
>>>> database_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mh
>>>> BYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9
>>>> K_mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRF
>>>> shIVqbqiRRDh2qs&e= >
>>>>
>>>>
>>>>
>>>>
>>>>> On Jun 24, 2020, at 4:52 PM, Charles Givre <cg...@gmail.com> wrote:
>>>>>
>>>>> Some more questions…
>>>>> 1.  Are there other tables you can query?  I want to see if we can at
>>>>> least get something to work ;-) (Although we can read the schema via SHOW TABLES) 2.  Can you try the following query:
>>>>> SELECT CAST(<some field> AS INT)
>>>>> FROM merchant….  Basically I’m wondering if we force Drill to map the field to a type, if we can get it to read the data.
>>>>>
>>>>>
>>>>>
>>>>>> On Jun 24, 2020, at 4:44 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>
>>>>>> Hey Charles,
>>>>>>
>>>>>> I ran a couple of different queries selecting only a single column from the table and it seems multiple columns are all giving me the same unknown sql type -101 error.
>>>>>> The stacktrace also appears to be the same per column, so to me it appears that the issue is maybe with the format of the data itself coming from Oracle, I'm not too sure at this point.
>>>>>>
>>>>>> -Chris
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>> Sent: Wednesday, June 24, 2020 3:30 PM
>>>>>> To: user <us...@drill.apache.org>
>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>
>>>>>> Hey Christopher,
>>>>>> Can you run a query with individual columns so we can see which column is causing the issue?
>>>>>> Thx,
>>>>>> --C
>>>>>>
>>>>>>
>>>>>>
>>>>>>> On Jun 23, 2020, at 5:25 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>
>>>>>>> Rafael
>>>>>>> -Okay so doing "show schemas;" (I didn't include the semicolon before) resulted in all of the schemas I was expecting to see be listed, so it's awesome that Drill was actually able to make the connection. So I do think my issue might be with the data types of the columns in the table I'm trying to query.
>>>>>>>
>>>>>>> Charles
>>>>>>> -here are the data types on the table "merchant": NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE.
>>>>>>> -if I had to take a guess, I would bet money that the problem child here is the timestamp data type.
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>>> Sent: Tuesday, June 23, 2020 5:19 PM
>>>>>>> To: user@drill.apache.org
>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>
>>>>>>> Rafael
>>>>>>> -I am running this in embedded mode on my Windows Laptop and I believe I have access to the shell but I'm not too familiar with the syntax so I'll have to look that up and I'll let you know what I get.
>>>>>>>
>>>>>>> Charles
>>>>>>> -I'm glad you were able to find something about that error because I was having a tough time finding something related to it. I actually thought something similar and actually changed my query to only return the merchant_id of the merchant because I thought maybe there was a column that Drill didn't know how to handle. I will take a look at the stackoverflow link that you sent me and will let you know what I come up with.
>>>>>>> -Here is the stacktrace for the VALIDATION ERROR:
>>>>>>> 2020-06-23 17:15:56,017 [qtp409347742-245] ERROR
>>>>>>> o.a.d.e.server.rest.QueryResources - Query from Web UI Failed: {}
>>>>>>> org.apache.drill.common.exceptions.UserRemoteException: VALIDATION
>>>>>>> ERROR: Unknown SQL type -101
>>>>>>>
>>>>>>>
>>>>>>> [Error Id: def7533c-bb11-48da-b770-28c6730a1799 ] at
>>>>>>> org.apache.drill.exec.server.rest.RestQueryRunner.submitQuery(RestQ
>>>>>>> u
>>>>>>> eryRunner.java:181) at
>>>>>>> org.apache.drill.exec.server.rest.RestQueryRunner.run(RestQueryRunn
>>>>>>> e
>>>>>>> r.java:70) at
>>>>>>> org.apache.drill.exec.server.rest.QueryResources.submitQueryJSON(Qu
>>>>>>> e
>>>>>>> ryResources.java:96) at
>>>>>>> org.apache.drill.exec.server.rest.QueryResources.submitQuery(QueryR
>>>>>>> e
>>>>>>> sources.java:114) at
>>>>>>> jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown
>>>>>>> Source) at
>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(
>>>>>>> D
>>>>>>> elegatingMethodAccessorImpl.java:43)
>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocation
>>>>>>> H
>>>>>>> andlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:
>>>>>>> 8
>>>>>>> 1) at
>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>>> o
>>>>>>> dDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>>> o
>>>>>>> dDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispat
>>>>>>> c
>>>>>>> herProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherP
>>>>>>> r
>>>>>>> ovider.java:205) at
>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>>> o
>>>>>>> dDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Reso
>>>>>>> u
>>>>>>> rceMethodInvoker.java:389) at
>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>>>>> r
>>>>>>> ceMethodInvoker.java:347) at
>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>>>>> r
>>>>>>> ceMethodInvoker.java:102) at
>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:
>>>>>>> 3
>>>>>>> 26) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>>> at
>>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Reque
>>>>>>> s
>>>>>>> tScope.java:317) at
>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.jav
>>>>>>> a
>>>>>>> :305) at
>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHa
>>>>>>> n
>>>>>>> dler.java:1154) at
>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.
>>>>>>> j
>>>>>>> ava:473) at
>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>> 427) at
>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>>> n
>>>>>>> er.java:388) at
>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>>> n
>>>>>>> er.java:341) at
>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>>> n
>>>>>>> er.java:228) at
>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:8
>>>>>>> 4
>>>>>>> 8) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>>> e
>>>>>>> tHandler.java:1780) at
>>>>>>> org.apache.drill.exec.server.rest.header.ResponseHeadersSettingFilt
>>>>>>> e
>>>>>>> r.doFilter(ResponseHeadersSettingFilter.java:71)
>>>>>>> at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>>> e
>>>>>>> tHandler.java:1767) at
>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(
>>>>>>> C
>>>>>>> srfTokenValidateFilter.java:55) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>>> e
>>>>>>> tHandler.java:1767) at
>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(Cs
>>>>>>> r
>>>>>>> fTokenInjectFilter.java:54) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>>> e
>>>>>>> tHandler.java:1767) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.ja
>>>>>>> v
>>>>>>> a:583) at
>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHan
>>>>>>> d
>>>>>>> ler.java:224) at
>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHan
>>>>>>> d
>>>>>>> ler.java:1180) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.jav
>>>>>>> a
>>>>>>> :513) at
>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHand
>>>>>>> l
>>>>>>> er.java:185) at
>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHand
>>>>>>> l
>>>>>>> er.java:1112) at
>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>> java:141) at
>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapp
>>>>>>> e
>>>>>>> r.java:134) at
>>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>>> at
>>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>>>>>> at
>>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.j
>>>>>>> a
>>>>>>> va:251) at
>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abst
>>>>>>> r
>>>>>>> actConnection.java:283) at
>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>>>>>> at
>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPo
>>>>>>> i
>>>>>>> nt.java:93) at
>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execut
>>>>>>> e
>>>>>>> ProduceConsume(ExecuteProduceConsume.java:303)
>>>>>>> at
>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produc
>>>>>>> e
>>>>>>> Consume(ExecuteProduceConsume.java:148)
>>>>>>> at
>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Ex
>>>>>>> e
>>>>>>> cuteProduceConsume.java:136) at
>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadP
>>>>>>> o
>>>>>>> ol.java:671) at
>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPo
>>>>>>> o
>>>>>>> l.java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>>> Caused by: java.lang.IllegalArgumentException: Unknown SQL type
>>>>>>> -101 at
>>>>>>> org.apache.calcite.avatica.SqlType.valueOf(SqlType.java:383)
>>>>>>> at
>>>>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>>>>> a
>>>>>>> .java:385) at
>>>>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>>>>> a
>>>>>>> .java:362) at
>>>>>>> org.apache.calcite.adapter.jdbc.JdbcTable.getRowType(JdbcTable.java:
>>>>>>> 117) at
>>>>>>> org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:
>>>>>>> 159) at
>>>>>>> org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.
>>>>>>> j
>>>>>>> ava:99) at
>>>>>>> org.apache.calcite.sql.validate.DelegatingScope.resolveTable(Delega
>>>>>>> t
>>>>>>> ingScope.java:203) at
>>>>>>> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(Ide
>>>>>>> n
>>>>>>> tifierNamespace.java:105) at
>>>>>>> org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(Id
>>>>>>> e
>>>>>>> ntifierNamespace.java:177) at
>>>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>>>>> N
>>>>>>> amespace.java:84) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>>>>> S
>>>>>>> qlValidatorImpl.java:1009) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>>>>> a
>>>>>>> lidatorImpl.java:969) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>>>>> l
>>>>>>> idatorImpl.java:3129) at
>>>>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>>>>> e
>>>>>>> From(DrillValidator.java:63) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>>>>> l
>>>>>>> idatorImpl.java:3111) at
>>>>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>>>>> e
>>>>>>> From(DrillValidator.java:63) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(Sql
>>>>>>> V
>>>>>>> alidatorImpl.java:3383) at
>>>>>>> org.apache.calcite.sql.validate.SelectNamespace.validateImpl(Select
>>>>>>> N
>>>>>>> amespace.java:60) at
>>>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>>>>> N
>>>>>>> amespace.java:84) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>>>>> S
>>>>>>> qlValidatorImpl.java:1009) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>>>>> a
>>>>>>> lidatorImpl.java:969) at
>>>>>>> org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:216)
>>>>>>> at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpr
>>>>>>> e
>>>>>>> ssion(SqlValidatorImpl.java:944) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValida
>>>>>>> t
>>>>>>> orImpl.java:651) at
>>>>>>> org.apache.drill.exec.planner.sql.conversion.SqlConverter.validate(
>>>>>>> S
>>>>>>> qlConverter.java:189) at
>>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>>>>> t
>>>>>>> eNode(DefaultSqlHandler.java:641) at
>>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>>>>> t
>>>>>>> eAndConvert(DefaultSqlHandler.java:195)
>>>>>>> at
>>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPla
>>>>>>> n
>>>>>>> (DefaultSqlHandler.java:169) at
>>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(Drill
>>>>>>> S
>>>>>>> qlWorker.java:283) at
>>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan(Dr
>>>>>>> i
>>>>>>> llSqlWorker.java:163) at
>>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillS
>>>>>>> q
>>>>>>> lWorker.java:128) at
>>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWo
>>>>>>> r
>>>>>>> ker.java:93) at
>>>>>>> org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:593)
>>>>>>> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:274)
>>>>>>> at .......(:0)
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>> Sent: Tuesday, June 23, 2020 4:35 PM
>>>>>>> To: user@drill.apache.org
>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>
>>>>>>> One more thing...
>>>>>>>
>>>>>>> Could you run the query that is producing the VALIDATION ERROR and send the full stack trace?  I'm thinking that can be fixed on the Drill end of things, at least until Calcite fixes that.
>>>>>>> -- C
>>>>>>>
>>>>>>>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>
>>>>>>>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
>>>>>>>>
>>>>>>>> I think the only thing I'm having an issue with now I think is
>>>>>>>> related to this:
>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.
>>>>>>>> org
>>>>>>>> _jira_browse_CALCITE-2D3533&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BY
>>>>>>>> R
>>>>>>>> bCB
>>>>>>>> lPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=g39OzDxVVrucBo3nnaZNaIqoh9
>>>>>>>> S ZZi
>>>>>>>> dthZ3H6QSOkWE&s=oVohCx-25EZLkSVY7yEV1FtFZ-nNDTnGvek4Sx67nYc&e=
>>>>>>>>
>>>>>>>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
>>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: Rafael Jaimes III <ra...@gmail.com>
>>>>>>>> Sent: Tuesday, June 23, 2020 3:43 PM
>>>>>>>> To: user@drill.apache.org
>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>
>>>>>>>> Glad you got it working with the new version regardless!
>>>>>>>>
>>>>>>>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>>
>>>>>>>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>>>>>>>>>
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>>>>> Sent: Tuesday, June 23, 2020 3:31 PM
>>>>>>>>> To: user@drill.apache.org
>>>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>>>
>>>>>>>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>>>>>>>>>
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>> Sent: Tuesday, June 23, 2020 3:23 PM
>>>>>>>>> To: user <us...@drill.apache.org>
>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>
>>>>>>>>> It hasn't been released yet, so you'd have to d/l from github
>>>>>>>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>>> a
>>>>>>>>> pac
>>>>>>>>> h
>>>>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>>>>> l
>>>>>>>>> lmV
>>>>>>>>> q
>>>>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>>>>> =
>>>>>>>>> C8v
>>>>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>>>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>>> a
>>>>>>>>> pac
>>>>>>>>> h
>>>>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>>>>> l
>>>>>>>>> lmV
>>>>>>>>> q
>>>>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>>>>> =
>>>>>>>>> C8v
>>>>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from
>>>>>>>>> source.
>>>>>>>>> If you can't do that, I have a pre-release here:
>>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_c
>>>>>>>>> g
>>>>>>>>> ivr
>>>>>>>>> e
>>>>>>>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7W
>>>>>>>>> I
>>>>>>>>> 0-D
>>>>>>>>> P
>>>>>>>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZS
>>>>>>>>> N
>>>>>>>>> loM
>>>>>>>>> 5
>>>>>>>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-
>>>>>>>>> q
>>>>>>>>> XY0
>>>>>>>>> &
>>>>>>>>> e=
>>>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>>> c
>>>>>>>>> giv
>>>>>>>>> r
>>>>>>>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7
>>>>>>>>> W
>>>>>>>>> I0-
>>>>>>>>> D
>>>>>>>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZ
>>>>>>>>> S
>>>>>>>>> Nlo
>>>>>>>>> M
>>>>>>>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H
>>>>>>>>> -
>>>>>>>>> qXY
>>>>>>>>> 0
>>>>>>>>> &e= >
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>>
>>>>>>>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>>>>>>>>>
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> From: Christopher Kane
>>>>>>>>>> <ch...@cardconnect.com.INVALID>
>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>>>>
>>>>>>>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>>>>>>>>>
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>>
>>>>>>>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>>>>>>>>>
>>>>>>>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>>>
>>>>>>>>>>> On both the directory of drill and on startup I am running
>>>>>>>>>>> Apache Drill 1.17.0
>>>>>>>>>>>
>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>> From: Charles Givre <cgivre@gmail.com
>>>>>>>>>>> <ma...@gmail.com>>
>>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>>>>>>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>>>
>>>>>>>>>>> One more question.. what version of Drill are you using?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> Rafael
>>>>>>>>>>>> -I did place it in the jars/3rdparty folder.
>>>>>>>>>>>>
>>>>>>>>>>>> Storage Plugin Config:
>>>>>>>>>>>> {
>>>>>>>>>>>> "type": "jdbc",
>>>>>>>>>>>> "enabled": true,
>>>>>>>>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>>>>>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>>>>>>>>> }
>>>>>>>>>>>> (it's been modified to remove sensitive information)
>>>>>>>>>>>>
>>>>>>>>>>>> Charles
>>>>>>>>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>>>>>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>>>>>>>>>
>>>>>>>>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>>>>>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/
>>>>>>>>>>>> update
>>>>>>>>>>>> plugin: QA2 Oracle
>>>>>>>>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
>>>>>>>>>>>> Failure setting up new storage plugin configuration for config
>>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>>>>> t
>>>>>>>>>>>> ora
>>>>>>>>>>>> ge
>>>>>>>>>>>> P
>>>>>>>>>>>> l
>>>>>>>>>>>> uginRegistryImpl.java:536) at
>>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOr
>>>>>>>>>>>> U
>>>>>>>>>>>> pda
>>>>>>>>>>>> te
>>>>>>>>>>>> (
>>>>>>>>>>>> S
>>>>>>>>>>>> toragePluginRegistryImpl.java:132)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOr
>>>>>>>>>>>> U
>>>>>>>>>>>> pda
>>>>>>>>>>>> te
>>>>>>>>>>>> I
>>>>>>>>>>>> n
>>>>>>>>>>>> Storage(PluginConfigWrapper.java:56)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>>>>> a
>>>>>>>>>>>> teP
>>>>>>>>>>>> lu
>>>>>>>>>>>> g
>>>>>>>>>>>> i
>>>>>>>>>>>> nJSON(StorageResources.java:212) at
>>>>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>>>>> a
>>>>>>>>>>>> teP
>>>>>>>>>>>> lu
>>>>>>>>>>>> g
>>>>>>>>>>>> i
>>>>>>>>>>>> n(StorageResources.java:233) at
>>>>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>>>>> 0
>>>>>>>>>>>> (Na
>>>>>>>>>>>> ti
>>>>>>>>>>>> v
>>>>>>>>>>>> e
>>>>>>>>>>>> Method) at
>>>>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>>>>> (
>>>>>>>>>>>> Nat
>>>>>>>>>>>> iv
>>>>>>>>>>>> e
>>>>>>>>>>>> M
>>>>>>>>>>>> ethodAccessorImpl.java:62) at
>>>>>>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.in
>>>>>>>>>>>> v
>>>>>>>>>>>> oke
>>>>>>>>>>>> (D
>>>>>>>>>>>> e
>>>>>>>>>>>> l
>>>>>>>>>>>> egatingMethodAccessorImpl.java:43)
>>>>>>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvoc
>>>>>>>>>>>> a
>>>>>>>>>>>> tio
>>>>>>>>>>>> nH
>>>>>>>>>>>> a
>>>>>>>>>>>> n
>>>>>>>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.ja
>>>>>>>>>>>> v
>>>>>>>>>>>> a:8
>>>>>>>>>>>> 1)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>>> e
>>>>>>>>>>>> Met
>>>>>>>>>>>> ho
>>>>>>>>>>>> d
>>>>>>>>>>>> D
>>>>>>>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>>> e
>>>>>>>>>>>> Met
>>>>>>>>>>>> ho
>>>>>>>>>>>> d
>>>>>>>>>>>> D
>>>>>>>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161
>>>>>>>>>>>> )
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodD
>>>>>>>>>>>> i
>>>>>>>>>>>> spa
>>>>>>>>>>>> tc
>>>>>>>>>>>> h
>>>>>>>>>>>> e
>>>>>>>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatch
>>>>>>>>>>>> e
>>>>>>>>>>>> rPr
>>>>>>>>>>>> ov
>>>>>>>>>>>> i
>>>>>>>>>>>> d
>>>>>>>>>>>> er.java:205) at
>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>>> e
>>>>>>>>>>>> Met
>>>>>>>>>>>> ho
>>>>>>>>>>>> d
>>>>>>>>>>>> D
>>>>>>>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:9
>>>>>>>>>>>> 9
>>>>>>>>>>>> )
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke
>>>>>>>>>>>> (
>>>>>>>>>>>> Res
>>>>>>>>>>>> ou
>>>>>>>>>>>> r
>>>>>>>>>>>> c
>>>>>>>>>>>> eMethodInvoker.java:389) at
>>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>>>>> R
>>>>>>>>>>>> eso
>>>>>>>>>>>> ur
>>>>>>>>>>>> c
>>>>>>>>>>>> e
>>>>>>>>>>>> MethodInvoker.java:347) at
>>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>>>>> R
>>>>>>>>>>>> eso
>>>>>>>>>>>> ur
>>>>>>>>>>>> c
>>>>>>>>>>>> e
>>>>>>>>>>>> MethodInvoker.java:102) at
>>>>>>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.
>>>>>>>>>>>> j
>>>>>>>>>>>> ava
>>>>>>>>>>>> :3
>>>>>>>>>>>> 2
>>>>>>>>>>>> 6
>>>>>>>>>>>> ) at
>>>>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(
>>>>>>>>>>>> R
>>>>>>>>>>>> equ
>>>>>>>>>>>> es
>>>>>>>>>>>> t
>>>>>>>>>>>> S
>>>>>>>>>>>> cope.java:317) at
>>>>>>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>>>>>>>>> 3
>>>>>>>>>>>> 05) at
>>>>>>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(Applicat
>>>>>>>>>>>> i
>>>>>>>>>>>> onH
>>>>>>>>>>>> an
>>>>>>>>>>>> d
>>>>>>>>>>>> l
>>>>>>>>>>>> er.java:1154) at
>>>>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebCompo
>>>>>>>>>>>> n
>>>>>>>>>>>> ent
>>>>>>>>>>>> .j
>>>>>>>>>>>> a
>>>>>>>>>>>> v
>>>>>>>>>>>> a:473) at
>>>>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>>>>>>> 4
>>>>>>>>>>>> 2
>>>>>>>>>>>> 7) at
>>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>>> o
>>>>>>>>>>>> nta
>>>>>>>>>>>> in
>>>>>>>>>>>> e
>>>>>>>>>>>> r
>>>>>>>>>>>> .java:388) at
>>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>>> o
>>>>>>>>>>>> nta
>>>>>>>>>>>> in
>>>>>>>>>>>> e
>>>>>>>>>>>> r
>>>>>>>>>>>> .java:341) at
>>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>>> o
>>>>>>>>>>>> nta
>>>>>>>>>>>> in
>>>>>>>>>>>> e
>>>>>>>>>>>> r
>>>>>>>>>>>> .java:228) at
>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>>>>>>>>> 84
>>>>>>>>>>>> 8
>>>>>>>>>>>> )
>>>>>>>>>>>> at
>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>>> S
>>>>>>>>>>>> erv
>>>>>>>>>>>> le
>>>>>>>>>>>> t
>>>>>>>>>>>> H
>>>>>>>>>>>> andler.java:1780) at
>>>>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFi
>>>>>>>>>>>> l
>>>>>>>>>>>> ter
>>>>>>>>>>>> (C
>>>>>>>>>>>> s
>>>>>>>>>>>> r
>>>>>>>>>>>> fTokenValidateFilter.java:55) at
>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>>> S
>>>>>>>>>>>> erv
>>>>>>>>>>>> le
>>>>>>>>>>>> t
>>>>>>>>>>>> H
>>>>>>>>>>>> andler.java:1767) at
>>>>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilt
>>>>>>>>>>>> e
>>>>>>>>>>>> r(C
>>>>>>>>>>>> sr
>>>>>>>>>>>> f
>>>>>>>>>>>> T
>>>>>>>>>>>> okenInjectFilter.java:54) at
>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>>> S
>>>>>>>>>>>> erv
>>>>>>>>>>>> le
>>>>>>>>>>>> t
>>>>>>>>>>>> H
>>>>>>>>>>>> andler.java:1767) at
>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>>>>>>>>> 583) at
>>>>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(Sessi
>>>>>>>>>>>> o
>>>>>>>>>>>> nHa
>>>>>>>>>>>> nd
>>>>>>>>>>>> l
>>>>>>>>>>>> e
>>>>>>>>>>>> r.java:224) at
>>>>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(Conte
>>>>>>>>>>>> x
>>>>>>>>>>>> tHa
>>>>>>>>>>>> nd
>>>>>>>>>>>> l
>>>>>>>>>>>> e
>>>>>>>>>>>> r.java:1180) at
>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>>>>>>>>> 5
>>>>>>>>>>>> 13) at
>>>>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(Sessio
>>>>>>>>>>>> n
>>>>>>>>>>>> Han
>>>>>>>>>>>> dl
>>>>>>>>>>>> e
>>>>>>>>>>>> r
>>>>>>>>>>>> .java:185) at
>>>>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(Contex
>>>>>>>>>>>> t
>>>>>>>>>>>> Han
>>>>>>>>>>>> dl
>>>>>>>>>>>> e
>>>>>>>>>>>> r
>>>>>>>>>>>> .java:1112) at
>>>>>>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>>>>>>> j
>>>>>>>>>>>> a
>>>>>>>>>>>> va:141) at
>>>>>>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>>>>>>>>> java:134) at
>>>>>>>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:3
>>>>>>>>>>>> 3
>>>>>>>>>>>> 3)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>>>>>>>>> ja
>>>>>>>>>>>> v
>>>>>>>>>>>> a
>>>>>>>>>>>> :251) at
>>>>>>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded
>>>>>>>>>>>> (
>>>>>>>>>>>> Abs
>>>>>>>>>>>> tr
>>>>>>>>>>>> a
>>>>>>>>>>>> c
>>>>>>>>>>>> tConnection.java:283) at
>>>>>>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:1
>>>>>>>>>>>> 0
>>>>>>>>>>>> 8)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannel
>>>>>>>>>>>> E
>>>>>>>>>>>> ndP
>>>>>>>>>>>> oi
>>>>>>>>>>>> n
>>>>>>>>>>>> t
>>>>>>>>>>>> .java:93) at
>>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.e
>>>>>>>>>>>> x
>>>>>>>>>>>> ecu
>>>>>>>>>>>> te
>>>>>>>>>>>> P
>>>>>>>>>>>> r
>>>>>>>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.p
>>>>>>>>>>>> r
>>>>>>>>>>>> odu
>>>>>>>>>>>> ce
>>>>>>>>>>>> C
>>>>>>>>>>>> o
>>>>>>>>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.r
>>>>>>>>>>>> u
>>>>>>>>>>>> n(E
>>>>>>>>>>>> xe
>>>>>>>>>>>> c
>>>>>>>>>>>> u
>>>>>>>>>>>> teProduceConsume.java:136) at
>>>>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedTh
>>>>>>>>>>>> r
>>>>>>>>>>>> ead
>>>>>>>>>>>> Po
>>>>>>>>>>>> o
>>>>>>>>>>>> l
>>>>>>>>>>>> .java:671) at
>>>>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>>>>>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>>>>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>>>>>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>>>>>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
>>>>>>>>>>>> ja
>>>>>>>>>>>> v
>>>>>>>>>>>> a
>>>>>>>>>>>> :78) at
>>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelCon
>>>>>>>>>>>> v
>>>>>>>>>>>> ert
>>>>>>>>>>>> er
>>>>>>>>>>>> R
>>>>>>>>>>>> u
>>>>>>>>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcCo
>>>>>>>>>>>> n
>>>>>>>>>>>> ven
>>>>>>>>>>>> ti
>>>>>>>>>>>> o
>>>>>>>>>>>> n
>>>>>>>>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(Jdbc
>>>>>>>>>>>> S
>>>>>>>>>>>> tor
>>>>>>>>>>>> ag
>>>>>>>>>>>> e
>>>>>>>>>>>> P
>>>>>>>>>>>> lugin.java:103) at
>>>>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>>>>> e
>>>>>>>>>>>> wIn
>>>>>>>>>>>> st
>>>>>>>>>>>> a
>>>>>>>>>>>> n
>>>>>>>>>>>> ce0(Native Method) at
>>>>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>>>>> e
>>>>>>>>>>>> wIn
>>>>>>>>>>>> st
>>>>>>>>>>>> a
>>>>>>>>>>>> n
>>>>>>>>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorIm
>>>>>>>>>>>> p
>>>>>>>>>>>> l.n
>>>>>>>>>>>> ew
>>>>>>>>>>>> I
>>>>>>>>>>>> n
>>>>>>>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(
>>>>>>>>>>>> C
>>>>>>>>>>>> ons
>>>>>>>>>>>> tr
>>>>>>>>>>>> u
>>>>>>>>>>>> c
>>>>>>>>>>>> tor.java:500) at
>>>>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>>>>>>>>> 4
>>>>>>>>>>>> 81) at
>>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>>>>> t
>>>>>>>>>>>> ora
>>>>>>>>>>>> ge
>>>>>>>>>>>> P
>>>>>>>>>>>> l
>>>>>>>>>>>> uginRegistryImpl.java:528)
>>>>>>>>>>>> ... 56 common frames omitted
>>>>>>>>>>>>
>>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>>>>
>>>>>>>>>>>> One more thing...
>>>>>>>>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>>>>>>>>> Thanks,
>>>>>>>>>>>> -- C
>>>>>>>>>>>>
>>>>>>>>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Hi Chris,
>>>>>>>>>>>>>
>>>>>>>>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>>>>>>>>>
>>>>>>>>>>>>> You're right you might be onto something if you get the
>>>>>>>>>>>>> password failed message. Can you post the exact text (JSON)
>>>>>>>>>>>>> of the storage plugin config?
>>>>>>>>>>>>>
>>>>>>>>>>>>> -Rafael
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>>>>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hey Everyone,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Christopher Kane
>>>>>>>>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>>>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>>>>>>>>> com>,
>>>>>>>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>>>>>>>>> c
>>>>>>>>>>>>>> o
>>>>>>>>>>>>>> m>,
>>>>>>>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fise
>>>>>>>>>>>>>> m>r
>>>>>>>>>>>>>> m>v.c
>>>>>>>>>>>>>> m>om
>>>>>>>>>>>>>> m>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>>>>
>>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>>>
>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>>
>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>
>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>
>>>>>>
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>
>>>>
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>
>>>
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

RE: Initial Oracle Setup

Posted by Christopher Kane <ch...@cardconnect.com.INVALID>.
You are totally right and for the time being in my POC I am not concerned really with the datetime columns on the table I'm querying so for now I figured it would be easier to just remove them entirely.

You have a good point about the overhead, the query from Drill to Oracle isn't the quickest thing in the world but if your goal is E2E testing from Postman with little setup, I feel like this could work as a decent middle of the road approach. However, your suggestion around creating a REST API with Python to provide a quicker and more convenient way to access the same data might be the way to go for the reasons that you mentioned, if you wouldn't mind, is there a framework or two that you'd recommend off the top of your head?

Again, thanks so much for your help.
Chris

-----Original Message-----
From: Charles Givre <cg...@gmail.com>
Sent: Tuesday, June 30, 2020 4:06 PM
To: user <us...@drill.apache.org>
Subject: Re: Initial Oracle Setup

Hey Chris,
Glad you got things working.  Just to be clear... you don't have to remove all the columns in your view in Oracle.  You can transform them to a JDBC compatible datatype.
For example:  (Ignore the syntax...)

SELECT CAST(timezone_field AS DATETIME) AS timezone_field
....

Then you won't lose the data.

Regarding your next question, does this approach have merit...  Usually it doesn't make much sense to query a relational database from Drill by itself as now you are adding Drill's overhead to your queries. However, if you are joining that data with other datasets that are not in your database, that does make sense, because that usually involves coding or something a lot more complicated than Drill.
I had never thought about using Drill as an API for a database.  I guess if it works for you, then Hey the approach has merit!

In all honesty, I would think it wouldn't be too difficult to create a quick REST API using one of the many Python API frameworks and that would probably be my preferred approach.  That would get you a lot of benefits that Drill doesn't have such as more flexibility, better authentication, etc. However, I don't know all the details of your use case, so I'd say carry on... Ultimately, it depends on what you're trying to do as to whether Drill is the best tool or not.
Best,
-- C





> On Jun 29, 2020, at 7:15 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>
> Alright, so I was finally able to create a view in my own schema that removed all of the columns with the timestamp with timezone data type and was able to perform a query as expected! Now the next step will be utilizing the API to be able to query oracle from Postman which will be able to provide some sort of "end to end" testing which currently is not available since Oracle does not offer any sort of API to hit their databases directly, so once I saw Apache Drill I figured that was an excellent use case for your wonderful technology 😊.
>
> I probably won't have a full POC up and running for when you guys do your Apache Conference, but as I am new in the field (2+ years), in your opinion do you think my POC has merit and would be useful for other people to know that this potential exists?
>
> Thanks again for all your help!
> Chris
>
> -----Original Message-----
> From: Christopher Kane <ch...@cardconnect.com.INVALID>
> Sent: Thursday, June 25, 2020 11:27 AM
> To: user@drill.apache.org
> Subject: RE: Initial Oracle Setup
>
> Ah okay, that makes a lot of sense now. I will look into what you and Ted have suggested about a materialized view, I guess I just might have to do that for the time being to test my POC further. I'll let you know if I run into any issues with that, thanks again I appreciate all of your help 😊! If you guys develop a fix for that and need someone to test it, let me know and I'd be happy to do that for you!
>
> -Chris
>
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Wednesday, June 24, 2020 10:14 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
>
> That actually explains a lot... While Drill has a timestamp data type, Drill does not have a timezone with tz data type.   Ted Dunning made a suggestion that would likely fix the issue and that is can you create a materialized view of your merchant table (on the Oracle DB) that doesn't have this data type?  (Like CAST it to a regular TIMESTAMP)  Drill should be able to query that.
> The long term fix is to figure out how to get Drill to deal with unknown data types from JDBC sources, but in the interim, a materialized view might do the trick.
> Best,
> -- C
>
>
>
>
>> On Jun 24, 2020, at 6:10 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>
>> I KNEW IT! My initial hunch was correct.. when I listed all of the data types used by Oracle I initially said I had a feeling that TIMESTAMP(6) WITH TIME ZONE was probably the one that was causing an issue. I added each data type as a new column one by one, and the one that finally threw the error was TIMESTAMP(6) WITH TIME ZONE. So because the BIZ schema has tables with TIMESTAMP(6) WITH TIME ZONE as the data type, that's probably while it's failing. Now I am curious though if there is any other column this could be occurring with, but at least for right now we know that TIMESTAMP(6) WITH TIME ZONE is causing an issue, I can't speak for other data types that might not have been present in the merchant table but I can't imagine the other tables would really be all that different.
>>
>> -Chris
>>
>> -----Original Message-----
>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>> Sent: Wednesday, June 24, 2020 5:34 PM
>> To: user@drill.apache.org
>> Subject: RE: Initial Oracle Setup
>>
>> Ayyyy!!! That worked! I did the following: CREATE TABLE CKANE.TEST (column_1 INT, column_2 VARCHAR(50));
>>
>> Then I did select * from CKANE.TEST where column_1=1 and it returned what was expected, column_1 which contained the value of 1 and column_2 which contained the value of test.
>>
>> As far as telling Oracle to convert it to something different, if that's a database management level change I can't really go that route since I'm unable to change the configuration of Oracle for a POC like this, I kind of have to get it working with the current constraints.
>>
>> What would be the next data types you'd suggest we try? I listed the data types previously but they are: NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE, so should I start adding a column for each of those until I get the message Unknown SQL Type -101 like before?
>>
>> -----Original Message-----
>> From: Charles Givre <cg...@gmail.com>
>> Sent: Wednesday, June 24, 2020 5:25 PM
>> To: user@drill.apache.org
>> Subject: Re: Initial Oracle Setup
>>
>> Hi Chris,
>> You’re correct…
>> Maybe if you can create a simple table with an INT and a VARCHAR column and get Drill to query that. (It should). If that works, let’s try other data types and see what works and what doesn’t.   I’m also wondering if there is some way of telling Oracle to convert the BINARY DOUBLE to some other data type that can be read.  I don’t know enough about Oracle though…
>> — C
>>
>>
>>> On Jun 24, 2020, at 5:20 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>
>>> You know Charles, I think you're right on the money there. Considering what we've tested at this point, I think you're right. So I would like to prove that hypothesis for you, so to confirm do I need to find a schema with tables that do not have a binary double? I might be able to create a table under my personal oracle schema which shouldn't have anything in there currently. We should agree on the SQL used to create the table so we are on the same page before that though.
>>>
>>> In my opinion, that sounds like a good thing to do. If my POC works as I am hoping it will, I am hoping that Apache Drill proves to be a useful tool in attempting "end to end" test automation entirely from Postman, since Oracle does not natively provide an API to query. It would be really cool if the idea I have in my head plays out as I'm thinking it will, and I would love for the solution to be used by other people (if it works) which would require Drill to be updated to allow for this to work with Oracle.
>>>
>>> -Chris
>>>
>>> -----Original Message-----
>>> From: Charles Givre <cg...@gmail.com>
>>> Sent: Wednesday, June 24, 2020 5:13 PM
>>> To: user@drill.apache.org
>>> Subject: Re: Initial Oracle Setup
>>>
>>> I think the issue is that Drill is receiving a schema from Oracle that is including a binary double column.  At that point, Drill has no idea how to handle that so you get the validation error.  I’d like to prove this hypothesis by successfully querying a table that does not have a binary double (or other unrecognizable column) and getting Drill to successfully read the results.
>>>
>>> My other thought is that it might be possible to do something with this via the JDBC config.  Sometimes databases have configuration options which can be passed when you connect, and if Oracle has such options, we might be able to fix this in the connection string.  My gut is telling me at this point that we’re going to have to fix this in Drill by adding some code that basically says if the type is unknown, read the data as a string or something like that.
>>> — C
>>>
>>>
>>>> On Jun 24, 2020, at 5:02 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>
>>>> Alright so following that logic of Data Type 101 being a binary double, I did the following:
>>>> select CAST(merchant_id AS DOUBLE) from biz.merchant where
>>>> merchant_id=85616270
>>>>
>>>> That unfortunately still results in the unknown sql type -101 error. I did want to say that I was able to go onto the CLI and have it list out all the schemas and tables it could find and what it listed was correct so at least we know we are connected to what we should be.
>>>>
>>>> -----Original Message-----
>>>> From: Charles Givre <cg...@gmail.com>
>>>> Sent: Wednesday, June 24, 2020 4:55 PM
>>>> To: user@drill.apache.org
>>>> Subject: Re: Initial Oracle Setup
>>>>
>>>> I looked this up… SQL Data Type 101 is a binary double.
>>>>
>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_d
>>>> atabase_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mhB
>>>> YFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9K
>>>> _mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRFs
>>>> hIVqbqiRRDh2qs&e=
>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_
>>>> database_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mh
>>>> BYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9
>>>> K_mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRF
>>>> shIVqbqiRRDh2qs&e= >
>>>>
>>>>
>>>>
>>>>
>>>>> On Jun 24, 2020, at 4:52 PM, Charles Givre <cg...@gmail.com> wrote:
>>>>>
>>>>> Some more questions…
>>>>> 1.  Are there other tables you can query?  I want to see if we can at
>>>>> least get something to work ;-) (Although we can read the schema via SHOW TABLES) 2.  Can you try the following query:
>>>>> SELECT CAST(<some field> AS INT)
>>>>> FROM merchant….  Basically I’m wondering if we force Drill to map the field to a type, if we can get it to read the data.
>>>>>
>>>>>
>>>>>
>>>>>> On Jun 24, 2020, at 4:44 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>
>>>>>> Hey Charles,
>>>>>>
>>>>>> I ran a couple of different queries selecting only a single column from the table and it seems multiple columns are all giving me the same unknown sql type -101 error.
>>>>>> The stacktrace also appears to be the same per column, so to me it appears that the issue is maybe with the format of the data itself coming from Oracle, I'm not too sure at this point.
>>>>>>
>>>>>> -Chris
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>> Sent: Wednesday, June 24, 2020 3:30 PM
>>>>>> To: user <us...@drill.apache.org>
>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>
>>>>>> Hey Christopher,
>>>>>> Can you run a query with individual columns so we can see which column is causing the issue?
>>>>>> Thx,
>>>>>> --C
>>>>>>
>>>>>>
>>>>>>
>>>>>>> On Jun 23, 2020, at 5:25 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>
>>>>>>> Rafael
>>>>>>> -Okay so doing "show schemas;" (I didn't include the semicolon before) resulted in all of the schemas I was expecting to see be listed, so it's awesome that Drill was actually able to make the connection. So I do think my issue might be with the data types of the columns in the table I'm trying to query.
>>>>>>>
>>>>>>> Charles
>>>>>>> -here are the data types on the table "merchant": NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE.
>>>>>>> -if I had to take a guess, I would bet money that the problem child here is the timestamp data type.
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>>> Sent: Tuesday, June 23, 2020 5:19 PM
>>>>>>> To: user@drill.apache.org
>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>
>>>>>>> Rafael
>>>>>>> -I am running this in embedded mode on my Windows Laptop and I believe I have access to the shell but I'm not too familiar with the syntax so I'll have to look that up and I'll let you know what I get.
>>>>>>>
>>>>>>> Charles
>>>>>>> -I'm glad you were able to find something about that error because I was having a tough time finding something related to it. I actually thought something similar and actually changed my query to only return the merchant_id of the merchant because I thought maybe there was a column that Drill didn't know how to handle. I will take a look at the stackoverflow link that you sent me and will let you know what I come up with.
>>>>>>> -Here is the stacktrace for the VALIDATION ERROR:
>>>>>>> 2020-06-23 17:15:56,017 [qtp409347742-245] ERROR
>>>>>>> o.a.d.e.server.rest.QueryResources - Query from Web UI Failed: {}
>>>>>>> org.apache.drill.common.exceptions.UserRemoteException: VALIDATION
>>>>>>> ERROR: Unknown SQL type -101
>>>>>>>
>>>>>>>
>>>>>>> [Error Id: def7533c-bb11-48da-b770-28c6730a1799 ] at
>>>>>>> org.apache.drill.exec.server.rest.RestQueryRunner.submitQuery(RestQ
>>>>>>> u
>>>>>>> eryRunner.java:181) at
>>>>>>> org.apache.drill.exec.server.rest.RestQueryRunner.run(RestQueryRunn
>>>>>>> e
>>>>>>> r.java:70) at
>>>>>>> org.apache.drill.exec.server.rest.QueryResources.submitQueryJSON(Qu
>>>>>>> e
>>>>>>> ryResources.java:96) at
>>>>>>> org.apache.drill.exec.server.rest.QueryResources.submitQuery(QueryR
>>>>>>> e
>>>>>>> sources.java:114) at
>>>>>>> jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown
>>>>>>> Source) at
>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(
>>>>>>> D
>>>>>>> elegatingMethodAccessorImpl.java:43)
>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocation
>>>>>>> H
>>>>>>> andlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:
>>>>>>> 8
>>>>>>> 1) at
>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>>> o
>>>>>>> dDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>>> o
>>>>>>> dDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispat
>>>>>>> c
>>>>>>> herProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherP
>>>>>>> r
>>>>>>> ovider.java:205) at
>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>>> o
>>>>>>> dDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Reso
>>>>>>> u
>>>>>>> rceMethodInvoker.java:389) at
>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>>>>> r
>>>>>>> ceMethodInvoker.java:347) at
>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>>>>> r
>>>>>>> ceMethodInvoker.java:102) at
>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:
>>>>>>> 3
>>>>>>> 26) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>>> at
>>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Reque
>>>>>>> s
>>>>>>> tScope.java:317) at
>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.jav
>>>>>>> a
>>>>>>> :305) at
>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHa
>>>>>>> n
>>>>>>> dler.java:1154) at
>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.
>>>>>>> j
>>>>>>> ava:473) at
>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>> 427) at
>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>>> n
>>>>>>> er.java:388) at
>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>>> n
>>>>>>> er.java:341) at
>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>>> n
>>>>>>> er.java:228) at
>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:8
>>>>>>> 4
>>>>>>> 8) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>>> e
>>>>>>> tHandler.java:1780) at
>>>>>>> org.apache.drill.exec.server.rest.header.ResponseHeadersSettingFilt
>>>>>>> e
>>>>>>> r.doFilter(ResponseHeadersSettingFilter.java:71)
>>>>>>> at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>>> e
>>>>>>> tHandler.java:1767) at
>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(
>>>>>>> C
>>>>>>> srfTokenValidateFilter.java:55) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>>> e
>>>>>>> tHandler.java:1767) at
>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(Cs
>>>>>>> r
>>>>>>> fTokenInjectFilter.java:54) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>>> e
>>>>>>> tHandler.java:1767) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.ja
>>>>>>> v
>>>>>>> a:583) at
>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHan
>>>>>>> d
>>>>>>> ler.java:224) at
>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHan
>>>>>>> d
>>>>>>> ler.java:1180) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.jav
>>>>>>> a
>>>>>>> :513) at
>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHand
>>>>>>> l
>>>>>>> er.java:185) at
>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHand
>>>>>>> l
>>>>>>> er.java:1112) at
>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>> java:141) at
>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapp
>>>>>>> e
>>>>>>> r.java:134) at
>>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>>> at
>>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>>>>>> at
>>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.j
>>>>>>> a
>>>>>>> va:251) at
>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abst
>>>>>>> r
>>>>>>> actConnection.java:283) at
>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>>>>>> at
>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPo
>>>>>>> i
>>>>>>> nt.java:93) at
>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execut
>>>>>>> e
>>>>>>> ProduceConsume(ExecuteProduceConsume.java:303)
>>>>>>> at
>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produc
>>>>>>> e
>>>>>>> Consume(ExecuteProduceConsume.java:148)
>>>>>>> at
>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Ex
>>>>>>> e
>>>>>>> cuteProduceConsume.java:136) at
>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadP
>>>>>>> o
>>>>>>> ol.java:671) at
>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPo
>>>>>>> o
>>>>>>> l.java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>>> Caused by: java.lang.IllegalArgumentException: Unknown SQL type
>>>>>>> -101 at
>>>>>>> org.apache.calcite.avatica.SqlType.valueOf(SqlType.java:383)
>>>>>>> at
>>>>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>>>>> a
>>>>>>> .java:385) at
>>>>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>>>>> a
>>>>>>> .java:362) at
>>>>>>> org.apache.calcite.adapter.jdbc.JdbcTable.getRowType(JdbcTable.java:
>>>>>>> 117) at
>>>>>>> org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:
>>>>>>> 159) at
>>>>>>> org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.
>>>>>>> j
>>>>>>> ava:99) at
>>>>>>> org.apache.calcite.sql.validate.DelegatingScope.resolveTable(Delega
>>>>>>> t
>>>>>>> ingScope.java:203) at
>>>>>>> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(Ide
>>>>>>> n
>>>>>>> tifierNamespace.java:105) at
>>>>>>> org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(Id
>>>>>>> e
>>>>>>> ntifierNamespace.java:177) at
>>>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>>>>> N
>>>>>>> amespace.java:84) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>>>>> S
>>>>>>> qlValidatorImpl.java:1009) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>>>>> a
>>>>>>> lidatorImpl.java:969) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>>>>> l
>>>>>>> idatorImpl.java:3129) at
>>>>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>>>>> e
>>>>>>> From(DrillValidator.java:63) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>>>>> l
>>>>>>> idatorImpl.java:3111) at
>>>>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>>>>> e
>>>>>>> From(DrillValidator.java:63) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(Sql
>>>>>>> V
>>>>>>> alidatorImpl.java:3383) at
>>>>>>> org.apache.calcite.sql.validate.SelectNamespace.validateImpl(Select
>>>>>>> N
>>>>>>> amespace.java:60) at
>>>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>>>>> N
>>>>>>> amespace.java:84) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>>>>> S
>>>>>>> qlValidatorImpl.java:1009) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>>>>> a
>>>>>>> lidatorImpl.java:969) at
>>>>>>> org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:216)
>>>>>>> at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpr
>>>>>>> e
>>>>>>> ssion(SqlValidatorImpl.java:944) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValida
>>>>>>> t
>>>>>>> orImpl.java:651) at
>>>>>>> org.apache.drill.exec.planner.sql.conversion.SqlConverter.validate(
>>>>>>> S
>>>>>>> qlConverter.java:189) at
>>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>>>>> t
>>>>>>> eNode(DefaultSqlHandler.java:641) at
>>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>>>>> t
>>>>>>> eAndConvert(DefaultSqlHandler.java:195)
>>>>>>> at
>>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPla
>>>>>>> n
>>>>>>> (DefaultSqlHandler.java:169) at
>>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(Drill
>>>>>>> S
>>>>>>> qlWorker.java:283) at
>>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan(Dr
>>>>>>> i
>>>>>>> llSqlWorker.java:163) at
>>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillS
>>>>>>> q
>>>>>>> lWorker.java:128) at
>>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWo
>>>>>>> r
>>>>>>> ker.java:93) at
>>>>>>> org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:593)
>>>>>>> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:274)
>>>>>>> at .......(:0)
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>> Sent: Tuesday, June 23, 2020 4:35 PM
>>>>>>> To: user@drill.apache.org
>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>
>>>>>>> One more thing...
>>>>>>>
>>>>>>> Could you run the query that is producing the VALIDATION ERROR and send the full stack trace?  I'm thinking that can be fixed on the Drill end of things, at least until Calcite fixes that.
>>>>>>> -- C
>>>>>>>
>>>>>>>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>
>>>>>>>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
>>>>>>>>
>>>>>>>> I think the only thing I'm having an issue with now I think is
>>>>>>>> related to this:
>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.
>>>>>>>> org
>>>>>>>> _jira_browse_CALCITE-2D3533&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BY
>>>>>>>> R
>>>>>>>> bCB
>>>>>>>> lPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=g39OzDxVVrucBo3nnaZNaIqoh9
>>>>>>>> S ZZi
>>>>>>>> dthZ3H6QSOkWE&s=oVohCx-25EZLkSVY7yEV1FtFZ-nNDTnGvek4Sx67nYc&e=
>>>>>>>>
>>>>>>>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
>>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: Rafael Jaimes III <ra...@gmail.com>
>>>>>>>> Sent: Tuesday, June 23, 2020 3:43 PM
>>>>>>>> To: user@drill.apache.org
>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>
>>>>>>>> Glad you got it working with the new version regardless!
>>>>>>>>
>>>>>>>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>>
>>>>>>>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>>>>>>>>>
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>>>>> Sent: Tuesday, June 23, 2020 3:31 PM
>>>>>>>>> To: user@drill.apache.org
>>>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>>>
>>>>>>>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>>>>>>>>>
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>> Sent: Tuesday, June 23, 2020 3:23 PM
>>>>>>>>> To: user <us...@drill.apache.org>
>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>
>>>>>>>>> It hasn't been released yet, so you'd have to d/l from github
>>>>>>>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>>> a
>>>>>>>>> pac
>>>>>>>>> h
>>>>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>>>>> l
>>>>>>>>> lmV
>>>>>>>>> q
>>>>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>>>>> =
>>>>>>>>> C8v
>>>>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>>>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>>> a
>>>>>>>>> pac
>>>>>>>>> h
>>>>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>>>>> l
>>>>>>>>> lmV
>>>>>>>>> q
>>>>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>>>>> =
>>>>>>>>> C8v
>>>>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from
>>>>>>>>> source.
>>>>>>>>> If you can't do that, I have a pre-release here:
>>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_c
>>>>>>>>> g
>>>>>>>>> ivr
>>>>>>>>> e
>>>>>>>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7W
>>>>>>>>> I
>>>>>>>>> 0-D
>>>>>>>>> P
>>>>>>>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZS
>>>>>>>>> N
>>>>>>>>> loM
>>>>>>>>> 5
>>>>>>>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-
>>>>>>>>> q
>>>>>>>>> XY0
>>>>>>>>> &
>>>>>>>>> e=
>>>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>>> c
>>>>>>>>> giv
>>>>>>>>> r
>>>>>>>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7
>>>>>>>>> W
>>>>>>>>> I0-
>>>>>>>>> D
>>>>>>>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZ
>>>>>>>>> S
>>>>>>>>> Nlo
>>>>>>>>> M
>>>>>>>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H
>>>>>>>>> -
>>>>>>>>> qXY
>>>>>>>>> 0
>>>>>>>>> &e= >
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>>
>>>>>>>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>>>>>>>>>
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> From: Christopher Kane
>>>>>>>>>> <ch...@cardconnect.com.INVALID>
>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>>>>
>>>>>>>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>>>>>>>>>
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>>
>>>>>>>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>>>>>>>>>
>>>>>>>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>>>
>>>>>>>>>>> On both the directory of drill and on startup I am running
>>>>>>>>>>> Apache Drill 1.17.0
>>>>>>>>>>>
>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>> From: Charles Givre <cgivre@gmail.com
>>>>>>>>>>> <ma...@gmail.com>>
>>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>>>>>>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>>>
>>>>>>>>>>> One more question.. what version of Drill are you using?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> Rafael
>>>>>>>>>>>> -I did place it in the jars/3rdparty folder.
>>>>>>>>>>>>
>>>>>>>>>>>> Storage Plugin Config:
>>>>>>>>>>>> {
>>>>>>>>>>>> "type": "jdbc",
>>>>>>>>>>>> "enabled": true,
>>>>>>>>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>>>>>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>>>>>>>>> }
>>>>>>>>>>>> (it's been modified to remove sensitive information)
>>>>>>>>>>>>
>>>>>>>>>>>> Charles
>>>>>>>>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>>>>>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>>>>>>>>>
>>>>>>>>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>>>>>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/
>>>>>>>>>>>> update
>>>>>>>>>>>> plugin: QA2 Oracle
>>>>>>>>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
>>>>>>>>>>>> Failure setting up new storage plugin configuration for config
>>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>>>>> t
>>>>>>>>>>>> ora
>>>>>>>>>>>> ge
>>>>>>>>>>>> P
>>>>>>>>>>>> l
>>>>>>>>>>>> uginRegistryImpl.java:536) at
>>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOr
>>>>>>>>>>>> U
>>>>>>>>>>>> pda
>>>>>>>>>>>> te
>>>>>>>>>>>> (
>>>>>>>>>>>> S
>>>>>>>>>>>> toragePluginRegistryImpl.java:132)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOr
>>>>>>>>>>>> U
>>>>>>>>>>>> pda
>>>>>>>>>>>> te
>>>>>>>>>>>> I
>>>>>>>>>>>> n
>>>>>>>>>>>> Storage(PluginConfigWrapper.java:56)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>>>>> a
>>>>>>>>>>>> teP
>>>>>>>>>>>> lu
>>>>>>>>>>>> g
>>>>>>>>>>>> i
>>>>>>>>>>>> nJSON(StorageResources.java:212) at
>>>>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>>>>> a
>>>>>>>>>>>> teP
>>>>>>>>>>>> lu
>>>>>>>>>>>> g
>>>>>>>>>>>> i
>>>>>>>>>>>> n(StorageResources.java:233) at
>>>>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>>>>> 0
>>>>>>>>>>>> (Na
>>>>>>>>>>>> ti
>>>>>>>>>>>> v
>>>>>>>>>>>> e
>>>>>>>>>>>> Method) at
>>>>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>>>>> (
>>>>>>>>>>>> Nat
>>>>>>>>>>>> iv
>>>>>>>>>>>> e
>>>>>>>>>>>> M
>>>>>>>>>>>> ethodAccessorImpl.java:62) at
>>>>>>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.in
>>>>>>>>>>>> v
>>>>>>>>>>>> oke
>>>>>>>>>>>> (D
>>>>>>>>>>>> e
>>>>>>>>>>>> l
>>>>>>>>>>>> egatingMethodAccessorImpl.java:43)
>>>>>>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvoc
>>>>>>>>>>>> a
>>>>>>>>>>>> tio
>>>>>>>>>>>> nH
>>>>>>>>>>>> a
>>>>>>>>>>>> n
>>>>>>>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.ja
>>>>>>>>>>>> v
>>>>>>>>>>>> a:8
>>>>>>>>>>>> 1)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>>> e
>>>>>>>>>>>> Met
>>>>>>>>>>>> ho
>>>>>>>>>>>> d
>>>>>>>>>>>> D
>>>>>>>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>>> e
>>>>>>>>>>>> Met
>>>>>>>>>>>> ho
>>>>>>>>>>>> d
>>>>>>>>>>>> D
>>>>>>>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161
>>>>>>>>>>>> )
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodD
>>>>>>>>>>>> i
>>>>>>>>>>>> spa
>>>>>>>>>>>> tc
>>>>>>>>>>>> h
>>>>>>>>>>>> e
>>>>>>>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatch
>>>>>>>>>>>> e
>>>>>>>>>>>> rPr
>>>>>>>>>>>> ov
>>>>>>>>>>>> i
>>>>>>>>>>>> d
>>>>>>>>>>>> er.java:205) at
>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>>> e
>>>>>>>>>>>> Met
>>>>>>>>>>>> ho
>>>>>>>>>>>> d
>>>>>>>>>>>> D
>>>>>>>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:9
>>>>>>>>>>>> 9
>>>>>>>>>>>> )
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke
>>>>>>>>>>>> (
>>>>>>>>>>>> Res
>>>>>>>>>>>> ou
>>>>>>>>>>>> r
>>>>>>>>>>>> c
>>>>>>>>>>>> eMethodInvoker.java:389) at
>>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>>>>> R
>>>>>>>>>>>> eso
>>>>>>>>>>>> ur
>>>>>>>>>>>> c
>>>>>>>>>>>> e
>>>>>>>>>>>> MethodInvoker.java:347) at
>>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>>>>> R
>>>>>>>>>>>> eso
>>>>>>>>>>>> ur
>>>>>>>>>>>> c
>>>>>>>>>>>> e
>>>>>>>>>>>> MethodInvoker.java:102) at
>>>>>>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.
>>>>>>>>>>>> j
>>>>>>>>>>>> ava
>>>>>>>>>>>> :3
>>>>>>>>>>>> 2
>>>>>>>>>>>> 6
>>>>>>>>>>>> ) at
>>>>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(
>>>>>>>>>>>> R
>>>>>>>>>>>> equ
>>>>>>>>>>>> es
>>>>>>>>>>>> t
>>>>>>>>>>>> S
>>>>>>>>>>>> cope.java:317) at
>>>>>>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>>>>>>>>> 3
>>>>>>>>>>>> 05) at
>>>>>>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(Applicat
>>>>>>>>>>>> i
>>>>>>>>>>>> onH
>>>>>>>>>>>> an
>>>>>>>>>>>> d
>>>>>>>>>>>> l
>>>>>>>>>>>> er.java:1154) at
>>>>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebCompo
>>>>>>>>>>>> n
>>>>>>>>>>>> ent
>>>>>>>>>>>> .j
>>>>>>>>>>>> a
>>>>>>>>>>>> v
>>>>>>>>>>>> a:473) at
>>>>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>>>>>>> 4
>>>>>>>>>>>> 2
>>>>>>>>>>>> 7) at
>>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>>> o
>>>>>>>>>>>> nta
>>>>>>>>>>>> in
>>>>>>>>>>>> e
>>>>>>>>>>>> r
>>>>>>>>>>>> .java:388) at
>>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>>> o
>>>>>>>>>>>> nta
>>>>>>>>>>>> in
>>>>>>>>>>>> e
>>>>>>>>>>>> r
>>>>>>>>>>>> .java:341) at
>>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>>> o
>>>>>>>>>>>> nta
>>>>>>>>>>>> in
>>>>>>>>>>>> e
>>>>>>>>>>>> r
>>>>>>>>>>>> .java:228) at
>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>>>>>>>>> 84
>>>>>>>>>>>> 8
>>>>>>>>>>>> )
>>>>>>>>>>>> at
>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>>> S
>>>>>>>>>>>> erv
>>>>>>>>>>>> le
>>>>>>>>>>>> t
>>>>>>>>>>>> H
>>>>>>>>>>>> andler.java:1780) at
>>>>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFi
>>>>>>>>>>>> l
>>>>>>>>>>>> ter
>>>>>>>>>>>> (C
>>>>>>>>>>>> s
>>>>>>>>>>>> r
>>>>>>>>>>>> fTokenValidateFilter.java:55) at
>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>>> S
>>>>>>>>>>>> erv
>>>>>>>>>>>> le
>>>>>>>>>>>> t
>>>>>>>>>>>> H
>>>>>>>>>>>> andler.java:1767) at
>>>>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilt
>>>>>>>>>>>> e
>>>>>>>>>>>> r(C
>>>>>>>>>>>> sr
>>>>>>>>>>>> f
>>>>>>>>>>>> T
>>>>>>>>>>>> okenInjectFilter.java:54) at
>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>>> S
>>>>>>>>>>>> erv
>>>>>>>>>>>> le
>>>>>>>>>>>> t
>>>>>>>>>>>> H
>>>>>>>>>>>> andler.java:1767) at
>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>>>>>>>>> 583) at
>>>>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(Sessi
>>>>>>>>>>>> o
>>>>>>>>>>>> nHa
>>>>>>>>>>>> nd
>>>>>>>>>>>> l
>>>>>>>>>>>> e
>>>>>>>>>>>> r.java:224) at
>>>>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(Conte
>>>>>>>>>>>> x
>>>>>>>>>>>> tHa
>>>>>>>>>>>> nd
>>>>>>>>>>>> l
>>>>>>>>>>>> e
>>>>>>>>>>>> r.java:1180) at
>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>>>>>>>>> 5
>>>>>>>>>>>> 13) at
>>>>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(Sessio
>>>>>>>>>>>> n
>>>>>>>>>>>> Han
>>>>>>>>>>>> dl
>>>>>>>>>>>> e
>>>>>>>>>>>> r
>>>>>>>>>>>> .java:185) at
>>>>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(Contex
>>>>>>>>>>>> t
>>>>>>>>>>>> Han
>>>>>>>>>>>> dl
>>>>>>>>>>>> e
>>>>>>>>>>>> r
>>>>>>>>>>>> .java:1112) at
>>>>>>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>>>>>>> j
>>>>>>>>>>>> a
>>>>>>>>>>>> va:141) at
>>>>>>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>>>>>>>>> java:134) at
>>>>>>>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:3
>>>>>>>>>>>> 3
>>>>>>>>>>>> 3)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>>>>>>>>> ja
>>>>>>>>>>>> v
>>>>>>>>>>>> a
>>>>>>>>>>>> :251) at
>>>>>>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded
>>>>>>>>>>>> (
>>>>>>>>>>>> Abs
>>>>>>>>>>>> tr
>>>>>>>>>>>> a
>>>>>>>>>>>> c
>>>>>>>>>>>> tConnection.java:283) at
>>>>>>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:1
>>>>>>>>>>>> 0
>>>>>>>>>>>> 8)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannel
>>>>>>>>>>>> E
>>>>>>>>>>>> ndP
>>>>>>>>>>>> oi
>>>>>>>>>>>> n
>>>>>>>>>>>> t
>>>>>>>>>>>> .java:93) at
>>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.e
>>>>>>>>>>>> x
>>>>>>>>>>>> ecu
>>>>>>>>>>>> te
>>>>>>>>>>>> P
>>>>>>>>>>>> r
>>>>>>>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.p
>>>>>>>>>>>> r
>>>>>>>>>>>> odu
>>>>>>>>>>>> ce
>>>>>>>>>>>> C
>>>>>>>>>>>> o
>>>>>>>>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.r
>>>>>>>>>>>> u
>>>>>>>>>>>> n(E
>>>>>>>>>>>> xe
>>>>>>>>>>>> c
>>>>>>>>>>>> u
>>>>>>>>>>>> teProduceConsume.java:136) at
>>>>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedTh
>>>>>>>>>>>> r
>>>>>>>>>>>> ead
>>>>>>>>>>>> Po
>>>>>>>>>>>> o
>>>>>>>>>>>> l
>>>>>>>>>>>> .java:671) at
>>>>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>>>>>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>>>>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>>>>>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>>>>>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
>>>>>>>>>>>> ja
>>>>>>>>>>>> v
>>>>>>>>>>>> a
>>>>>>>>>>>> :78) at
>>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelCon
>>>>>>>>>>>> v
>>>>>>>>>>>> ert
>>>>>>>>>>>> er
>>>>>>>>>>>> R
>>>>>>>>>>>> u
>>>>>>>>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcCo
>>>>>>>>>>>> n
>>>>>>>>>>>> ven
>>>>>>>>>>>> ti
>>>>>>>>>>>> o
>>>>>>>>>>>> n
>>>>>>>>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(Jdbc
>>>>>>>>>>>> S
>>>>>>>>>>>> tor
>>>>>>>>>>>> ag
>>>>>>>>>>>> e
>>>>>>>>>>>> P
>>>>>>>>>>>> lugin.java:103) at
>>>>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>>>>> e
>>>>>>>>>>>> wIn
>>>>>>>>>>>> st
>>>>>>>>>>>> a
>>>>>>>>>>>> n
>>>>>>>>>>>> ce0(Native Method) at
>>>>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>>>>> e
>>>>>>>>>>>> wIn
>>>>>>>>>>>> st
>>>>>>>>>>>> a
>>>>>>>>>>>> n
>>>>>>>>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorIm
>>>>>>>>>>>> p
>>>>>>>>>>>> l.n
>>>>>>>>>>>> ew
>>>>>>>>>>>> I
>>>>>>>>>>>> n
>>>>>>>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(
>>>>>>>>>>>> C
>>>>>>>>>>>> ons
>>>>>>>>>>>> tr
>>>>>>>>>>>> u
>>>>>>>>>>>> c
>>>>>>>>>>>> tor.java:500) at
>>>>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>>>>>>>>> 4
>>>>>>>>>>>> 81) at
>>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>>>>> t
>>>>>>>>>>>> ora
>>>>>>>>>>>> ge
>>>>>>>>>>>> P
>>>>>>>>>>>> l
>>>>>>>>>>>> uginRegistryImpl.java:528)
>>>>>>>>>>>> ... 56 common frames omitted
>>>>>>>>>>>>
>>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>>>>
>>>>>>>>>>>> One more thing...
>>>>>>>>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>>>>>>>>> Thanks,
>>>>>>>>>>>> -- C
>>>>>>>>>>>>
>>>>>>>>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Hi Chris,
>>>>>>>>>>>>>
>>>>>>>>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>>>>>>>>>
>>>>>>>>>>>>> You're right you might be onto something if you get the
>>>>>>>>>>>>> password failed message. Can you post the exact text (JSON)
>>>>>>>>>>>>> of the storage plugin config?
>>>>>>>>>>>>>
>>>>>>>>>>>>> -Rafael
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>>>>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hey Everyone,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Christopher Kane
>>>>>>>>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>>>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>>>>>>>>> com>,
>>>>>>>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>>>>>>>>> c
>>>>>>>>>>>>>> o
>>>>>>>>>>>>>> m>,
>>>>>>>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fise
>>>>>>>>>>>>>> m>r
>>>>>>>>>>>>>> m>v.c
>>>>>>>>>>>>>> m>om
>>>>>>>>>>>>>> m>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>>>>
>>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>>>
>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>>
>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>
>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>
>>>>>>
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>
>>>>
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>
>>>
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

Re: Initial Oracle Setup

Posted by Charles Givre <cg...@gmail.com>.
Hey Chris, 
Glad you got things working.  Just to be clear... you don't have to remove all the columns in your view in Oracle.  You can transform them to a JDBC compatible datatype.  
For example:  (Ignore the syntax...)

SELECT CAST(timezone_field AS DATETIME) AS timezone_field
....

Then you won't lose the data.

Regarding your next question, does this approach have merit...  Usually it doesn't make much sense to query a relational database from Drill by itself as now you are adding Drill's overhead to your queries. However, if you are joining that data with other datasets that are not in your database, that does make sense, because that usually involves coding or something a lot more complicated than Drill. 
I had never thought about using Drill as an API for a database.  I guess if it works for you, then Hey the approach has merit!  

In all honesty, I would think it wouldn't be too difficult to create a quick REST API using one of the many Python API frameworks and that would probably be my preferred approach.  That would get you a lot of benefits that Drill doesn't have such as more flexibility, better authentication, etc. However, I don't know all the details of your use case, so I'd say carry on... Ultimately, it depends on what you're trying to do as to whether Drill is the best tool or not. 
Best,
-- C





> On Jun 29, 2020, at 7:15 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> 
> Alright, so I was finally able to create a view in my own schema that removed all of the columns with the timestamp with timezone data type and was able to perform a query as expected! Now the next step will be utilizing the API to be able to query oracle from Postman which will be able to provide some sort of "end to end" testing which currently is not available since Oracle does not offer any sort of API to hit their databases directly, so once I saw Apache Drill I figured that was an excellent use case for your wonderful technology 😊.
> 
> I probably won't have a full POC up and running for when you guys do your Apache Conference, but as I am new in the field (2+ years), in your opinion do you think my POC has merit and would be useful for other people to know that this potential exists?
> 
> Thanks again for all your help!
> Chris
> 
> -----Original Message-----
> From: Christopher Kane <ch...@cardconnect.com.INVALID>
> Sent: Thursday, June 25, 2020 11:27 AM
> To: user@drill.apache.org
> Subject: RE: Initial Oracle Setup
> 
> Ah okay, that makes a lot of sense now. I will look into what you and Ted have suggested about a materialized view, I guess I just might have to do that for the time being to test my POC further. I'll let you know if I run into any issues with that, thanks again I appreciate all of your help 😊! If you guys develop a fix for that and need someone to test it, let me know and I'd be happy to do that for you!
> 
> -Chris
> 
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Wednesday, June 24, 2020 10:14 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
> 
> That actually explains a lot... While Drill has a timestamp data type, Drill does not have a timezone with tz data type.   Ted Dunning made a suggestion that would likely fix the issue and that is can you create a materialized view of your merchant table (on the Oracle DB) that doesn't have this data type?  (Like CAST it to a regular TIMESTAMP)  Drill should be able to query that.
> The long term fix is to figure out how to get Drill to deal with unknown data types from JDBC sources, but in the interim, a materialized view might do the trick.
> Best,
> -- C
> 
> 
> 
> 
>> On Jun 24, 2020, at 6:10 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>> 
>> I KNEW IT! My initial hunch was correct.. when I listed all of the data types used by Oracle I initially said I had a feeling that TIMESTAMP(6) WITH TIME ZONE was probably the one that was causing an issue. I added each data type as a new column one by one, and the one that finally threw the error was TIMESTAMP(6) WITH TIME ZONE. So because the BIZ schema has tables with TIMESTAMP(6) WITH TIME ZONE as the data type, that's probably while it's failing. Now I am curious though if there is any other column this could be occurring with, but at least for right now we know that TIMESTAMP(6) WITH TIME ZONE is causing an issue, I can't speak for other data types that might not have been present in the merchant table but I can't imagine the other tables would really be all that different.
>> 
>> -Chris
>> 
>> -----Original Message-----
>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>> Sent: Wednesday, June 24, 2020 5:34 PM
>> To: user@drill.apache.org
>> Subject: RE: Initial Oracle Setup
>> 
>> Ayyyy!!! That worked! I did the following: CREATE TABLE CKANE.TEST (column_1 INT, column_2 VARCHAR(50));
>> 
>> Then I did select * from CKANE.TEST where column_1=1 and it returned what was expected, column_1 which contained the value of 1 and column_2 which contained the value of test.
>> 
>> As far as telling Oracle to convert it to something different, if that's a database management level change I can't really go that route since I'm unable to change the configuration of Oracle for a POC like this, I kind of have to get it working with the current constraints.
>> 
>> What would be the next data types you'd suggest we try? I listed the data types previously but they are: NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE, so should I start adding a column for each of those until I get the message Unknown SQL Type -101 like before?
>> 
>> -----Original Message-----
>> From: Charles Givre <cg...@gmail.com>
>> Sent: Wednesday, June 24, 2020 5:25 PM
>> To: user@drill.apache.org
>> Subject: Re: Initial Oracle Setup
>> 
>> Hi Chris,
>> You’re correct…
>> Maybe if you can create a simple table with an INT and a VARCHAR column and get Drill to query that. (It should). If that works, let’s try other data types and see what works and what doesn’t.   I’m also wondering if there is some way of telling Oracle to convert the BINARY DOUBLE to some other data type that can be read.  I don’t know enough about Oracle though…
>> — C
>> 
>> 
>>> On Jun 24, 2020, at 5:20 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>> 
>>> You know Charles, I think you're right on the money there. Considering what we've tested at this point, I think you're right. So I would like to prove that hypothesis for you, so to confirm do I need to find a schema with tables that do not have a binary double? I might be able to create a table under my personal oracle schema which shouldn't have anything in there currently. We should agree on the SQL used to create the table so we are on the same page before that though.
>>> 
>>> In my opinion, that sounds like a good thing to do. If my POC works as I am hoping it will, I am hoping that Apache Drill proves to be a useful tool in attempting "end to end" test automation entirely from Postman, since Oracle does not natively provide an API to query. It would be really cool if the idea I have in my head plays out as I'm thinking it will, and I would love for the solution to be used by other people (if it works) which would require Drill to be updated to allow for this to work with Oracle.
>>> 
>>> -Chris
>>> 
>>> -----Original Message-----
>>> From: Charles Givre <cg...@gmail.com>
>>> Sent: Wednesday, June 24, 2020 5:13 PM
>>> To: user@drill.apache.org
>>> Subject: Re: Initial Oracle Setup
>>> 
>>> I think the issue is that Drill is receiving a schema from Oracle that is including a binary double column.  At that point, Drill has no idea how to handle that so you get the validation error.  I’d like to prove this hypothesis by successfully querying a table that does not have a binary double (or other unrecognizable column) and getting Drill to successfully read the results.
>>> 
>>> My other thought is that it might be possible to do something with this via the JDBC config.  Sometimes databases have configuration options which can be passed when you connect, and if Oracle has such options, we might be able to fix this in the connection string.  My gut is telling me at this point that we’re going to have to fix this in Drill by adding some code that basically says if the type is unknown, read the data as a string or something like that.
>>> — C
>>> 
>>> 
>>>> On Jun 24, 2020, at 5:02 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>> 
>>>> Alright so following that logic of Data Type 101 being a binary double, I did the following:
>>>> select CAST(merchant_id AS DOUBLE) from biz.merchant where
>>>> merchant_id=85616270
>>>> 
>>>> That unfortunately still results in the unknown sql type -101 error. I did want to say that I was able to go onto the CLI and have it list out all the schemas and tables it could find and what it listed was correct so at least we know we are connected to what we should be.
>>>> 
>>>> -----Original Message-----
>>>> From: Charles Givre <cg...@gmail.com>
>>>> Sent: Wednesday, June 24, 2020 4:55 PM
>>>> To: user@drill.apache.org
>>>> Subject: Re: Initial Oracle Setup
>>>> 
>>>> I looked this up… SQL Data Type 101 is a binary double.
>>>> 
>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_d
>>>> atabase_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mhB
>>>> YFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9K
>>>> _mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRFs
>>>> hIVqbqiRRDh2qs&e=
>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_
>>>> database_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mh
>>>> BYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9
>>>> K_mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRF
>>>> shIVqbqiRRDh2qs&e= >
>>>> 
>>>> 
>>>> 
>>>> 
>>>>> On Jun 24, 2020, at 4:52 PM, Charles Givre <cg...@gmail.com> wrote:
>>>>> 
>>>>> Some more questions…
>>>>> 1.  Are there other tables you can query?  I want to see if we can at
>>>>> least get something to work ;-) (Although we can read the schema via SHOW TABLES) 2.  Can you try the following query:
>>>>> SELECT CAST(<some field> AS INT)
>>>>> FROM merchant….  Basically I’m wondering if we force Drill to map the field to a type, if we can get it to read the data.
>>>>> 
>>>>> 
>>>>> 
>>>>>> On Jun 24, 2020, at 4:44 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>> 
>>>>>> Hey Charles,
>>>>>> 
>>>>>> I ran a couple of different queries selecting only a single column from the table and it seems multiple columns are all giving me the same unknown sql type -101 error.
>>>>>> The stacktrace also appears to be the same per column, so to me it appears that the issue is maybe with the format of the data itself coming from Oracle, I'm not too sure at this point.
>>>>>> 
>>>>>> -Chris
>>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>> Sent: Wednesday, June 24, 2020 3:30 PM
>>>>>> To: user <us...@drill.apache.org>
>>>>>> Subject: Re: Initial Oracle Setup
>>>>>> 
>>>>>> Hey Christopher,
>>>>>> Can you run a query with individual columns so we can see which column is causing the issue?
>>>>>> Thx,
>>>>>> --C
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>>> On Jun 23, 2020, at 5:25 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>> 
>>>>>>> Rafael
>>>>>>> -Okay so doing "show schemas;" (I didn't include the semicolon before) resulted in all of the schemas I was expecting to see be listed, so it's awesome that Drill was actually able to make the connection. So I do think my issue might be with the data types of the columns in the table I'm trying to query.
>>>>>>> 
>>>>>>> Charles
>>>>>>> -here are the data types on the table "merchant": NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE.
>>>>>>> -if I had to take a guess, I would bet money that the problem child here is the timestamp data type.
>>>>>>> 
>>>>>>> -----Original Message-----
>>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>>> Sent: Tuesday, June 23, 2020 5:19 PM
>>>>>>> To: user@drill.apache.org
>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>> 
>>>>>>> Rafael
>>>>>>> -I am running this in embedded mode on my Windows Laptop and I believe I have access to the shell but I'm not too familiar with the syntax so I'll have to look that up and I'll let you know what I get.
>>>>>>> 
>>>>>>> Charles
>>>>>>> -I'm glad you were able to find something about that error because I was having a tough time finding something related to it. I actually thought something similar and actually changed my query to only return the merchant_id of the merchant because I thought maybe there was a column that Drill didn't know how to handle. I will take a look at the stackoverflow link that you sent me and will let you know what I come up with.
>>>>>>> -Here is the stacktrace for the VALIDATION ERROR:
>>>>>>> 2020-06-23 17:15:56,017 [qtp409347742-245] ERROR
>>>>>>> o.a.d.e.server.rest.QueryResources - Query from Web UI Failed: {}
>>>>>>> org.apache.drill.common.exceptions.UserRemoteException: VALIDATION
>>>>>>> ERROR: Unknown SQL type -101
>>>>>>> 
>>>>>>> 
>>>>>>> [Error Id: def7533c-bb11-48da-b770-28c6730a1799 ] at
>>>>>>> org.apache.drill.exec.server.rest.RestQueryRunner.submitQuery(RestQ
>>>>>>> u
>>>>>>> eryRunner.java:181) at
>>>>>>> org.apache.drill.exec.server.rest.RestQueryRunner.run(RestQueryRunn
>>>>>>> e
>>>>>>> r.java:70) at
>>>>>>> org.apache.drill.exec.server.rest.QueryResources.submitQueryJSON(Qu
>>>>>>> e
>>>>>>> ryResources.java:96) at
>>>>>>> org.apache.drill.exec.server.rest.QueryResources.submitQuery(QueryR
>>>>>>> e
>>>>>>> sources.java:114) at
>>>>>>> jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown
>>>>>>> Source) at
>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(
>>>>>>> D
>>>>>>> elegatingMethodAccessorImpl.java:43)
>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocation
>>>>>>> H
>>>>>>> andlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:
>>>>>>> 8
>>>>>>> 1) at
>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>>> o
>>>>>>> dDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>>> o
>>>>>>> dDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispat
>>>>>>> c
>>>>>>> herProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherP
>>>>>>> r
>>>>>>> ovider.java:205) at
>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>>> o
>>>>>>> dDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Reso
>>>>>>> u
>>>>>>> rceMethodInvoker.java:389) at
>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>>>>> r
>>>>>>> ceMethodInvoker.java:347) at
>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>>>>> r
>>>>>>> ceMethodInvoker.java:102) at
>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:
>>>>>>> 3
>>>>>>> 26) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>>> at
>>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Reque
>>>>>>> s
>>>>>>> tScope.java:317) at
>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.jav
>>>>>>> a
>>>>>>> :305) at
>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHa
>>>>>>> n
>>>>>>> dler.java:1154) at
>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.
>>>>>>> j
>>>>>>> ava:473) at
>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>> 427) at
>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>>> n
>>>>>>> er.java:388) at
>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>>> n
>>>>>>> er.java:341) at
>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>>> n
>>>>>>> er.java:228) at
>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:8
>>>>>>> 4
>>>>>>> 8) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>>> e
>>>>>>> tHandler.java:1780) at
>>>>>>> org.apache.drill.exec.server.rest.header.ResponseHeadersSettingFilt
>>>>>>> e
>>>>>>> r.doFilter(ResponseHeadersSettingFilter.java:71)
>>>>>>> at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>>> e
>>>>>>> tHandler.java:1767) at
>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(
>>>>>>> C
>>>>>>> srfTokenValidateFilter.java:55) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>>> e
>>>>>>> tHandler.java:1767) at
>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(Cs
>>>>>>> r
>>>>>>> fTokenInjectFilter.java:54) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>>> e
>>>>>>> tHandler.java:1767) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.ja
>>>>>>> v
>>>>>>> a:583) at
>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHan
>>>>>>> d
>>>>>>> ler.java:224) at
>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHan
>>>>>>> d
>>>>>>> ler.java:1180) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.jav
>>>>>>> a
>>>>>>> :513) at
>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHand
>>>>>>> l
>>>>>>> er.java:185) at
>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHand
>>>>>>> l
>>>>>>> er.java:1112) at
>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>> java:141) at
>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapp
>>>>>>> e
>>>>>>> r.java:134) at
>>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>>> at
>>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>>>>>> at
>>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.j
>>>>>>> a
>>>>>>> va:251) at
>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abst
>>>>>>> r
>>>>>>> actConnection.java:283) at
>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>>>>>> at
>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPo
>>>>>>> i
>>>>>>> nt.java:93) at
>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execut
>>>>>>> e
>>>>>>> ProduceConsume(ExecuteProduceConsume.java:303)
>>>>>>> at
>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produc
>>>>>>> e
>>>>>>> Consume(ExecuteProduceConsume.java:148)
>>>>>>> at
>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Ex
>>>>>>> e
>>>>>>> cuteProduceConsume.java:136) at
>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadP
>>>>>>> o
>>>>>>> ol.java:671) at
>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPo
>>>>>>> o
>>>>>>> l.java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>>> Caused by: java.lang.IllegalArgumentException: Unknown SQL type
>>>>>>> -101 at
>>>>>>> org.apache.calcite.avatica.SqlType.valueOf(SqlType.java:383)
>>>>>>> at
>>>>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>>>>> a
>>>>>>> .java:385) at
>>>>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>>>>> a
>>>>>>> .java:362) at
>>>>>>> org.apache.calcite.adapter.jdbc.JdbcTable.getRowType(JdbcTable.java:
>>>>>>> 117) at
>>>>>>> org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:
>>>>>>> 159) at
>>>>>>> org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.
>>>>>>> j
>>>>>>> ava:99) at
>>>>>>> org.apache.calcite.sql.validate.DelegatingScope.resolveTable(Delega
>>>>>>> t
>>>>>>> ingScope.java:203) at
>>>>>>> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(Ide
>>>>>>> n
>>>>>>> tifierNamespace.java:105) at
>>>>>>> org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(Id
>>>>>>> e
>>>>>>> ntifierNamespace.java:177) at
>>>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>>>>> N
>>>>>>> amespace.java:84) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>>>>> S
>>>>>>> qlValidatorImpl.java:1009) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>>>>> a
>>>>>>> lidatorImpl.java:969) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>>>>> l
>>>>>>> idatorImpl.java:3129) at
>>>>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>>>>> e
>>>>>>> From(DrillValidator.java:63) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>>>>> l
>>>>>>> idatorImpl.java:3111) at
>>>>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>>>>> e
>>>>>>> From(DrillValidator.java:63) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(Sql
>>>>>>> V
>>>>>>> alidatorImpl.java:3383) at
>>>>>>> org.apache.calcite.sql.validate.SelectNamespace.validateImpl(Select
>>>>>>> N
>>>>>>> amespace.java:60) at
>>>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>>>>> N
>>>>>>> amespace.java:84) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>>>>> S
>>>>>>> qlValidatorImpl.java:1009) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>>>>> a
>>>>>>> lidatorImpl.java:969) at
>>>>>>> org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:216)
>>>>>>> at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpr
>>>>>>> e
>>>>>>> ssion(SqlValidatorImpl.java:944) at
>>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValida
>>>>>>> t
>>>>>>> orImpl.java:651) at
>>>>>>> org.apache.drill.exec.planner.sql.conversion.SqlConverter.validate(
>>>>>>> S
>>>>>>> qlConverter.java:189) at
>>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>>>>> t
>>>>>>> eNode(DefaultSqlHandler.java:641) at
>>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>>>>> t
>>>>>>> eAndConvert(DefaultSqlHandler.java:195)
>>>>>>> at
>>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPla
>>>>>>> n
>>>>>>> (DefaultSqlHandler.java:169) at
>>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(Drill
>>>>>>> S
>>>>>>> qlWorker.java:283) at
>>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan(Dr
>>>>>>> i
>>>>>>> llSqlWorker.java:163) at
>>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillS
>>>>>>> q
>>>>>>> lWorker.java:128) at
>>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWo
>>>>>>> r
>>>>>>> ker.java:93) at
>>>>>>> org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:593)
>>>>>>> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:274)
>>>>>>> at .......(:0)
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> -----Original Message-----
>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>> Sent: Tuesday, June 23, 2020 4:35 PM
>>>>>>> To: user@drill.apache.org
>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>> 
>>>>>>> One more thing...
>>>>>>> 
>>>>>>> Could you run the query that is producing the VALIDATION ERROR and send the full stack trace?  I'm thinking that can be fixed on the Drill end of things, at least until Calcite fixes that.
>>>>>>> -- C
>>>>>>> 
>>>>>>>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>> 
>>>>>>>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
>>>>>>>> 
>>>>>>>> I think the only thing I'm having an issue with now I think is
>>>>>>>> related to this:
>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.
>>>>>>>> org
>>>>>>>> _jira_browse_CALCITE-2D3533&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BY
>>>>>>>> R
>>>>>>>> bCB
>>>>>>>> lPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=g39OzDxVVrucBo3nnaZNaIqoh9
>>>>>>>> S ZZi
>>>>>>>> dthZ3H6QSOkWE&s=oVohCx-25EZLkSVY7yEV1FtFZ-nNDTnGvek4Sx67nYc&e=
>>>>>>>> 
>>>>>>>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
>>>>>>>> 
>>>>>>>> -----Original Message-----
>>>>>>>> From: Rafael Jaimes III <ra...@gmail.com>
>>>>>>>> Sent: Tuesday, June 23, 2020 3:43 PM
>>>>>>>> To: user@drill.apache.org
>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>> 
>>>>>>>> Glad you got it working with the new version regardless!
>>>>>>>> 
>>>>>>>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>> 
>>>>>>>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>>>>>>>>> 
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>>>>> Sent: Tuesday, June 23, 2020 3:31 PM
>>>>>>>>> To: user@drill.apache.org
>>>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>>> 
>>>>>>>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>>>>>>>>> 
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>> Sent: Tuesday, June 23, 2020 3:23 PM
>>>>>>>>> To: user <us...@drill.apache.org>
>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>> 
>>>>>>>>> It hasn't been released yet, so you'd have to d/l from github
>>>>>>>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>>> a
>>>>>>>>> pac
>>>>>>>>> h
>>>>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>>>>> l
>>>>>>>>> lmV
>>>>>>>>> q
>>>>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>>>>> =
>>>>>>>>> C8v
>>>>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>>>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>>> a
>>>>>>>>> pac
>>>>>>>>> h
>>>>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>>>>> l
>>>>>>>>> lmV
>>>>>>>>> q
>>>>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>>>>> =
>>>>>>>>> C8v
>>>>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from
>>>>>>>>> source.
>>>>>>>>> If you can't do that, I have a pre-release here:
>>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_c
>>>>>>>>> g
>>>>>>>>> ivr
>>>>>>>>> e
>>>>>>>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7W
>>>>>>>>> I
>>>>>>>>> 0-D
>>>>>>>>> P
>>>>>>>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZS
>>>>>>>>> N
>>>>>>>>> loM
>>>>>>>>> 5
>>>>>>>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-
>>>>>>>>> q
>>>>>>>>> XY0
>>>>>>>>> &
>>>>>>>>> e=
>>>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>>> c
>>>>>>>>> giv
>>>>>>>>> r
>>>>>>>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7
>>>>>>>>> W
>>>>>>>>> I0-
>>>>>>>>> D
>>>>>>>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZ
>>>>>>>>> S
>>>>>>>>> Nlo
>>>>>>>>> M
>>>>>>>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H
>>>>>>>>> -
>>>>>>>>> qXY
>>>>>>>>> 0
>>>>>>>>> &e= >
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>> 
>>>>>>>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>>>>>>>>> 
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> From: Christopher Kane
>>>>>>>>>> <ch...@cardconnect.com.INVALID>
>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>>>> 
>>>>>>>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>>>>>>>>> 
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>> 
>>>>>>>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>>>>>>>>> 
>>>>>>>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> On both the directory of drill and on startup I am running
>>>>>>>>>>> Apache Drill 1.17.0
>>>>>>>>>>> 
>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>> From: Charles Givre <cgivre@gmail.com
>>>>>>>>>>> <ma...@gmail.com>>
>>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>>>>>>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>>> 
>>>>>>>>>>> One more question.. what version of Drill are you using?
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>> Rafael
>>>>>>>>>>>> -I did place it in the jars/3rdparty folder.
>>>>>>>>>>>> 
>>>>>>>>>>>> Storage Plugin Config:
>>>>>>>>>>>> {
>>>>>>>>>>>> "type": "jdbc",
>>>>>>>>>>>> "enabled": true,
>>>>>>>>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>>>>>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>>>>>>>>> }
>>>>>>>>>>>> (it's been modified to remove sensitive information)
>>>>>>>>>>>> 
>>>>>>>>>>>> Charles
>>>>>>>>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>>>>>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>>>>>>>>> 
>>>>>>>>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>>>>>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/
>>>>>>>>>>>> update
>>>>>>>>>>>> plugin: QA2 Oracle
>>>>>>>>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
>>>>>>>>>>>> Failure setting up new storage plugin configuration for config
>>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>>>>> t
>>>>>>>>>>>> ora
>>>>>>>>>>>> ge
>>>>>>>>>>>> P
>>>>>>>>>>>> l
>>>>>>>>>>>> uginRegistryImpl.java:536) at
>>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOr
>>>>>>>>>>>> U
>>>>>>>>>>>> pda
>>>>>>>>>>>> te
>>>>>>>>>>>> (
>>>>>>>>>>>> S
>>>>>>>>>>>> toragePluginRegistryImpl.java:132)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOr
>>>>>>>>>>>> U
>>>>>>>>>>>> pda
>>>>>>>>>>>> te
>>>>>>>>>>>> I
>>>>>>>>>>>> n
>>>>>>>>>>>> Storage(PluginConfigWrapper.java:56)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>>>>> a
>>>>>>>>>>>> teP
>>>>>>>>>>>> lu
>>>>>>>>>>>> g
>>>>>>>>>>>> i
>>>>>>>>>>>> nJSON(StorageResources.java:212) at
>>>>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>>>>> a
>>>>>>>>>>>> teP
>>>>>>>>>>>> lu
>>>>>>>>>>>> g
>>>>>>>>>>>> i
>>>>>>>>>>>> n(StorageResources.java:233) at
>>>>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>>>>> 0
>>>>>>>>>>>> (Na
>>>>>>>>>>>> ti
>>>>>>>>>>>> v
>>>>>>>>>>>> e
>>>>>>>>>>>> Method) at
>>>>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>>>>> (
>>>>>>>>>>>> Nat
>>>>>>>>>>>> iv
>>>>>>>>>>>> e
>>>>>>>>>>>> M
>>>>>>>>>>>> ethodAccessorImpl.java:62) at
>>>>>>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.in
>>>>>>>>>>>> v
>>>>>>>>>>>> oke
>>>>>>>>>>>> (D
>>>>>>>>>>>> e
>>>>>>>>>>>> l
>>>>>>>>>>>> egatingMethodAccessorImpl.java:43)
>>>>>>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvoc
>>>>>>>>>>>> a
>>>>>>>>>>>> tio
>>>>>>>>>>>> nH
>>>>>>>>>>>> a
>>>>>>>>>>>> n
>>>>>>>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.ja
>>>>>>>>>>>> v
>>>>>>>>>>>> a:8
>>>>>>>>>>>> 1)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>>> e
>>>>>>>>>>>> Met
>>>>>>>>>>>> ho
>>>>>>>>>>>> d
>>>>>>>>>>>> D
>>>>>>>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>>> e
>>>>>>>>>>>> Met
>>>>>>>>>>>> ho
>>>>>>>>>>>> d
>>>>>>>>>>>> D
>>>>>>>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161
>>>>>>>>>>>> )
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodD
>>>>>>>>>>>> i
>>>>>>>>>>>> spa
>>>>>>>>>>>> tc
>>>>>>>>>>>> h
>>>>>>>>>>>> e
>>>>>>>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatch
>>>>>>>>>>>> e
>>>>>>>>>>>> rPr
>>>>>>>>>>>> ov
>>>>>>>>>>>> i
>>>>>>>>>>>> d
>>>>>>>>>>>> er.java:205) at
>>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>>> e
>>>>>>>>>>>> Met
>>>>>>>>>>>> ho
>>>>>>>>>>>> d
>>>>>>>>>>>> D
>>>>>>>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:9
>>>>>>>>>>>> 9
>>>>>>>>>>>> )
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke
>>>>>>>>>>>> (
>>>>>>>>>>>> Res
>>>>>>>>>>>> ou
>>>>>>>>>>>> r
>>>>>>>>>>>> c
>>>>>>>>>>>> eMethodInvoker.java:389) at
>>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>>>>> R
>>>>>>>>>>>> eso
>>>>>>>>>>>> ur
>>>>>>>>>>>> c
>>>>>>>>>>>> e
>>>>>>>>>>>> MethodInvoker.java:347) at
>>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>>>>> R
>>>>>>>>>>>> eso
>>>>>>>>>>>> ur
>>>>>>>>>>>> c
>>>>>>>>>>>> e
>>>>>>>>>>>> MethodInvoker.java:102) at
>>>>>>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.
>>>>>>>>>>>> j
>>>>>>>>>>>> ava
>>>>>>>>>>>> :3
>>>>>>>>>>>> 2
>>>>>>>>>>>> 6
>>>>>>>>>>>> ) at
>>>>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(
>>>>>>>>>>>> R
>>>>>>>>>>>> equ
>>>>>>>>>>>> es
>>>>>>>>>>>> t
>>>>>>>>>>>> S
>>>>>>>>>>>> cope.java:317) at
>>>>>>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>>>>>>>>> 3
>>>>>>>>>>>> 05) at
>>>>>>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(Applicat
>>>>>>>>>>>> i
>>>>>>>>>>>> onH
>>>>>>>>>>>> an
>>>>>>>>>>>> d
>>>>>>>>>>>> l
>>>>>>>>>>>> er.java:1154) at
>>>>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebCompo
>>>>>>>>>>>> n
>>>>>>>>>>>> ent
>>>>>>>>>>>> .j
>>>>>>>>>>>> a
>>>>>>>>>>>> v
>>>>>>>>>>>> a:473) at
>>>>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>>>>>>> 4
>>>>>>>>>>>> 2
>>>>>>>>>>>> 7) at
>>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>>> o
>>>>>>>>>>>> nta
>>>>>>>>>>>> in
>>>>>>>>>>>> e
>>>>>>>>>>>> r
>>>>>>>>>>>> .java:388) at
>>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>>> o
>>>>>>>>>>>> nta
>>>>>>>>>>>> in
>>>>>>>>>>>> e
>>>>>>>>>>>> r
>>>>>>>>>>>> .java:341) at
>>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>>> o
>>>>>>>>>>>> nta
>>>>>>>>>>>> in
>>>>>>>>>>>> e
>>>>>>>>>>>> r
>>>>>>>>>>>> .java:228) at
>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>>>>>>>>> 84
>>>>>>>>>>>> 8
>>>>>>>>>>>> )
>>>>>>>>>>>> at
>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>>> S
>>>>>>>>>>>> erv
>>>>>>>>>>>> le
>>>>>>>>>>>> t
>>>>>>>>>>>> H
>>>>>>>>>>>> andler.java:1780) at
>>>>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFi
>>>>>>>>>>>> l
>>>>>>>>>>>> ter
>>>>>>>>>>>> (C
>>>>>>>>>>>> s
>>>>>>>>>>>> r
>>>>>>>>>>>> fTokenValidateFilter.java:55) at
>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>>> S
>>>>>>>>>>>> erv
>>>>>>>>>>>> le
>>>>>>>>>>>> t
>>>>>>>>>>>> H
>>>>>>>>>>>> andler.java:1767) at
>>>>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilt
>>>>>>>>>>>> e
>>>>>>>>>>>> r(C
>>>>>>>>>>>> sr
>>>>>>>>>>>> f
>>>>>>>>>>>> T
>>>>>>>>>>>> okenInjectFilter.java:54) at
>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>>> S
>>>>>>>>>>>> erv
>>>>>>>>>>>> le
>>>>>>>>>>>> t
>>>>>>>>>>>> H
>>>>>>>>>>>> andler.java:1767) at
>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>>>>>>>>> 583) at
>>>>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(Sessi
>>>>>>>>>>>> o
>>>>>>>>>>>> nHa
>>>>>>>>>>>> nd
>>>>>>>>>>>> l
>>>>>>>>>>>> e
>>>>>>>>>>>> r.java:224) at
>>>>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(Conte
>>>>>>>>>>>> x
>>>>>>>>>>>> tHa
>>>>>>>>>>>> nd
>>>>>>>>>>>> l
>>>>>>>>>>>> e
>>>>>>>>>>>> r.java:1180) at
>>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>>>>>>>>> 5
>>>>>>>>>>>> 13) at
>>>>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(Sessio
>>>>>>>>>>>> n
>>>>>>>>>>>> Han
>>>>>>>>>>>> dl
>>>>>>>>>>>> e
>>>>>>>>>>>> r
>>>>>>>>>>>> .java:185) at
>>>>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(Contex
>>>>>>>>>>>> t
>>>>>>>>>>>> Han
>>>>>>>>>>>> dl
>>>>>>>>>>>> e
>>>>>>>>>>>> r
>>>>>>>>>>>> .java:1112) at
>>>>>>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>>>>>>> j
>>>>>>>>>>>> a
>>>>>>>>>>>> va:141) at
>>>>>>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>>>>>>>>> java:134) at
>>>>>>>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:3
>>>>>>>>>>>> 3
>>>>>>>>>>>> 3)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>>>>>>>>> ja
>>>>>>>>>>>> v
>>>>>>>>>>>> a
>>>>>>>>>>>> :251) at
>>>>>>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded
>>>>>>>>>>>> (
>>>>>>>>>>>> Abs
>>>>>>>>>>>> tr
>>>>>>>>>>>> a
>>>>>>>>>>>> c
>>>>>>>>>>>> tConnection.java:283) at
>>>>>>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:1
>>>>>>>>>>>> 0
>>>>>>>>>>>> 8)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannel
>>>>>>>>>>>> E
>>>>>>>>>>>> ndP
>>>>>>>>>>>> oi
>>>>>>>>>>>> n
>>>>>>>>>>>> t
>>>>>>>>>>>> .java:93) at
>>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.e
>>>>>>>>>>>> x
>>>>>>>>>>>> ecu
>>>>>>>>>>>> te
>>>>>>>>>>>> P
>>>>>>>>>>>> r
>>>>>>>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.p
>>>>>>>>>>>> r
>>>>>>>>>>>> odu
>>>>>>>>>>>> ce
>>>>>>>>>>>> C
>>>>>>>>>>>> o
>>>>>>>>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.r
>>>>>>>>>>>> u
>>>>>>>>>>>> n(E
>>>>>>>>>>>> xe
>>>>>>>>>>>> c
>>>>>>>>>>>> u
>>>>>>>>>>>> teProduceConsume.java:136) at
>>>>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedTh
>>>>>>>>>>>> r
>>>>>>>>>>>> ead
>>>>>>>>>>>> Po
>>>>>>>>>>>> o
>>>>>>>>>>>> l
>>>>>>>>>>>> .java:671) at
>>>>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>>>>>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>>>>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>>>>>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>>>>>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
>>>>>>>>>>>> ja
>>>>>>>>>>>> v
>>>>>>>>>>>> a
>>>>>>>>>>>> :78) at
>>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelCon
>>>>>>>>>>>> v
>>>>>>>>>>>> ert
>>>>>>>>>>>> er
>>>>>>>>>>>> R
>>>>>>>>>>>> u
>>>>>>>>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcCo
>>>>>>>>>>>> n
>>>>>>>>>>>> ven
>>>>>>>>>>>> ti
>>>>>>>>>>>> o
>>>>>>>>>>>> n
>>>>>>>>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>>>>>>>>> at
>>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(Jdbc
>>>>>>>>>>>> S
>>>>>>>>>>>> tor
>>>>>>>>>>>> ag
>>>>>>>>>>>> e
>>>>>>>>>>>> P
>>>>>>>>>>>> lugin.java:103) at
>>>>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>>>>> e
>>>>>>>>>>>> wIn
>>>>>>>>>>>> st
>>>>>>>>>>>> a
>>>>>>>>>>>> n
>>>>>>>>>>>> ce0(Native Method) at
>>>>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>>>>> e
>>>>>>>>>>>> wIn
>>>>>>>>>>>> st
>>>>>>>>>>>> a
>>>>>>>>>>>> n
>>>>>>>>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorIm
>>>>>>>>>>>> p
>>>>>>>>>>>> l.n
>>>>>>>>>>>> ew
>>>>>>>>>>>> I
>>>>>>>>>>>> n
>>>>>>>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>>>>>>>>> at
>>>>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(
>>>>>>>>>>>> C
>>>>>>>>>>>> ons
>>>>>>>>>>>> tr
>>>>>>>>>>>> u
>>>>>>>>>>>> c
>>>>>>>>>>>> tor.java:500) at
>>>>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>>>>>>>>> 4
>>>>>>>>>>>> 81) at
>>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>>>>> t
>>>>>>>>>>>> ora
>>>>>>>>>>>> ge
>>>>>>>>>>>> P
>>>>>>>>>>>> l
>>>>>>>>>>>> uginRegistryImpl.java:528)
>>>>>>>>>>>> ... 56 common frames omitted
>>>>>>>>>>>> 
>>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>>>> 
>>>>>>>>>>>> One more thing...
>>>>>>>>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>>>>>>>>> Thanks,
>>>>>>>>>>>> -- C
>>>>>>>>>>>> 
>>>>>>>>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Hi Chris,
>>>>>>>>>>>>> 
>>>>>>>>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>>>>>>>>> 
>>>>>>>>>>>>> You're right you might be onto something if you get the
>>>>>>>>>>>>> password failed message. Can you post the exact text (JSON)
>>>>>>>>>>>>> of the storage plugin config?
>>>>>>>>>>>>> 
>>>>>>>>>>>>> -Rafael
>>>>>>>>>>>>> 
>>>>>>>>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>>>>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Hey Everyone,
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Christopher Kane
>>>>>>>>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>>>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>>>>>>>>> com>,
>>>>>>>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>>>>>>>>> c
>>>>>>>>>>>>>> o
>>>>>>>>>>>>>> m>,
>>>>>>>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fise
>>>>>>>>>>>>>> m>r
>>>>>>>>>>>>>> m>v.c
>>>>>>>>>>>>>> m>om
>>>>>>>>>>>>>> m>>
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>>>> 
>>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>>> 
>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>> 
>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>> 
>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>> 
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>> 
>>>>>> 
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>> 
>>>> 
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>> 
>>> 
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> 
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> 
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.


RE: Initial Oracle Setup

Posted by Christopher Kane <ch...@cardconnect.com.INVALID>.
Alright, so I was finally able to create a view in my own schema that removed all of the columns with the timestamp with timezone data type and was able to perform a query as expected! Now the next step will be utilizing the API to be able to query oracle from Postman which will be able to provide some sort of "end to end" testing which currently is not available since Oracle does not offer any sort of API to hit their databases directly, so once I saw Apache Drill I figured that was an excellent use case for your wonderful technology 😊.

I probably won't have a full POC up and running for when you guys do your Apache Conference, but as I am new in the field (2+ years), in your opinion do you think my POC has merit and would be useful for other people to know that this potential exists?

Thanks again for all your help!
Chris

-----Original Message-----
From: Christopher Kane <ch...@cardconnect.com.INVALID>
Sent: Thursday, June 25, 2020 11:27 AM
To: user@drill.apache.org
Subject: RE: Initial Oracle Setup

Ah okay, that makes a lot of sense now. I will look into what you and Ted have suggested about a materialized view, I guess I just might have to do that for the time being to test my POC further. I'll let you know if I run into any issues with that, thanks again I appreciate all of your help 😊! If you guys develop a fix for that and need someone to test it, let me know and I'd be happy to do that for you!

-Chris

-----Original Message-----
From: Charles Givre <cg...@gmail.com>
Sent: Wednesday, June 24, 2020 10:14 PM
To: user@drill.apache.org
Subject: Re: Initial Oracle Setup

That actually explains a lot... While Drill has a timestamp data type, Drill does not have a timezone with tz data type.   Ted Dunning made a suggestion that would likely fix the issue and that is can you create a materialized view of your merchant table (on the Oracle DB) that doesn't have this data type?  (Like CAST it to a regular TIMESTAMP)  Drill should be able to query that.
The long term fix is to figure out how to get Drill to deal with unknown data types from JDBC sources, but in the interim, a materialized view might do the trick.
Best,
-- C




> On Jun 24, 2020, at 6:10 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>
> I KNEW IT! My initial hunch was correct.. when I listed all of the data types used by Oracle I initially said I had a feeling that TIMESTAMP(6) WITH TIME ZONE was probably the one that was causing an issue. I added each data type as a new column one by one, and the one that finally threw the error was TIMESTAMP(6) WITH TIME ZONE. So because the BIZ schema has tables with TIMESTAMP(6) WITH TIME ZONE as the data type, that's probably while it's failing. Now I am curious though if there is any other column this could be occurring with, but at least for right now we know that TIMESTAMP(6) WITH TIME ZONE is causing an issue, I can't speak for other data types that might not have been present in the merchant table but I can't imagine the other tables would really be all that different.
>
> -Chris
>
> -----Original Message-----
> From: Christopher Kane <ch...@cardconnect.com.INVALID>
> Sent: Wednesday, June 24, 2020 5:34 PM
> To: user@drill.apache.org
> Subject: RE: Initial Oracle Setup
>
> Ayyyy!!! That worked! I did the following: CREATE TABLE CKANE.TEST (column_1 INT, column_2 VARCHAR(50));
>
> Then I did select * from CKANE.TEST where column_1=1 and it returned what was expected, column_1 which contained the value of 1 and column_2 which contained the value of test.
>
> As far as telling Oracle to convert it to something different, if that's a database management level change I can't really go that route since I'm unable to change the configuration of Oracle for a POC like this, I kind of have to get it working with the current constraints.
>
> What would be the next data types you'd suggest we try? I listed the data types previously but they are: NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE, so should I start adding a column for each of those until I get the message Unknown SQL Type -101 like before?
>
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Wednesday, June 24, 2020 5:25 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
>
> Hi Chris,
> You’re correct…
> Maybe if you can create a simple table with an INT and a VARCHAR column and get Drill to query that. (It should). If that works, let’s try other data types and see what works and what doesn’t.   I’m also wondering if there is some way of telling Oracle to convert the BINARY DOUBLE to some other data type that can be read.  I don’t know enough about Oracle though…
> — C
>
>
>> On Jun 24, 2020, at 5:20 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>
>> You know Charles, I think you're right on the money there. Considering what we've tested at this point, I think you're right. So I would like to prove that hypothesis for you, so to confirm do I need to find a schema with tables that do not have a binary double? I might be able to create a table under my personal oracle schema which shouldn't have anything in there currently. We should agree on the SQL used to create the table so we are on the same page before that though.
>>
>> In my opinion, that sounds like a good thing to do. If my POC works as I am hoping it will, I am hoping that Apache Drill proves to be a useful tool in attempting "end to end" test automation entirely from Postman, since Oracle does not natively provide an API to query. It would be really cool if the idea I have in my head plays out as I'm thinking it will, and I would love for the solution to be used by other people (if it works) which would require Drill to be updated to allow for this to work with Oracle.
>>
>> -Chris
>>
>> -----Original Message-----
>> From: Charles Givre <cg...@gmail.com>
>> Sent: Wednesday, June 24, 2020 5:13 PM
>> To: user@drill.apache.org
>> Subject: Re: Initial Oracle Setup
>>
>> I think the issue is that Drill is receiving a schema from Oracle that is including a binary double column.  At that point, Drill has no idea how to handle that so you get the validation error.  I’d like to prove this hypothesis by successfully querying a table that does not have a binary double (or other unrecognizable column) and getting Drill to successfully read the results.
>>
>> My other thought is that it might be possible to do something with this via the JDBC config.  Sometimes databases have configuration options which can be passed when you connect, and if Oracle has such options, we might be able to fix this in the connection string.  My gut is telling me at this point that we’re going to have to fix this in Drill by adding some code that basically says if the type is unknown, read the data as a string or something like that.
>> — C
>>
>>
>>> On Jun 24, 2020, at 5:02 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>
>>> Alright so following that logic of Data Type 101 being a binary double, I did the following:
>>> select CAST(merchant_id AS DOUBLE) from biz.merchant where
>>> merchant_id=85616270
>>>
>>> That unfortunately still results in the unknown sql type -101 error. I did want to say that I was able to go onto the CLI and have it list out all the schemas and tables it could find and what it listed was correct so at least we know we are connected to what we should be.
>>>
>>> -----Original Message-----
>>> From: Charles Givre <cg...@gmail.com>
>>> Sent: Wednesday, June 24, 2020 4:55 PM
>>> To: user@drill.apache.org
>>> Subject: Re: Initial Oracle Setup
>>>
>>> I looked this up… SQL Data Type 101 is a binary double.
>>>
>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_d
>>> atabase_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mhB
>>> YFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9K
>>> _mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRFs
>>> hIVqbqiRRDh2qs&e=
>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_
>>> database_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mh
>>> BYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9
>>> K_mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRF
>>> shIVqbqiRRDh2qs&e= >
>>>
>>>
>>>
>>>
>>>> On Jun 24, 2020, at 4:52 PM, Charles Givre <cg...@gmail.com> wrote:
>>>>
>>>> Some more questions…
>>>> 1.  Are there other tables you can query?  I want to see if we can at
>>>> least get something to work ;-) (Although we can read the schema via SHOW TABLES) 2.  Can you try the following query:
>>>> SELECT CAST(<some field> AS INT)
>>>> FROM merchant….  Basically I’m wondering if we force Drill to map the field to a type, if we can get it to read the data.
>>>>
>>>>
>>>>
>>>>> On Jun 24, 2020, at 4:44 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>
>>>>> Hey Charles,
>>>>>
>>>>> I ran a couple of different queries selecting only a single column from the table and it seems multiple columns are all giving me the same unknown sql type -101 error.
>>>>> The stacktrace also appears to be the same per column, so to me it appears that the issue is maybe with the format of the data itself coming from Oracle, I'm not too sure at this point.
>>>>>
>>>>> -Chris
>>>>>
>>>>> -----Original Message-----
>>>>> From: Charles Givre <cg...@gmail.com>
>>>>> Sent: Wednesday, June 24, 2020 3:30 PM
>>>>> To: user <us...@drill.apache.org>
>>>>> Subject: Re: Initial Oracle Setup
>>>>>
>>>>> Hey Christopher,
>>>>> Can you run a query with individual columns so we can see which column is causing the issue?
>>>>> Thx,
>>>>> --C
>>>>>
>>>>>
>>>>>
>>>>>> On Jun 23, 2020, at 5:25 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>
>>>>>> Rafael
>>>>>> -Okay so doing "show schemas;" (I didn't include the semicolon before) resulted in all of the schemas I was expecting to see be listed, so it's awesome that Drill was actually able to make the connection. So I do think my issue might be with the data types of the columns in the table I'm trying to query.
>>>>>>
>>>>>> Charles
>>>>>> -here are the data types on the table "merchant": NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE.
>>>>>> -if I had to take a guess, I would bet money that the problem child here is the timestamp data type.
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>> Sent: Tuesday, June 23, 2020 5:19 PM
>>>>>> To: user@drill.apache.org
>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>
>>>>>> Rafael
>>>>>> -I am running this in embedded mode on my Windows Laptop and I believe I have access to the shell but I'm not too familiar with the syntax so I'll have to look that up and I'll let you know what I get.
>>>>>>
>>>>>> Charles
>>>>>> -I'm glad you were able to find something about that error because I was having a tough time finding something related to it. I actually thought something similar and actually changed my query to only return the merchant_id of the merchant because I thought maybe there was a column that Drill didn't know how to handle. I will take a look at the stackoverflow link that you sent me and will let you know what I come up with.
>>>>>> -Here is the stacktrace for the VALIDATION ERROR:
>>>>>> 2020-06-23 17:15:56,017 [qtp409347742-245] ERROR
>>>>>> o.a.d.e.server.rest.QueryResources - Query from Web UI Failed: {}
>>>>>> org.apache.drill.common.exceptions.UserRemoteException: VALIDATION
>>>>>> ERROR: Unknown SQL type -101
>>>>>>
>>>>>>
>>>>>> [Error Id: def7533c-bb11-48da-b770-28c6730a1799 ] at
>>>>>> org.apache.drill.exec.server.rest.RestQueryRunner.submitQuery(RestQ
>>>>>> u
>>>>>> eryRunner.java:181) at
>>>>>> org.apache.drill.exec.server.rest.RestQueryRunner.run(RestQueryRunn
>>>>>> e
>>>>>> r.java:70) at
>>>>>> org.apache.drill.exec.server.rest.QueryResources.submitQueryJSON(Qu
>>>>>> e
>>>>>> ryResources.java:96) at
>>>>>> org.apache.drill.exec.server.rest.QueryResources.submitQuery(QueryR
>>>>>> e
>>>>>> sources.java:114) at
>>>>>> jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown
>>>>>> Source) at
>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(
>>>>>> D
>>>>>> elegatingMethodAccessorImpl.java:43)
>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>> at
>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocation
>>>>>> H
>>>>>> andlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:
>>>>>> 8
>>>>>> 1) at
>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>> o
>>>>>> dDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>> at
>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>> o
>>>>>> dDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>>>> at
>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispat
>>>>>> c
>>>>>> herProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherP
>>>>>> r
>>>>>> ovider.java:205) at
>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>> o
>>>>>> dDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>>>>> at
>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Reso
>>>>>> u
>>>>>> rceMethodInvoker.java:389) at
>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>>>> r
>>>>>> ceMethodInvoker.java:347) at
>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>>>> r
>>>>>> ceMethodInvoker.java:102) at
>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:
>>>>>> 3
>>>>>> 26) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>> at
>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Reque
>>>>>> s
>>>>>> tScope.java:317) at
>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.jav
>>>>>> a
>>>>>> :305) at
>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHa
>>>>>> n
>>>>>> dler.java:1154) at
>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.
>>>>>> j
>>>>>> ava:473) at
>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>> 427) at
>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>> n
>>>>>> er.java:388) at
>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>> n
>>>>>> er.java:341) at
>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>> n
>>>>>> er.java:228) at
>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:8
>>>>>> 4
>>>>>> 8) at
>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>> e
>>>>>> tHandler.java:1780) at
>>>>>> org.apache.drill.exec.server.rest.header.ResponseHeadersSettingFilt
>>>>>> e
>>>>>> r.doFilter(ResponseHeadersSettingFilter.java:71)
>>>>>> at
>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>> e
>>>>>> tHandler.java:1767) at
>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(
>>>>>> C
>>>>>> srfTokenValidateFilter.java:55) at
>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>> e
>>>>>> tHandler.java:1767) at
>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(Cs
>>>>>> r
>>>>>> fTokenInjectFilter.java:54) at
>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>> e
>>>>>> tHandler.java:1767) at
>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.ja
>>>>>> v
>>>>>> a:583) at
>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHan
>>>>>> d
>>>>>> ler.java:224) at
>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHan
>>>>>> d
>>>>>> ler.java:1180) at
>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.jav
>>>>>> a
>>>>>> :513) at
>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHand
>>>>>> l
>>>>>> er.java:185) at
>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHand
>>>>>> l
>>>>>> er.java:1112) at
>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>> java:141) at
>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapp
>>>>>> e
>>>>>> r.java:134) at
>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>> at
>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>>>>> at
>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.j
>>>>>> a
>>>>>> va:251) at
>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abst
>>>>>> r
>>>>>> actConnection.java:283) at
>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>>>>> at
>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPo
>>>>>> i
>>>>>> nt.java:93) at
>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execut
>>>>>> e
>>>>>> ProduceConsume(ExecuteProduceConsume.java:303)
>>>>>> at
>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produc
>>>>>> e
>>>>>> Consume(ExecuteProduceConsume.java:148)
>>>>>> at
>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Ex
>>>>>> e
>>>>>> cuteProduceConsume.java:136) at
>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadP
>>>>>> o
>>>>>> ol.java:671) at
>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPo
>>>>>> o
>>>>>> l.java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>> Caused by: java.lang.IllegalArgumentException: Unknown SQL type
>>>>>> -101 at
>>>>>> org.apache.calcite.avatica.SqlType.valueOf(SqlType.java:383)
>>>>>> at
>>>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>>>> a
>>>>>> .java:385) at
>>>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>>>> a
>>>>>> .java:362) at
>>>>>> org.apache.calcite.adapter.jdbc.JdbcTable.getRowType(JdbcTable.java:
>>>>>> 117) at
>>>>>> org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:
>>>>>> 159) at
>>>>>> org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.
>>>>>> j
>>>>>> ava:99) at
>>>>>> org.apache.calcite.sql.validate.DelegatingScope.resolveTable(Delega
>>>>>> t
>>>>>> ingScope.java:203) at
>>>>>> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(Ide
>>>>>> n
>>>>>> tifierNamespace.java:105) at
>>>>>> org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(Id
>>>>>> e
>>>>>> ntifierNamespace.java:177) at
>>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>>>> N
>>>>>> amespace.java:84) at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>>>> S
>>>>>> qlValidatorImpl.java:1009) at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>>>> a
>>>>>> lidatorImpl.java:969) at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>>>> l
>>>>>> idatorImpl.java:3129) at
>>>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>>>> e
>>>>>> From(DrillValidator.java:63) at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>>>> l
>>>>>> idatorImpl.java:3111) at
>>>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>>>> e
>>>>>> From(DrillValidator.java:63) at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(Sql
>>>>>> V
>>>>>> alidatorImpl.java:3383) at
>>>>>> org.apache.calcite.sql.validate.SelectNamespace.validateImpl(Select
>>>>>> N
>>>>>> amespace.java:60) at
>>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>>>> N
>>>>>> amespace.java:84) at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>>>> S
>>>>>> qlValidatorImpl.java:1009) at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>>>> a
>>>>>> lidatorImpl.java:969) at
>>>>>> org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:216)
>>>>>> at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpr
>>>>>> e
>>>>>> ssion(SqlValidatorImpl.java:944) at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValida
>>>>>> t
>>>>>> orImpl.java:651) at
>>>>>> org.apache.drill.exec.planner.sql.conversion.SqlConverter.validate(
>>>>>> S
>>>>>> qlConverter.java:189) at
>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>>>> t
>>>>>> eNode(DefaultSqlHandler.java:641) at
>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>>>> t
>>>>>> eAndConvert(DefaultSqlHandler.java:195)
>>>>>> at
>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPla
>>>>>> n
>>>>>> (DefaultSqlHandler.java:169) at
>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(Drill
>>>>>> S
>>>>>> qlWorker.java:283) at
>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan(Dr
>>>>>> i
>>>>>> llSqlWorker.java:163) at
>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillS
>>>>>> q
>>>>>> lWorker.java:128) at
>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWo
>>>>>> r
>>>>>> ker.java:93) at
>>>>>> org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:593)
>>>>>> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:274)
>>>>>> at .......(:0)
>>>>>>
>>>>>>
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>> Sent: Tuesday, June 23, 2020 4:35 PM
>>>>>> To: user@drill.apache.org
>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>
>>>>>> One more thing...
>>>>>>
>>>>>> Could you run the query that is producing the VALIDATION ERROR and send the full stack trace?  I'm thinking that can be fixed on the Drill end of things, at least until Calcite fixes that.
>>>>>> -- C
>>>>>>
>>>>>>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>
>>>>>>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
>>>>>>>
>>>>>>> I think the only thing I'm having an issue with now I think is
>>>>>>> related to this:
>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.
>>>>>>> org
>>>>>>> _jira_browse_CALCITE-2D3533&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BY
>>>>>>> R
>>>>>>> bCB
>>>>>>> lPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=g39OzDxVVrucBo3nnaZNaIqoh9
>>>>>>> S ZZi
>>>>>>> dthZ3H6QSOkWE&s=oVohCx-25EZLkSVY7yEV1FtFZ-nNDTnGvek4Sx67nYc&e=
>>>>>>>
>>>>>>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Rafael Jaimes III <ra...@gmail.com>
>>>>>>> Sent: Tuesday, June 23, 2020 3:43 PM
>>>>>>> To: user@drill.apache.org
>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>
>>>>>>> Glad you got it working with the new version regardless!
>>>>>>>
>>>>>>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>
>>>>>>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>>>> Sent: Tuesday, June 23, 2020 3:31 PM
>>>>>>>> To: user@drill.apache.org
>>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>>
>>>>>>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>> Sent: Tuesday, June 23, 2020 3:23 PM
>>>>>>>> To: user <us...@drill.apache.org>
>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>
>>>>>>>> It hasn't been released yet, so you'd have to d/l from github
>>>>>>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>> a
>>>>>>>> pac
>>>>>>>> h
>>>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>>>> l
>>>>>>>> lmV
>>>>>>>> q
>>>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>>>> =
>>>>>>>> C8v
>>>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>> a
>>>>>>>> pac
>>>>>>>> h
>>>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>>>> l
>>>>>>>> lmV
>>>>>>>> q
>>>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>>>> =
>>>>>>>> C8v
>>>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from
>>>>>>>> source.
>>>>>>>> If you can't do that, I have a pre-release here:
>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_c
>>>>>>>> g
>>>>>>>> ivr
>>>>>>>> e
>>>>>>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7W
>>>>>>>> I
>>>>>>>> 0-D
>>>>>>>> P
>>>>>>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZS
>>>>>>>> N
>>>>>>>> loM
>>>>>>>> 5
>>>>>>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-
>>>>>>>> q
>>>>>>>> XY0
>>>>>>>> &
>>>>>>>> e=
>>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>> c
>>>>>>>> giv
>>>>>>>> r
>>>>>>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7
>>>>>>>> W
>>>>>>>> I0-
>>>>>>>> D
>>>>>>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZ
>>>>>>>> S
>>>>>>>> Nlo
>>>>>>>> M
>>>>>>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H
>>>>>>>> -
>>>>>>>> qXY
>>>>>>>> 0
>>>>>>>> &e= >
>>>>>>>>
>>>>>>>>
>>>>>>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>
>>>>>>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>>>>>>>>
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Christopher Kane
>>>>>>>>> <ch...@cardconnect.com.INVALID>
>>>>>>>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>>>>>>>> To: user@drill.apache.org
>>>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>>>
>>>>>>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>>>>>>>>
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>>>>>>>> To: user@drill.apache.org
>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>
>>>>>>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>>>>>>>>
>>>>>>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>>
>>>>>>>>>> On both the directory of drill and on startup I am running
>>>>>>>>>> Apache Drill 1.17.0
>>>>>>>>>>
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> From: Charles Givre <cgivre@gmail.com
>>>>>>>>>> <ma...@gmail.com>>
>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>>>>>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>>
>>>>>>>>>> One more question.. what version of Drill are you using?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>>>
>>>>>>>>>>> Rafael
>>>>>>>>>>> -I did place it in the jars/3rdparty folder.
>>>>>>>>>>>
>>>>>>>>>>> Storage Plugin Config:
>>>>>>>>>>> {
>>>>>>>>>>> "type": "jdbc",
>>>>>>>>>>> "enabled": true,
>>>>>>>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>>>>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>>>>>>>> }
>>>>>>>>>>> (it's been modified to remove sensitive information)
>>>>>>>>>>>
>>>>>>>>>>> Charles
>>>>>>>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>>>>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>>>>>>>>
>>>>>>>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>>>>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/
>>>>>>>>>>> update
>>>>>>>>>>> plugin: QA2 Oracle
>>>>>>>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
>>>>>>>>>>> Failure setting up new storage plugin configuration for config
>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>>>> t
>>>>>>>>>>> ora
>>>>>>>>>>> ge
>>>>>>>>>>> P
>>>>>>>>>>> l
>>>>>>>>>>> uginRegistryImpl.java:536) at
>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOr
>>>>>>>>>>> U
>>>>>>>>>>> pda
>>>>>>>>>>> te
>>>>>>>>>>> (
>>>>>>>>>>> S
>>>>>>>>>>> toragePluginRegistryImpl.java:132)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOr
>>>>>>>>>>> U
>>>>>>>>>>> pda
>>>>>>>>>>> te
>>>>>>>>>>> I
>>>>>>>>>>> n
>>>>>>>>>>> Storage(PluginConfigWrapper.java:56)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>>>> a
>>>>>>>>>>> teP
>>>>>>>>>>> lu
>>>>>>>>>>> g
>>>>>>>>>>> i
>>>>>>>>>>> nJSON(StorageResources.java:212) at
>>>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>>>> a
>>>>>>>>>>> teP
>>>>>>>>>>> lu
>>>>>>>>>>> g
>>>>>>>>>>> i
>>>>>>>>>>> n(StorageResources.java:233) at
>>>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>>>> 0
>>>>>>>>>>> (Na
>>>>>>>>>>> ti
>>>>>>>>>>> v
>>>>>>>>>>> e
>>>>>>>>>>> Method) at
>>>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>>>> (
>>>>>>>>>>> Nat
>>>>>>>>>>> iv
>>>>>>>>>>> e
>>>>>>>>>>> M
>>>>>>>>>>> ethodAccessorImpl.java:62) at
>>>>>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.in
>>>>>>>>>>> v
>>>>>>>>>>> oke
>>>>>>>>>>> (D
>>>>>>>>>>> e
>>>>>>>>>>> l
>>>>>>>>>>> egatingMethodAccessorImpl.java:43)
>>>>>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvoc
>>>>>>>>>>> a
>>>>>>>>>>> tio
>>>>>>>>>>> nH
>>>>>>>>>>> a
>>>>>>>>>>> n
>>>>>>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.ja
>>>>>>>>>>> v
>>>>>>>>>>> a:8
>>>>>>>>>>> 1)
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>> e
>>>>>>>>>>> Met
>>>>>>>>>>> ho
>>>>>>>>>>> d
>>>>>>>>>>> D
>>>>>>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>> e
>>>>>>>>>>> Met
>>>>>>>>>>> ho
>>>>>>>>>>> d
>>>>>>>>>>> D
>>>>>>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161
>>>>>>>>>>> )
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodD
>>>>>>>>>>> i
>>>>>>>>>>> spa
>>>>>>>>>>> tc
>>>>>>>>>>> h
>>>>>>>>>>> e
>>>>>>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatch
>>>>>>>>>>> e
>>>>>>>>>>> rPr
>>>>>>>>>>> ov
>>>>>>>>>>> i
>>>>>>>>>>> d
>>>>>>>>>>> er.java:205) at
>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>> e
>>>>>>>>>>> Met
>>>>>>>>>>> ho
>>>>>>>>>>> d
>>>>>>>>>>> D
>>>>>>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:9
>>>>>>>>>>> 9
>>>>>>>>>>> )
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke
>>>>>>>>>>> (
>>>>>>>>>>> Res
>>>>>>>>>>> ou
>>>>>>>>>>> r
>>>>>>>>>>> c
>>>>>>>>>>> eMethodInvoker.java:389) at
>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>>>> R
>>>>>>>>>>> eso
>>>>>>>>>>> ur
>>>>>>>>>>> c
>>>>>>>>>>> e
>>>>>>>>>>> MethodInvoker.java:347) at
>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>>>> R
>>>>>>>>>>> eso
>>>>>>>>>>> ur
>>>>>>>>>>> c
>>>>>>>>>>> e
>>>>>>>>>>> MethodInvoker.java:102) at
>>>>>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.
>>>>>>>>>>> j
>>>>>>>>>>> ava
>>>>>>>>>>> :3
>>>>>>>>>>> 2
>>>>>>>>>>> 6
>>>>>>>>>>> ) at
>>>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(
>>>>>>>>>>> R
>>>>>>>>>>> equ
>>>>>>>>>>> es
>>>>>>>>>>> t
>>>>>>>>>>> S
>>>>>>>>>>> cope.java:317) at
>>>>>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>>>>>>>> 3
>>>>>>>>>>> 05) at
>>>>>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(Applicat
>>>>>>>>>>> i
>>>>>>>>>>> onH
>>>>>>>>>>> an
>>>>>>>>>>> d
>>>>>>>>>>> l
>>>>>>>>>>> er.java:1154) at
>>>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebCompo
>>>>>>>>>>> n
>>>>>>>>>>> ent
>>>>>>>>>>> .j
>>>>>>>>>>> a
>>>>>>>>>>> v
>>>>>>>>>>> a:473) at
>>>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>>>>>> 4
>>>>>>>>>>> 2
>>>>>>>>>>> 7) at
>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>> o
>>>>>>>>>>> nta
>>>>>>>>>>> in
>>>>>>>>>>> e
>>>>>>>>>>> r
>>>>>>>>>>> .java:388) at
>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>> o
>>>>>>>>>>> nta
>>>>>>>>>>> in
>>>>>>>>>>> e
>>>>>>>>>>> r
>>>>>>>>>>> .java:341) at
>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>> o
>>>>>>>>>>> nta
>>>>>>>>>>> in
>>>>>>>>>>> e
>>>>>>>>>>> r
>>>>>>>>>>> .java:228) at
>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>>>>>>>> 84
>>>>>>>>>>> 8
>>>>>>>>>>> )
>>>>>>>>>>> at
>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>> S
>>>>>>>>>>> erv
>>>>>>>>>>> le
>>>>>>>>>>> t
>>>>>>>>>>> H
>>>>>>>>>>> andler.java:1780) at
>>>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFi
>>>>>>>>>>> l
>>>>>>>>>>> ter
>>>>>>>>>>> (C
>>>>>>>>>>> s
>>>>>>>>>>> r
>>>>>>>>>>> fTokenValidateFilter.java:55) at
>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>> S
>>>>>>>>>>> erv
>>>>>>>>>>> le
>>>>>>>>>>> t
>>>>>>>>>>> H
>>>>>>>>>>> andler.java:1767) at
>>>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilt
>>>>>>>>>>> e
>>>>>>>>>>> r(C
>>>>>>>>>>> sr
>>>>>>>>>>> f
>>>>>>>>>>> T
>>>>>>>>>>> okenInjectFilter.java:54) at
>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>> S
>>>>>>>>>>> erv
>>>>>>>>>>> le
>>>>>>>>>>> t
>>>>>>>>>>> H
>>>>>>>>>>> andler.java:1767) at
>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>>>>>>>> 583) at
>>>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(Sessi
>>>>>>>>>>> o
>>>>>>>>>>> nHa
>>>>>>>>>>> nd
>>>>>>>>>>> l
>>>>>>>>>>> e
>>>>>>>>>>> r.java:224) at
>>>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(Conte
>>>>>>>>>>> x
>>>>>>>>>>> tHa
>>>>>>>>>>> nd
>>>>>>>>>>> l
>>>>>>>>>>> e
>>>>>>>>>>> r.java:1180) at
>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>>>>>>>> 5
>>>>>>>>>>> 13) at
>>>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(Sessio
>>>>>>>>>>> n
>>>>>>>>>>> Han
>>>>>>>>>>> dl
>>>>>>>>>>> e
>>>>>>>>>>> r
>>>>>>>>>>> .java:185) at
>>>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(Contex
>>>>>>>>>>> t
>>>>>>>>>>> Han
>>>>>>>>>>> dl
>>>>>>>>>>> e
>>>>>>>>>>> r
>>>>>>>>>>> .java:1112) at
>>>>>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>>>>>> j
>>>>>>>>>>> a
>>>>>>>>>>> va:141) at
>>>>>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>>>>>>>> java:134) at
>>>>>>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>>>>>>> at
>>>>>>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:3
>>>>>>>>>>> 3
>>>>>>>>>>> 3)
>>>>>>>>>>> at
>>>>>>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>>>>>>>> ja
>>>>>>>>>>> v
>>>>>>>>>>> a
>>>>>>>>>>> :251) at
>>>>>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded
>>>>>>>>>>> (
>>>>>>>>>>> Abs
>>>>>>>>>>> tr
>>>>>>>>>>> a
>>>>>>>>>>> c
>>>>>>>>>>> tConnection.java:283) at
>>>>>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:1
>>>>>>>>>>> 0
>>>>>>>>>>> 8)
>>>>>>>>>>> at
>>>>>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannel
>>>>>>>>>>> E
>>>>>>>>>>> ndP
>>>>>>>>>>> oi
>>>>>>>>>>> n
>>>>>>>>>>> t
>>>>>>>>>>> .java:93) at
>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.e
>>>>>>>>>>> x
>>>>>>>>>>> ecu
>>>>>>>>>>> te
>>>>>>>>>>> P
>>>>>>>>>>> r
>>>>>>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>>>>>>>> at
>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.p
>>>>>>>>>>> r
>>>>>>>>>>> odu
>>>>>>>>>>> ce
>>>>>>>>>>> C
>>>>>>>>>>> o
>>>>>>>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>>>>>>>> at
>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.r
>>>>>>>>>>> u
>>>>>>>>>>> n(E
>>>>>>>>>>> xe
>>>>>>>>>>> c
>>>>>>>>>>> u
>>>>>>>>>>> teProduceConsume.java:136) at
>>>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedTh
>>>>>>>>>>> r
>>>>>>>>>>> ead
>>>>>>>>>>> Po
>>>>>>>>>>> o
>>>>>>>>>>> l
>>>>>>>>>>> .java:671) at
>>>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>>>>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>>>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>>>>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>>>>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
>>>>>>>>>>> ja
>>>>>>>>>>> v
>>>>>>>>>>> a
>>>>>>>>>>> :78) at
>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelCon
>>>>>>>>>>> v
>>>>>>>>>>> ert
>>>>>>>>>>> er
>>>>>>>>>>> R
>>>>>>>>>>> u
>>>>>>>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcCo
>>>>>>>>>>> n
>>>>>>>>>>> ven
>>>>>>>>>>> ti
>>>>>>>>>>> o
>>>>>>>>>>> n
>>>>>>>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(Jdbc
>>>>>>>>>>> S
>>>>>>>>>>> tor
>>>>>>>>>>> ag
>>>>>>>>>>> e
>>>>>>>>>>> P
>>>>>>>>>>> lugin.java:103) at
>>>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>>>> e
>>>>>>>>>>> wIn
>>>>>>>>>>> st
>>>>>>>>>>> a
>>>>>>>>>>> n
>>>>>>>>>>> ce0(Native Method) at
>>>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>>>> e
>>>>>>>>>>> wIn
>>>>>>>>>>> st
>>>>>>>>>>> a
>>>>>>>>>>> n
>>>>>>>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>>>>>>>> at
>>>>>>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorIm
>>>>>>>>>>> p
>>>>>>>>>>> l.n
>>>>>>>>>>> ew
>>>>>>>>>>> I
>>>>>>>>>>> n
>>>>>>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>>>>>>>> at
>>>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(
>>>>>>>>>>> C
>>>>>>>>>>> ons
>>>>>>>>>>> tr
>>>>>>>>>>> u
>>>>>>>>>>> c
>>>>>>>>>>> tor.java:500) at
>>>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>>>>>>>> 4
>>>>>>>>>>> 81) at
>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>>>> t
>>>>>>>>>>> ora
>>>>>>>>>>> ge
>>>>>>>>>>> P
>>>>>>>>>>> l
>>>>>>>>>>> uginRegistryImpl.java:528)
>>>>>>>>>>> ... 56 common frames omitted
>>>>>>>>>>>
>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>>>
>>>>>>>>>>> One more thing...
>>>>>>>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>>>>>>>> Thanks,
>>>>>>>>>>> -- C
>>>>>>>>>>>
>>>>>>>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> Hi Chris,
>>>>>>>>>>>>
>>>>>>>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>>>>>>>>
>>>>>>>>>>>> You're right you might be onto something if you get the
>>>>>>>>>>>> password failed message. Can you post the exact text (JSON)
>>>>>>>>>>>> of the storage plugin config?
>>>>>>>>>>>>
>>>>>>>>>>>> -Rafael
>>>>>>>>>>>>
>>>>>>>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>>>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Hey Everyone,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Christopher Kane
>>>>>>>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>>>>>>>> com>,
>>>>>>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>>>>>>>> c
>>>>>>>>>>>>> o
>>>>>>>>>>>>> m>,
>>>>>>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fise
>>>>>>>>>>>>> m>r
>>>>>>>>>>>>> m>v.c
>>>>>>>>>>>>> m>om
>>>>>>>>>>>>> m>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>>>
>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>>
>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>
>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>
>>>>>
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>
>>>
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>
>>
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

RE: Initial Oracle Setup

Posted by Christopher Kane <ch...@cardconnect.com.INVALID>.
Ah okay, that makes a lot of sense now. I will look into what you and Ted have suggested about a materialized view, I guess I just might have to do that for the time being to test my POC further. I'll let you know if I run into any issues with that, thanks again I appreciate all of your help 😊! If you guys develop a fix for that and need someone to test it, let me know and I'd be happy to do that for you!

-Chris

-----Original Message-----
From: Charles Givre <cg...@gmail.com>
Sent: Wednesday, June 24, 2020 10:14 PM
To: user@drill.apache.org
Subject: Re: Initial Oracle Setup

That actually explains a lot... While Drill has a timestamp data type, Drill does not have a timezone with tz data type.   Ted Dunning made a suggestion that would likely fix the issue and that is can you create a materialized view of your merchant table (on the Oracle DB) that doesn't have this data type?  (Like CAST it to a regular TIMESTAMP)  Drill should be able to query that.
The long term fix is to figure out how to get Drill to deal with unknown data types from JDBC sources, but in the interim, a materialized view might do the trick.
Best,
-- C




> On Jun 24, 2020, at 6:10 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>
> I KNEW IT! My initial hunch was correct.. when I listed all of the data types used by Oracle I initially said I had a feeling that TIMESTAMP(6) WITH TIME ZONE was probably the one that was causing an issue. I added each data type as a new column one by one, and the one that finally threw the error was TIMESTAMP(6) WITH TIME ZONE. So because the BIZ schema has tables with TIMESTAMP(6) WITH TIME ZONE as the data type, that's probably while it's failing. Now I am curious though if there is any other column this could be occurring with, but at least for right now we know that TIMESTAMP(6) WITH TIME ZONE is causing an issue, I can't speak for other data types that might not have been present in the merchant table but I can't imagine the other tables would really be all that different.
>
> -Chris
>
> -----Original Message-----
> From: Christopher Kane <ch...@cardconnect.com.INVALID>
> Sent: Wednesday, June 24, 2020 5:34 PM
> To: user@drill.apache.org
> Subject: RE: Initial Oracle Setup
>
> Ayyyy!!! That worked! I did the following: CREATE TABLE CKANE.TEST (column_1 INT, column_2 VARCHAR(50));
>
> Then I did select * from CKANE.TEST where column_1=1 and it returned what was expected, column_1 which contained the value of 1 and column_2 which contained the value of test.
>
> As far as telling Oracle to convert it to something different, if that's a database management level change I can't really go that route since I'm unable to change the configuration of Oracle for a POC like this, I kind of have to get it working with the current constraints.
>
> What would be the next data types you'd suggest we try? I listed the data types previously but they are: NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE, so should I start adding a column for each of those until I get the message Unknown SQL Type -101 like before?
>
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Wednesday, June 24, 2020 5:25 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
>
> Hi Chris,
> You’re correct…
> Maybe if you can create a simple table with an INT and a VARCHAR column and get Drill to query that. (It should). If that works, let’s try other data types and see what works and what doesn’t.   I’m also wondering if there is some way of telling Oracle to convert the BINARY DOUBLE to some other data type that can be read.  I don’t know enough about Oracle though…
> — C
>
>
>> On Jun 24, 2020, at 5:20 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>
>> You know Charles, I think you're right on the money there. Considering what we've tested at this point, I think you're right. So I would like to prove that hypothesis for you, so to confirm do I need to find a schema with tables that do not have a binary double? I might be able to create a table under my personal oracle schema which shouldn't have anything in there currently. We should agree on the SQL used to create the table so we are on the same page before that though.
>>
>> In my opinion, that sounds like a good thing to do. If my POC works as I am hoping it will, I am hoping that Apache Drill proves to be a useful tool in attempting "end to end" test automation entirely from Postman, since Oracle does not natively provide an API to query. It would be really cool if the idea I have in my head plays out as I'm thinking it will, and I would love for the solution to be used by other people (if it works) which would require Drill to be updated to allow for this to work with Oracle.
>>
>> -Chris
>>
>> -----Original Message-----
>> From: Charles Givre <cg...@gmail.com>
>> Sent: Wednesday, June 24, 2020 5:13 PM
>> To: user@drill.apache.org
>> Subject: Re: Initial Oracle Setup
>>
>> I think the issue is that Drill is receiving a schema from Oracle that is including a binary double column.  At that point, Drill has no idea how to handle that so you get the validation error.  I’d like to prove this hypothesis by successfully querying a table that does not have a binary double (or other unrecognizable column) and getting Drill to successfully read the results.
>>
>> My other thought is that it might be possible to do something with this via the JDBC config.  Sometimes databases have configuration options which can be passed when you connect, and if Oracle has such options, we might be able to fix this in the connection string.  My gut is telling me at this point that we’re going to have to fix this in Drill by adding some code that basically says if the type is unknown, read the data as a string or something like that.
>> — C
>>
>>
>>> On Jun 24, 2020, at 5:02 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>
>>> Alright so following that logic of Data Type 101 being a binary double, I did the following:
>>> select CAST(merchant_id AS DOUBLE) from biz.merchant where
>>> merchant_id=85616270
>>>
>>> That unfortunately still results in the unknown sql type -101 error. I did want to say that I was able to go onto the CLI and have it list out all the schemas and tables it could find and what it listed was correct so at least we know we are connected to what we should be.
>>>
>>> -----Original Message-----
>>> From: Charles Givre <cg...@gmail.com>
>>> Sent: Wednesday, June 24, 2020 4:55 PM
>>> To: user@drill.apache.org
>>> Subject: Re: Initial Oracle Setup
>>>
>>> I looked this up… SQL Data Type 101 is a binary double.
>>>
>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_d
>>> atabase_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mhB
>>> YFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9K
>>> _mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRFs
>>> hIVqbqiRRDh2qs&e=
>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_
>>> database_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mh
>>> BYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9
>>> K_mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRF
>>> shIVqbqiRRDh2qs&e= >
>>>
>>>
>>>
>>>
>>>> On Jun 24, 2020, at 4:52 PM, Charles Givre <cg...@gmail.com> wrote:
>>>>
>>>> Some more questions…
>>>> 1.  Are there other tables you can query?  I want to see if we can at
>>>> least get something to work ;-) (Although we can read the schema via SHOW TABLES) 2.  Can you try the following query:
>>>> SELECT CAST(<some field> AS INT)
>>>> FROM merchant….  Basically I’m wondering if we force Drill to map the field to a type, if we can get it to read the data.
>>>>
>>>>
>>>>
>>>>> On Jun 24, 2020, at 4:44 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>
>>>>> Hey Charles,
>>>>>
>>>>> I ran a couple of different queries selecting only a single column from the table and it seems multiple columns are all giving me the same unknown sql type -101 error.
>>>>> The stacktrace also appears to be the same per column, so to me it appears that the issue is maybe with the format of the data itself coming from Oracle, I'm not too sure at this point.
>>>>>
>>>>> -Chris
>>>>>
>>>>> -----Original Message-----
>>>>> From: Charles Givre <cg...@gmail.com>
>>>>> Sent: Wednesday, June 24, 2020 3:30 PM
>>>>> To: user <us...@drill.apache.org>
>>>>> Subject: Re: Initial Oracle Setup
>>>>>
>>>>> Hey Christopher,
>>>>> Can you run a query with individual columns so we can see which column is causing the issue?
>>>>> Thx,
>>>>> --C
>>>>>
>>>>>
>>>>>
>>>>>> On Jun 23, 2020, at 5:25 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>
>>>>>> Rafael
>>>>>> -Okay so doing "show schemas;" (I didn't include the semicolon before) resulted in all of the schemas I was expecting to see be listed, so it's awesome that Drill was actually able to make the connection. So I do think my issue might be with the data types of the columns in the table I'm trying to query.
>>>>>>
>>>>>> Charles
>>>>>> -here are the data types on the table "merchant": NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE.
>>>>>> -if I had to take a guess, I would bet money that the problem child here is the timestamp data type.
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>> Sent: Tuesday, June 23, 2020 5:19 PM
>>>>>> To: user@drill.apache.org
>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>
>>>>>> Rafael
>>>>>> -I am running this in embedded mode on my Windows Laptop and I believe I have access to the shell but I'm not too familiar with the syntax so I'll have to look that up and I'll let you know what I get.
>>>>>>
>>>>>> Charles
>>>>>> -I'm glad you were able to find something about that error because I was having a tough time finding something related to it. I actually thought something similar and actually changed my query to only return the merchant_id of the merchant because I thought maybe there was a column that Drill didn't know how to handle. I will take a look at the stackoverflow link that you sent me and will let you know what I come up with.
>>>>>> -Here is the stacktrace for the VALIDATION ERROR:
>>>>>> 2020-06-23 17:15:56,017 [qtp409347742-245] ERROR
>>>>>> o.a.d.e.server.rest.QueryResources - Query from Web UI Failed: {}
>>>>>> org.apache.drill.common.exceptions.UserRemoteException: VALIDATION
>>>>>> ERROR: Unknown SQL type -101
>>>>>>
>>>>>>
>>>>>> [Error Id: def7533c-bb11-48da-b770-28c6730a1799 ] at
>>>>>> org.apache.drill.exec.server.rest.RestQueryRunner.submitQuery(RestQ
>>>>>> u
>>>>>> eryRunner.java:181) at
>>>>>> org.apache.drill.exec.server.rest.RestQueryRunner.run(RestQueryRunn
>>>>>> e
>>>>>> r.java:70) at
>>>>>> org.apache.drill.exec.server.rest.QueryResources.submitQueryJSON(Qu
>>>>>> e
>>>>>> ryResources.java:96) at
>>>>>> org.apache.drill.exec.server.rest.QueryResources.submitQuery(QueryR
>>>>>> e
>>>>>> sources.java:114) at
>>>>>> jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown
>>>>>> Source) at
>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(
>>>>>> D
>>>>>> elegatingMethodAccessorImpl.java:43)
>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>> at
>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocation
>>>>>> H
>>>>>> andlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:
>>>>>> 8
>>>>>> 1) at
>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>> o
>>>>>> dDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>> at
>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>> o
>>>>>> dDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>>>> at
>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispat
>>>>>> c
>>>>>> herProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherP
>>>>>> r
>>>>>> ovider.java:205) at
>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>> o
>>>>>> dDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>>>>> at
>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Reso
>>>>>> u
>>>>>> rceMethodInvoker.java:389) at
>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>>>> r
>>>>>> ceMethodInvoker.java:347) at
>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>>>> r
>>>>>> ceMethodInvoker.java:102) at
>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:
>>>>>> 3
>>>>>> 26) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>> at
>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Reque
>>>>>> s
>>>>>> tScope.java:317) at
>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.jav
>>>>>> a
>>>>>> :305) at
>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHa
>>>>>> n
>>>>>> dler.java:1154) at
>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.
>>>>>> j
>>>>>> ava:473) at
>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>> 427) at
>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>> n
>>>>>> er.java:388) at
>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>> n
>>>>>> er.java:341) at
>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>> n
>>>>>> er.java:228) at
>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:8
>>>>>> 4
>>>>>> 8) at
>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>> e
>>>>>> tHandler.java:1780) at
>>>>>> org.apache.drill.exec.server.rest.header.ResponseHeadersSettingFilt
>>>>>> e
>>>>>> r.doFilter(ResponseHeadersSettingFilter.java:71)
>>>>>> at
>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>> e
>>>>>> tHandler.java:1767) at
>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(
>>>>>> C
>>>>>> srfTokenValidateFilter.java:55) at
>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>> e
>>>>>> tHandler.java:1767) at
>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(Cs
>>>>>> r
>>>>>> fTokenInjectFilter.java:54) at
>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>> e
>>>>>> tHandler.java:1767) at
>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.ja
>>>>>> v
>>>>>> a:583) at
>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHan
>>>>>> d
>>>>>> ler.java:224) at
>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHan
>>>>>> d
>>>>>> ler.java:1180) at
>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.jav
>>>>>> a
>>>>>> :513) at
>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHand
>>>>>> l
>>>>>> er.java:185) at
>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHand
>>>>>> l
>>>>>> er.java:1112) at
>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>> java:141) at
>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapp
>>>>>> e
>>>>>> r.java:134) at
>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>> at
>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>>>>> at
>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.j
>>>>>> a
>>>>>> va:251) at
>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abst
>>>>>> r
>>>>>> actConnection.java:283) at
>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>>>>> at
>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPo
>>>>>> i
>>>>>> nt.java:93) at
>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execut
>>>>>> e
>>>>>> ProduceConsume(ExecuteProduceConsume.java:303)
>>>>>> at
>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produc
>>>>>> e
>>>>>> Consume(ExecuteProduceConsume.java:148)
>>>>>> at
>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Ex
>>>>>> e
>>>>>> cuteProduceConsume.java:136) at
>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadP
>>>>>> o
>>>>>> ol.java:671) at
>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPo
>>>>>> o
>>>>>> l.java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>> Caused by: java.lang.IllegalArgumentException: Unknown SQL type
>>>>>> -101 at
>>>>>> org.apache.calcite.avatica.SqlType.valueOf(SqlType.java:383)
>>>>>> at
>>>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>>>> a
>>>>>> .java:385) at
>>>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>>>> a
>>>>>> .java:362) at
>>>>>> org.apache.calcite.adapter.jdbc.JdbcTable.getRowType(JdbcTable.java:
>>>>>> 117) at
>>>>>> org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:
>>>>>> 159) at
>>>>>> org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.
>>>>>> j
>>>>>> ava:99) at
>>>>>> org.apache.calcite.sql.validate.DelegatingScope.resolveTable(Delega
>>>>>> t
>>>>>> ingScope.java:203) at
>>>>>> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(Ide
>>>>>> n
>>>>>> tifierNamespace.java:105) at
>>>>>> org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(Id
>>>>>> e
>>>>>> ntifierNamespace.java:177) at
>>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>>>> N
>>>>>> amespace.java:84) at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>>>> S
>>>>>> qlValidatorImpl.java:1009) at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>>>> a
>>>>>> lidatorImpl.java:969) at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>>>> l
>>>>>> idatorImpl.java:3129) at
>>>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>>>> e
>>>>>> From(DrillValidator.java:63) at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>>>> l
>>>>>> idatorImpl.java:3111) at
>>>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>>>> e
>>>>>> From(DrillValidator.java:63) at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(Sql
>>>>>> V
>>>>>> alidatorImpl.java:3383) at
>>>>>> org.apache.calcite.sql.validate.SelectNamespace.validateImpl(Select
>>>>>> N
>>>>>> amespace.java:60) at
>>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>>>> N
>>>>>> amespace.java:84) at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>>>> S
>>>>>> qlValidatorImpl.java:1009) at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>>>> a
>>>>>> lidatorImpl.java:969) at
>>>>>> org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:216)
>>>>>> at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpr
>>>>>> e
>>>>>> ssion(SqlValidatorImpl.java:944) at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValida
>>>>>> t
>>>>>> orImpl.java:651) at
>>>>>> org.apache.drill.exec.planner.sql.conversion.SqlConverter.validate(
>>>>>> S
>>>>>> qlConverter.java:189) at
>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>>>> t
>>>>>> eNode(DefaultSqlHandler.java:641) at
>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>>>> t
>>>>>> eAndConvert(DefaultSqlHandler.java:195)
>>>>>> at
>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPla
>>>>>> n
>>>>>> (DefaultSqlHandler.java:169) at
>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(Drill
>>>>>> S
>>>>>> qlWorker.java:283) at
>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan(Dr
>>>>>> i
>>>>>> llSqlWorker.java:163) at
>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillS
>>>>>> q
>>>>>> lWorker.java:128) at
>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWo
>>>>>> r
>>>>>> ker.java:93) at
>>>>>> org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:593)
>>>>>> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:274)
>>>>>> at .......(:0)
>>>>>>
>>>>>>
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>> Sent: Tuesday, June 23, 2020 4:35 PM
>>>>>> To: user@drill.apache.org
>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>
>>>>>> One more thing...
>>>>>>
>>>>>> Could you run the query that is producing the VALIDATION ERROR and send the full stack trace?  I'm thinking that can be fixed on the Drill end of things, at least until Calcite fixes that.
>>>>>> -- C
>>>>>>
>>>>>>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>
>>>>>>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
>>>>>>>
>>>>>>> I think the only thing I'm having an issue with now I think is
>>>>>>> related to this:
>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.
>>>>>>> org
>>>>>>> _jira_browse_CALCITE-2D3533&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BY
>>>>>>> R
>>>>>>> bCB
>>>>>>> lPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=g39OzDxVVrucBo3nnaZNaIqoh9
>>>>>>> S ZZi
>>>>>>> dthZ3H6QSOkWE&s=oVohCx-25EZLkSVY7yEV1FtFZ-nNDTnGvek4Sx67nYc&e=
>>>>>>>
>>>>>>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Rafael Jaimes III <ra...@gmail.com>
>>>>>>> Sent: Tuesday, June 23, 2020 3:43 PM
>>>>>>> To: user@drill.apache.org
>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>
>>>>>>> Glad you got it working with the new version regardless!
>>>>>>>
>>>>>>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>
>>>>>>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>>>> Sent: Tuesday, June 23, 2020 3:31 PM
>>>>>>>> To: user@drill.apache.org
>>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>>
>>>>>>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>> Sent: Tuesday, June 23, 2020 3:23 PM
>>>>>>>> To: user <us...@drill.apache.org>
>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>
>>>>>>>> It hasn't been released yet, so you'd have to d/l from github
>>>>>>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>> a
>>>>>>>> pac
>>>>>>>> h
>>>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>>>> l
>>>>>>>> lmV
>>>>>>>> q
>>>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>>>> =
>>>>>>>> C8v
>>>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>> a
>>>>>>>> pac
>>>>>>>> h
>>>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>>>> l
>>>>>>>> lmV
>>>>>>>> q
>>>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>>>> =
>>>>>>>> C8v
>>>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from
>>>>>>>> source.
>>>>>>>> If you can't do that, I have a pre-release here:
>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_c
>>>>>>>> g
>>>>>>>> ivr
>>>>>>>> e
>>>>>>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7W
>>>>>>>> I
>>>>>>>> 0-D
>>>>>>>> P
>>>>>>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZS
>>>>>>>> N
>>>>>>>> loM
>>>>>>>> 5
>>>>>>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-
>>>>>>>> q
>>>>>>>> XY0
>>>>>>>> &
>>>>>>>> e=
>>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>> c
>>>>>>>> giv
>>>>>>>> r
>>>>>>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7
>>>>>>>> W
>>>>>>>> I0-
>>>>>>>> D
>>>>>>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZ
>>>>>>>> S
>>>>>>>> Nlo
>>>>>>>> M
>>>>>>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H
>>>>>>>> -
>>>>>>>> qXY
>>>>>>>> 0
>>>>>>>> &e= >
>>>>>>>>
>>>>>>>>
>>>>>>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>
>>>>>>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>>>>>>>>
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Christopher Kane
>>>>>>>>> <ch...@cardconnect.com.INVALID>
>>>>>>>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>>>>>>>> To: user@drill.apache.org
>>>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>>>
>>>>>>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>>>>>>>>
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>>>>>>>> To: user@drill.apache.org
>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>
>>>>>>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>>>>>>>>
>>>>>>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>>
>>>>>>>>>> On both the directory of drill and on startup I am running
>>>>>>>>>> Apache Drill 1.17.0
>>>>>>>>>>
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> From: Charles Givre <cgivre@gmail.com
>>>>>>>>>> <ma...@gmail.com>>
>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>>>>>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>>
>>>>>>>>>> One more question.. what version of Drill are you using?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>>>
>>>>>>>>>>> Rafael
>>>>>>>>>>> -I did place it in the jars/3rdparty folder.
>>>>>>>>>>>
>>>>>>>>>>> Storage Plugin Config:
>>>>>>>>>>> {
>>>>>>>>>>> "type": "jdbc",
>>>>>>>>>>> "enabled": true,
>>>>>>>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>>>>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>>>>>>>> }
>>>>>>>>>>> (it's been modified to remove sensitive information)
>>>>>>>>>>>
>>>>>>>>>>> Charles
>>>>>>>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>>>>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>>>>>>>>
>>>>>>>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>>>>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/
>>>>>>>>>>> update
>>>>>>>>>>> plugin: QA2 Oracle
>>>>>>>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
>>>>>>>>>>> Failure setting up new storage plugin configuration for config
>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>>>> t
>>>>>>>>>>> ora
>>>>>>>>>>> ge
>>>>>>>>>>> P
>>>>>>>>>>> l
>>>>>>>>>>> uginRegistryImpl.java:536) at
>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOr
>>>>>>>>>>> U
>>>>>>>>>>> pda
>>>>>>>>>>> te
>>>>>>>>>>> (
>>>>>>>>>>> S
>>>>>>>>>>> toragePluginRegistryImpl.java:132)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOr
>>>>>>>>>>> U
>>>>>>>>>>> pda
>>>>>>>>>>> te
>>>>>>>>>>> I
>>>>>>>>>>> n
>>>>>>>>>>> Storage(PluginConfigWrapper.java:56)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>>>> a
>>>>>>>>>>> teP
>>>>>>>>>>> lu
>>>>>>>>>>> g
>>>>>>>>>>> i
>>>>>>>>>>> nJSON(StorageResources.java:212) at
>>>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>>>> a
>>>>>>>>>>> teP
>>>>>>>>>>> lu
>>>>>>>>>>> g
>>>>>>>>>>> i
>>>>>>>>>>> n(StorageResources.java:233) at
>>>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>>>> 0
>>>>>>>>>>> (Na
>>>>>>>>>>> ti
>>>>>>>>>>> v
>>>>>>>>>>> e
>>>>>>>>>>> Method) at
>>>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>>>> (
>>>>>>>>>>> Nat
>>>>>>>>>>> iv
>>>>>>>>>>> e
>>>>>>>>>>> M
>>>>>>>>>>> ethodAccessorImpl.java:62) at
>>>>>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.in
>>>>>>>>>>> v
>>>>>>>>>>> oke
>>>>>>>>>>> (D
>>>>>>>>>>> e
>>>>>>>>>>> l
>>>>>>>>>>> egatingMethodAccessorImpl.java:43)
>>>>>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvoc
>>>>>>>>>>> a
>>>>>>>>>>> tio
>>>>>>>>>>> nH
>>>>>>>>>>> a
>>>>>>>>>>> n
>>>>>>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.ja
>>>>>>>>>>> v
>>>>>>>>>>> a:8
>>>>>>>>>>> 1)
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>> e
>>>>>>>>>>> Met
>>>>>>>>>>> ho
>>>>>>>>>>> d
>>>>>>>>>>> D
>>>>>>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>> e
>>>>>>>>>>> Met
>>>>>>>>>>> ho
>>>>>>>>>>> d
>>>>>>>>>>> D
>>>>>>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161
>>>>>>>>>>> )
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodD
>>>>>>>>>>> i
>>>>>>>>>>> spa
>>>>>>>>>>> tc
>>>>>>>>>>> h
>>>>>>>>>>> e
>>>>>>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatch
>>>>>>>>>>> e
>>>>>>>>>>> rPr
>>>>>>>>>>> ov
>>>>>>>>>>> i
>>>>>>>>>>> d
>>>>>>>>>>> er.java:205) at
>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>> e
>>>>>>>>>>> Met
>>>>>>>>>>> ho
>>>>>>>>>>> d
>>>>>>>>>>> D
>>>>>>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:9
>>>>>>>>>>> 9
>>>>>>>>>>> )
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke
>>>>>>>>>>> (
>>>>>>>>>>> Res
>>>>>>>>>>> ou
>>>>>>>>>>> r
>>>>>>>>>>> c
>>>>>>>>>>> eMethodInvoker.java:389) at
>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>>>> R
>>>>>>>>>>> eso
>>>>>>>>>>> ur
>>>>>>>>>>> c
>>>>>>>>>>> e
>>>>>>>>>>> MethodInvoker.java:347) at
>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>>>> R
>>>>>>>>>>> eso
>>>>>>>>>>> ur
>>>>>>>>>>> c
>>>>>>>>>>> e
>>>>>>>>>>> MethodInvoker.java:102) at
>>>>>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.
>>>>>>>>>>> j
>>>>>>>>>>> ava
>>>>>>>>>>> :3
>>>>>>>>>>> 2
>>>>>>>>>>> 6
>>>>>>>>>>> ) at
>>>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(
>>>>>>>>>>> R
>>>>>>>>>>> equ
>>>>>>>>>>> es
>>>>>>>>>>> t
>>>>>>>>>>> S
>>>>>>>>>>> cope.java:317) at
>>>>>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>>>>>>>> 3
>>>>>>>>>>> 05) at
>>>>>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(Applicat
>>>>>>>>>>> i
>>>>>>>>>>> onH
>>>>>>>>>>> an
>>>>>>>>>>> d
>>>>>>>>>>> l
>>>>>>>>>>> er.java:1154) at
>>>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebCompo
>>>>>>>>>>> n
>>>>>>>>>>> ent
>>>>>>>>>>> .j
>>>>>>>>>>> a
>>>>>>>>>>> v
>>>>>>>>>>> a:473) at
>>>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>>>>>> 4
>>>>>>>>>>> 2
>>>>>>>>>>> 7) at
>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>> o
>>>>>>>>>>> nta
>>>>>>>>>>> in
>>>>>>>>>>> e
>>>>>>>>>>> r
>>>>>>>>>>> .java:388) at
>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>> o
>>>>>>>>>>> nta
>>>>>>>>>>> in
>>>>>>>>>>> e
>>>>>>>>>>> r
>>>>>>>>>>> .java:341) at
>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>> o
>>>>>>>>>>> nta
>>>>>>>>>>> in
>>>>>>>>>>> e
>>>>>>>>>>> r
>>>>>>>>>>> .java:228) at
>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>>>>>>>> 84
>>>>>>>>>>> 8
>>>>>>>>>>> )
>>>>>>>>>>> at
>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>> S
>>>>>>>>>>> erv
>>>>>>>>>>> le
>>>>>>>>>>> t
>>>>>>>>>>> H
>>>>>>>>>>> andler.java:1780) at
>>>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFi
>>>>>>>>>>> l
>>>>>>>>>>> ter
>>>>>>>>>>> (C
>>>>>>>>>>> s
>>>>>>>>>>> r
>>>>>>>>>>> fTokenValidateFilter.java:55) at
>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>> S
>>>>>>>>>>> erv
>>>>>>>>>>> le
>>>>>>>>>>> t
>>>>>>>>>>> H
>>>>>>>>>>> andler.java:1767) at
>>>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilt
>>>>>>>>>>> e
>>>>>>>>>>> r(C
>>>>>>>>>>> sr
>>>>>>>>>>> f
>>>>>>>>>>> T
>>>>>>>>>>> okenInjectFilter.java:54) at
>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>> S
>>>>>>>>>>> erv
>>>>>>>>>>> le
>>>>>>>>>>> t
>>>>>>>>>>> H
>>>>>>>>>>> andler.java:1767) at
>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>>>>>>>> 583) at
>>>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(Sessi
>>>>>>>>>>> o
>>>>>>>>>>> nHa
>>>>>>>>>>> nd
>>>>>>>>>>> l
>>>>>>>>>>> e
>>>>>>>>>>> r.java:224) at
>>>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(Conte
>>>>>>>>>>> x
>>>>>>>>>>> tHa
>>>>>>>>>>> nd
>>>>>>>>>>> l
>>>>>>>>>>> e
>>>>>>>>>>> r.java:1180) at
>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>>>>>>>> 5
>>>>>>>>>>> 13) at
>>>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(Sessio
>>>>>>>>>>> n
>>>>>>>>>>> Han
>>>>>>>>>>> dl
>>>>>>>>>>> e
>>>>>>>>>>> r
>>>>>>>>>>> .java:185) at
>>>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(Contex
>>>>>>>>>>> t
>>>>>>>>>>> Han
>>>>>>>>>>> dl
>>>>>>>>>>> e
>>>>>>>>>>> r
>>>>>>>>>>> .java:1112) at
>>>>>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>>>>>> j
>>>>>>>>>>> a
>>>>>>>>>>> va:141) at
>>>>>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>>>>>>>> java:134) at
>>>>>>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>>>>>>> at
>>>>>>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:3
>>>>>>>>>>> 3
>>>>>>>>>>> 3)
>>>>>>>>>>> at
>>>>>>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>>>>>>>> ja
>>>>>>>>>>> v
>>>>>>>>>>> a
>>>>>>>>>>> :251) at
>>>>>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded
>>>>>>>>>>> (
>>>>>>>>>>> Abs
>>>>>>>>>>> tr
>>>>>>>>>>> a
>>>>>>>>>>> c
>>>>>>>>>>> tConnection.java:283) at
>>>>>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:1
>>>>>>>>>>> 0
>>>>>>>>>>> 8)
>>>>>>>>>>> at
>>>>>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannel
>>>>>>>>>>> E
>>>>>>>>>>> ndP
>>>>>>>>>>> oi
>>>>>>>>>>> n
>>>>>>>>>>> t
>>>>>>>>>>> .java:93) at
>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.e
>>>>>>>>>>> x
>>>>>>>>>>> ecu
>>>>>>>>>>> te
>>>>>>>>>>> P
>>>>>>>>>>> r
>>>>>>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>>>>>>>> at
>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.p
>>>>>>>>>>> r
>>>>>>>>>>> odu
>>>>>>>>>>> ce
>>>>>>>>>>> C
>>>>>>>>>>> o
>>>>>>>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>>>>>>>> at
>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.r
>>>>>>>>>>> u
>>>>>>>>>>> n(E
>>>>>>>>>>> xe
>>>>>>>>>>> c
>>>>>>>>>>> u
>>>>>>>>>>> teProduceConsume.java:136) at
>>>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedTh
>>>>>>>>>>> r
>>>>>>>>>>> ead
>>>>>>>>>>> Po
>>>>>>>>>>> o
>>>>>>>>>>> l
>>>>>>>>>>> .java:671) at
>>>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>>>>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>>>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>>>>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>>>>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
>>>>>>>>>>> ja
>>>>>>>>>>> v
>>>>>>>>>>> a
>>>>>>>>>>> :78) at
>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelCon
>>>>>>>>>>> v
>>>>>>>>>>> ert
>>>>>>>>>>> er
>>>>>>>>>>> R
>>>>>>>>>>> u
>>>>>>>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcCo
>>>>>>>>>>> n
>>>>>>>>>>> ven
>>>>>>>>>>> ti
>>>>>>>>>>> o
>>>>>>>>>>> n
>>>>>>>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(Jdbc
>>>>>>>>>>> S
>>>>>>>>>>> tor
>>>>>>>>>>> ag
>>>>>>>>>>> e
>>>>>>>>>>> P
>>>>>>>>>>> lugin.java:103) at
>>>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>>>> e
>>>>>>>>>>> wIn
>>>>>>>>>>> st
>>>>>>>>>>> a
>>>>>>>>>>> n
>>>>>>>>>>> ce0(Native Method) at
>>>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>>>> e
>>>>>>>>>>> wIn
>>>>>>>>>>> st
>>>>>>>>>>> a
>>>>>>>>>>> n
>>>>>>>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>>>>>>>> at
>>>>>>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorIm
>>>>>>>>>>> p
>>>>>>>>>>> l.n
>>>>>>>>>>> ew
>>>>>>>>>>> I
>>>>>>>>>>> n
>>>>>>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>>>>>>>> at
>>>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(
>>>>>>>>>>> C
>>>>>>>>>>> ons
>>>>>>>>>>> tr
>>>>>>>>>>> u
>>>>>>>>>>> c
>>>>>>>>>>> tor.java:500) at
>>>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>>>>>>>> 4
>>>>>>>>>>> 81) at
>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>>>> t
>>>>>>>>>>> ora
>>>>>>>>>>> ge
>>>>>>>>>>> P
>>>>>>>>>>> l
>>>>>>>>>>> uginRegistryImpl.java:528)
>>>>>>>>>>> ... 56 common frames omitted
>>>>>>>>>>>
>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>>>
>>>>>>>>>>> One more thing...
>>>>>>>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>>>>>>>> Thanks,
>>>>>>>>>>> -- C
>>>>>>>>>>>
>>>>>>>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> Hi Chris,
>>>>>>>>>>>>
>>>>>>>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>>>>>>>>
>>>>>>>>>>>> You're right you might be onto something if you get the
>>>>>>>>>>>> password failed message. Can you post the exact text (JSON)
>>>>>>>>>>>> of the storage plugin config?
>>>>>>>>>>>>
>>>>>>>>>>>> -Rafael
>>>>>>>>>>>>
>>>>>>>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>>>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Hey Everyone,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Christopher Kane
>>>>>>>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>>>>>>>> com>,
>>>>>>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>>>>>>>> c
>>>>>>>>>>>>> o
>>>>>>>>>>>>> m>,
>>>>>>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fise
>>>>>>>>>>>>> m>r
>>>>>>>>>>>>> m>v.c
>>>>>>>>>>>>> m>om
>>>>>>>>>>>>> m>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>>>
>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>>
>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>
>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>
>>>>>
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>
>>>
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>
>>
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

Re: Initial Oracle Setup

Posted by Charles Givre <cg...@gmail.com>.
That actually explains a lot... While Drill has a timestamp data type, Drill does not have a timezone with tz data type.   Ted Dunning made a suggestion that would likely fix the issue and that is can you create a materialized view of your merchant table (on the Oracle DB) that doesn't have this data type?  (Like CAST it to a regular TIMESTAMP)  Drill should be able to query that.  
The long term fix is to figure out how to get Drill to deal with unknown data types from JDBC sources, but in the interim, a materialized view might do the trick.
Best,
-- C




> On Jun 24, 2020, at 6:10 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> 
> I KNEW IT! My initial hunch was correct.. when I listed all of the data types used by Oracle I initially said I had a feeling that TIMESTAMP(6) WITH TIME ZONE was probably the one that was causing an issue. I added each data type as a new column one by one, and the one that finally threw the error was TIMESTAMP(6) WITH TIME ZONE. So because the BIZ schema has tables with TIMESTAMP(6) WITH TIME ZONE as the data type, that's probably while it's failing. Now I am curious though if there is any other column this could be occurring with, but at least for right now we know that TIMESTAMP(6) WITH TIME ZONE is causing an issue, I can't speak for other data types that might not have been present in the merchant table but I can't imagine the other tables would really be all that different.
> 
> -Chris
> 
> -----Original Message-----
> From: Christopher Kane <ch...@cardconnect.com.INVALID>
> Sent: Wednesday, June 24, 2020 5:34 PM
> To: user@drill.apache.org
> Subject: RE: Initial Oracle Setup
> 
> Ayyyy!!! That worked! I did the following: CREATE TABLE CKANE.TEST (column_1 INT, column_2 VARCHAR(50));
> 
> Then I did select * from CKANE.TEST where column_1=1 and it returned what was expected, column_1 which contained the value of 1 and column_2 which contained the value of test.
> 
> As far as telling Oracle to convert it to something different, if that's a database management level change I can't really go that route since I'm unable to change the configuration of Oracle for a POC like this, I kind of have to get it working with the current constraints.
> 
> What would be the next data types you'd suggest we try? I listed the data types previously but they are: NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE, so should I start adding a column for each of those until I get the message Unknown SQL Type -101 like before?
> 
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Wednesday, June 24, 2020 5:25 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
> 
> Hi Chris,
> You’re correct…
> Maybe if you can create a simple table with an INT and a VARCHAR column and get Drill to query that. (It should). If that works, let’s try other data types and see what works and what doesn’t.   I’m also wondering if there is some way of telling Oracle to convert the BINARY DOUBLE to some other data type that can be read.  I don’t know enough about Oracle though…
> — C
> 
> 
>> On Jun 24, 2020, at 5:20 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>> 
>> You know Charles, I think you're right on the money there. Considering what we've tested at this point, I think you're right. So I would like to prove that hypothesis for you, so to confirm do I need to find a schema with tables that do not have a binary double? I might be able to create a table under my personal oracle schema which shouldn't have anything in there currently. We should agree on the SQL used to create the table so we are on the same page before that though.
>> 
>> In my opinion, that sounds like a good thing to do. If my POC works as I am hoping it will, I am hoping that Apache Drill proves to be a useful tool in attempting "end to end" test automation entirely from Postman, since Oracle does not natively provide an API to query. It would be really cool if the idea I have in my head plays out as I'm thinking it will, and I would love for the solution to be used by other people (if it works) which would require Drill to be updated to allow for this to work with Oracle.
>> 
>> -Chris
>> 
>> -----Original Message-----
>> From: Charles Givre <cg...@gmail.com>
>> Sent: Wednesday, June 24, 2020 5:13 PM
>> To: user@drill.apache.org
>> Subject: Re: Initial Oracle Setup
>> 
>> I think the issue is that Drill is receiving a schema from Oracle that is including a binary double column.  At that point, Drill has no idea how to handle that so you get the validation error.  I’d like to prove this hypothesis by successfully querying a table that does not have a binary double (or other unrecognizable column) and getting Drill to successfully read the results.
>> 
>> My other thought is that it might be possible to do something with this via the JDBC config.  Sometimes databases have configuration options which can be passed when you connect, and if Oracle has such options, we might be able to fix this in the connection string.  My gut is telling me at this point that we’re going to have to fix this in Drill by adding some code that basically says if the type is unknown, read the data as a string or something like that.
>> — C
>> 
>> 
>>> On Jun 24, 2020, at 5:02 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>> 
>>> Alright so following that logic of Data Type 101 being a binary double, I did the following:
>>> select CAST(merchant_id AS DOUBLE) from biz.merchant where
>>> merchant_id=85616270
>>> 
>>> That unfortunately still results in the unknown sql type -101 error. I did want to say that I was able to go onto the CLI and have it list out all the schemas and tables it could find and what it listed was correct so at least we know we are connected to what we should be.
>>> 
>>> -----Original Message-----
>>> From: Charles Givre <cg...@gmail.com>
>>> Sent: Wednesday, June 24, 2020 4:55 PM
>>> To: user@drill.apache.org
>>> Subject: Re: Initial Oracle Setup
>>> 
>>> I looked this up… SQL Data Type 101 is a binary double.
>>> 
>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_d
>>> atabase_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mhB
>>> YFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9K
>>> _mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRFs
>>> hIVqbqiRRDh2qs&e=
>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_
>>> database_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mh
>>> BYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9
>>> K_mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRF
>>> shIVqbqiRRDh2qs&e= >
>>> 
>>> 
>>> 
>>> 
>>>> On Jun 24, 2020, at 4:52 PM, Charles Givre <cg...@gmail.com> wrote:
>>>> 
>>>> Some more questions…
>>>> 1.  Are there other tables you can query?  I want to see if we can at
>>>> least get something to work ;-) (Although we can read the schema via SHOW TABLES) 2.  Can you try the following query:
>>>> SELECT CAST(<some field> AS INT)
>>>> FROM merchant….  Basically I’m wondering if we force Drill to map the field to a type, if we can get it to read the data.
>>>> 
>>>> 
>>>> 
>>>>> On Jun 24, 2020, at 4:44 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>> 
>>>>> Hey Charles,
>>>>> 
>>>>> I ran a couple of different queries selecting only a single column from the table and it seems multiple columns are all giving me the same unknown sql type -101 error.
>>>>> The stacktrace also appears to be the same per column, so to me it appears that the issue is maybe with the format of the data itself coming from Oracle, I'm not too sure at this point.
>>>>> 
>>>>> -Chris
>>>>> 
>>>>> -----Original Message-----
>>>>> From: Charles Givre <cg...@gmail.com>
>>>>> Sent: Wednesday, June 24, 2020 3:30 PM
>>>>> To: user <us...@drill.apache.org>
>>>>> Subject: Re: Initial Oracle Setup
>>>>> 
>>>>> Hey Christopher,
>>>>> Can you run a query with individual columns so we can see which column is causing the issue?
>>>>> Thx,
>>>>> --C
>>>>> 
>>>>> 
>>>>> 
>>>>>> On Jun 23, 2020, at 5:25 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>> 
>>>>>> Rafael
>>>>>> -Okay so doing "show schemas;" (I didn't include the semicolon before) resulted in all of the schemas I was expecting to see be listed, so it's awesome that Drill was actually able to make the connection. So I do think my issue might be with the data types of the columns in the table I'm trying to query.
>>>>>> 
>>>>>> Charles
>>>>>> -here are the data types on the table "merchant": NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE.
>>>>>> -if I had to take a guess, I would bet money that the problem child here is the timestamp data type.
>>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>> Sent: Tuesday, June 23, 2020 5:19 PM
>>>>>> To: user@drill.apache.org
>>>>>> Subject: RE: Initial Oracle Setup
>>>>>> 
>>>>>> Rafael
>>>>>> -I am running this in embedded mode on my Windows Laptop and I believe I have access to the shell but I'm not too familiar with the syntax so I'll have to look that up and I'll let you know what I get.
>>>>>> 
>>>>>> Charles
>>>>>> -I'm glad you were able to find something about that error because I was having a tough time finding something related to it. I actually thought something similar and actually changed my query to only return the merchant_id of the merchant because I thought maybe there was a column that Drill didn't know how to handle. I will take a look at the stackoverflow link that you sent me and will let you know what I come up with.
>>>>>> -Here is the stacktrace for the VALIDATION ERROR:
>>>>>> 2020-06-23 17:15:56,017 [qtp409347742-245] ERROR
>>>>>> o.a.d.e.server.rest.QueryResources - Query from Web UI Failed: {}
>>>>>> org.apache.drill.common.exceptions.UserRemoteException: VALIDATION
>>>>>> ERROR: Unknown SQL type -101
>>>>>> 
>>>>>> 
>>>>>> [Error Id: def7533c-bb11-48da-b770-28c6730a1799 ] at
>>>>>> org.apache.drill.exec.server.rest.RestQueryRunner.submitQuery(RestQ
>>>>>> u
>>>>>> eryRunner.java:181) at
>>>>>> org.apache.drill.exec.server.rest.RestQueryRunner.run(RestQueryRunn
>>>>>> e
>>>>>> r.java:70) at
>>>>>> org.apache.drill.exec.server.rest.QueryResources.submitQueryJSON(Qu
>>>>>> e
>>>>>> ryResources.java:96) at
>>>>>> org.apache.drill.exec.server.rest.QueryResources.submitQuery(QueryR
>>>>>> e
>>>>>> sources.java:114) at
>>>>>> jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown
>>>>>> Source) at
>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(
>>>>>> D
>>>>>> elegatingMethodAccessorImpl.java:43)
>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>> at
>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocation
>>>>>> H
>>>>>> andlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:
>>>>>> 8
>>>>>> 1) at
>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>> o
>>>>>> dDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>> at
>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>> o
>>>>>> dDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>>>> at
>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispat
>>>>>> c
>>>>>> herProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherP
>>>>>> r
>>>>>> ovider.java:205) at
>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>>> o
>>>>>> dDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>>>>> at
>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Reso
>>>>>> u
>>>>>> rceMethodInvoker.java:389) at
>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>>>> r
>>>>>> ceMethodInvoker.java:347) at
>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>>>> r
>>>>>> ceMethodInvoker.java:102) at
>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:
>>>>>> 3
>>>>>> 26) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>> at
>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Reque
>>>>>> s
>>>>>> tScope.java:317) at
>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.jav
>>>>>> a
>>>>>> :305) at
>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHa
>>>>>> n
>>>>>> dler.java:1154) at
>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.
>>>>>> j
>>>>>> ava:473) at
>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>> 427) at
>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>> n
>>>>>> er.java:388) at
>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>> n
>>>>>> er.java:341) at
>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>>> n
>>>>>> er.java:228) at
>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:8
>>>>>> 4
>>>>>> 8) at
>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>> e
>>>>>> tHandler.java:1780) at
>>>>>> org.apache.drill.exec.server.rest.header.ResponseHeadersSettingFilt
>>>>>> e
>>>>>> r.doFilter(ResponseHeadersSettingFilter.java:71)
>>>>>> at
>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>> e
>>>>>> tHandler.java:1767) at
>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(
>>>>>> C
>>>>>> srfTokenValidateFilter.java:55) at
>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>> e
>>>>>> tHandler.java:1767) at
>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(Cs
>>>>>> r
>>>>>> fTokenInjectFilter.java:54) at
>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>>> e
>>>>>> tHandler.java:1767) at
>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.ja
>>>>>> v
>>>>>> a:583) at
>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHan
>>>>>> d
>>>>>> ler.java:224) at
>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHan
>>>>>> d
>>>>>> ler.java:1180) at
>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.jav
>>>>>> a
>>>>>> :513) at
>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHand
>>>>>> l
>>>>>> er.java:185) at
>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHand
>>>>>> l
>>>>>> er.java:1112) at
>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>> java:141) at
>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapp
>>>>>> e
>>>>>> r.java:134) at
>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>> at
>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>>>>> at
>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.j
>>>>>> a
>>>>>> va:251) at
>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abst
>>>>>> r
>>>>>> actConnection.java:283) at
>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>>>>> at
>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPo
>>>>>> i
>>>>>> nt.java:93) at
>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execut
>>>>>> e
>>>>>> ProduceConsume(ExecuteProduceConsume.java:303)
>>>>>> at
>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produc
>>>>>> e
>>>>>> Consume(ExecuteProduceConsume.java:148)
>>>>>> at
>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Ex
>>>>>> e
>>>>>> cuteProduceConsume.java:136) at
>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadP
>>>>>> o
>>>>>> ol.java:671) at
>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPo
>>>>>> o
>>>>>> l.java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>> Caused by: java.lang.IllegalArgumentException: Unknown SQL type
>>>>>> -101 at
>>>>>> org.apache.calcite.avatica.SqlType.valueOf(SqlType.java:383)
>>>>>> at
>>>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>>>> a
>>>>>> .java:385) at
>>>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>>>> a
>>>>>> .java:362) at
>>>>>> org.apache.calcite.adapter.jdbc.JdbcTable.getRowType(JdbcTable.java:
>>>>>> 117) at
>>>>>> org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:
>>>>>> 159) at
>>>>>> org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.
>>>>>> j
>>>>>> ava:99) at
>>>>>> org.apache.calcite.sql.validate.DelegatingScope.resolveTable(Delega
>>>>>> t
>>>>>> ingScope.java:203) at
>>>>>> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(Ide
>>>>>> n
>>>>>> tifierNamespace.java:105) at
>>>>>> org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(Id
>>>>>> e
>>>>>> ntifierNamespace.java:177) at
>>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>>>> N
>>>>>> amespace.java:84) at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>>>> S
>>>>>> qlValidatorImpl.java:1009) at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>>>> a
>>>>>> lidatorImpl.java:969) at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>>>> l
>>>>>> idatorImpl.java:3129) at
>>>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>>>> e
>>>>>> From(DrillValidator.java:63) at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>>>> l
>>>>>> idatorImpl.java:3111) at
>>>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>>>> e
>>>>>> From(DrillValidator.java:63) at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(Sql
>>>>>> V
>>>>>> alidatorImpl.java:3383) at
>>>>>> org.apache.calcite.sql.validate.SelectNamespace.validateImpl(Select
>>>>>> N
>>>>>> amespace.java:60) at
>>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>>>> N
>>>>>> amespace.java:84) at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>>>> S
>>>>>> qlValidatorImpl.java:1009) at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>>>> a
>>>>>> lidatorImpl.java:969) at
>>>>>> org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:216)
>>>>>> at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpr
>>>>>> e
>>>>>> ssion(SqlValidatorImpl.java:944) at
>>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValida
>>>>>> t
>>>>>> orImpl.java:651) at
>>>>>> org.apache.drill.exec.planner.sql.conversion.SqlConverter.validate(
>>>>>> S
>>>>>> qlConverter.java:189) at
>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>>>> t
>>>>>> eNode(DefaultSqlHandler.java:641) at
>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>>>> t
>>>>>> eAndConvert(DefaultSqlHandler.java:195)
>>>>>> at
>>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPla
>>>>>> n
>>>>>> (DefaultSqlHandler.java:169) at
>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(Drill
>>>>>> S
>>>>>> qlWorker.java:283) at
>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan(Dr
>>>>>> i
>>>>>> llSqlWorker.java:163) at
>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillS
>>>>>> q
>>>>>> lWorker.java:128) at
>>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWo
>>>>>> r
>>>>>> ker.java:93) at
>>>>>> org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:593)
>>>>>> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:274)
>>>>>> at .......(:0)
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>> Sent: Tuesday, June 23, 2020 4:35 PM
>>>>>> To: user@drill.apache.org
>>>>>> Subject: Re: Initial Oracle Setup
>>>>>> 
>>>>>> One more thing...
>>>>>> 
>>>>>> Could you run the query that is producing the VALIDATION ERROR and send the full stack trace?  I'm thinking that can be fixed on the Drill end of things, at least until Calcite fixes that.
>>>>>> -- C
>>>>>> 
>>>>>>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>> 
>>>>>>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
>>>>>>> 
>>>>>>> I think the only thing I'm having an issue with now I think is
>>>>>>> related to this:
>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.
>>>>>>> org
>>>>>>> _jira_browse_CALCITE-2D3533&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BY
>>>>>>> R
>>>>>>> bCB
>>>>>>> lPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=g39OzDxVVrucBo3nnaZNaIqoh9
>>>>>>> S ZZi
>>>>>>> dthZ3H6QSOkWE&s=oVohCx-25EZLkSVY7yEV1FtFZ-nNDTnGvek4Sx67nYc&e=
>>>>>>> 
>>>>>>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
>>>>>>> 
>>>>>>> -----Original Message-----
>>>>>>> From: Rafael Jaimes III <ra...@gmail.com>
>>>>>>> Sent: Tuesday, June 23, 2020 3:43 PM
>>>>>>> To: user@drill.apache.org
>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>> 
>>>>>>> Glad you got it working with the new version regardless!
>>>>>>> 
>>>>>>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>>>>>>>> 
>>>>>>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>>>>>>>> 
>>>>>>>> -----Original Message-----
>>>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>>>> Sent: Tuesday, June 23, 2020 3:31 PM
>>>>>>>> To: user@drill.apache.org
>>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>> 
>>>>>>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>>>>>>>> 
>>>>>>>> -----Original Message-----
>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>> Sent: Tuesday, June 23, 2020 3:23 PM
>>>>>>>> To: user <us...@drill.apache.org>
>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>> 
>>>>>>>> It hasn't been released yet, so you'd have to d/l from github
>>>>>>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>> a
>>>>>>>> pac
>>>>>>>> h
>>>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>>>> l
>>>>>>>> lmV
>>>>>>>> q
>>>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>>>> =
>>>>>>>> C8v
>>>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>> a
>>>>>>>> pac
>>>>>>>> h
>>>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>>>> l
>>>>>>>> lmV
>>>>>>>> q
>>>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>>>> =
>>>>>>>> C8v
>>>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from
>>>>>>>> source.
>>>>>>>> If you can't do that, I have a pre-release here:
>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_c
>>>>>>>> g
>>>>>>>> ivr
>>>>>>>> e
>>>>>>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7W
>>>>>>>> I
>>>>>>>> 0-D
>>>>>>>> P
>>>>>>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZS
>>>>>>>> N
>>>>>>>> loM
>>>>>>>> 5
>>>>>>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-
>>>>>>>> q
>>>>>>>> XY0
>>>>>>>> &
>>>>>>>> e=
>>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>>> c
>>>>>>>> giv
>>>>>>>> r
>>>>>>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7
>>>>>>>> W
>>>>>>>> I0-
>>>>>>>> D
>>>>>>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZ
>>>>>>>> S
>>>>>>>> Nlo
>>>>>>>> M
>>>>>>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H
>>>>>>>> -
>>>>>>>> qXY
>>>>>>>> 0
>>>>>>>> &e= >
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>> 
>>>>>>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>>>>>>>> 
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Christopher Kane
>>>>>>>>> <ch...@cardconnect.com.INVALID>
>>>>>>>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>>>>>>>> To: user@drill.apache.org
>>>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>>> 
>>>>>>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>>>>>>>> 
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>>>>>>>> To: user@drill.apache.org
>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>> 
>>>>>>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>>>>>>>> 
>>>>>>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>> 
>>>>>>>>>> On both the directory of drill and on startup I am running
>>>>>>>>>> Apache Drill 1.17.0
>>>>>>>>>> 
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> From: Charles Givre <cgivre@gmail.com
>>>>>>>>>> <ma...@gmail.com>>
>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>>>>>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>> 
>>>>>>>>>> One more question.. what version of Drill are you using?
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> Rafael
>>>>>>>>>>> -I did place it in the jars/3rdparty folder.
>>>>>>>>>>> 
>>>>>>>>>>> Storage Plugin Config:
>>>>>>>>>>> {
>>>>>>>>>>> "type": "jdbc",
>>>>>>>>>>> "enabled": true,
>>>>>>>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>>>>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>>>>>>>> }
>>>>>>>>>>> (it's been modified to remove sensitive information)
>>>>>>>>>>> 
>>>>>>>>>>> Charles
>>>>>>>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>>>>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>>>>>>>> 
>>>>>>>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>>>>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/
>>>>>>>>>>> update
>>>>>>>>>>> plugin: QA2 Oracle
>>>>>>>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
>>>>>>>>>>> Failure setting up new storage plugin configuration for config
>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>>>> t
>>>>>>>>>>> ora
>>>>>>>>>>> ge
>>>>>>>>>>> P
>>>>>>>>>>> l
>>>>>>>>>>> uginRegistryImpl.java:536) at
>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOr
>>>>>>>>>>> U
>>>>>>>>>>> pda
>>>>>>>>>>> te
>>>>>>>>>>> (
>>>>>>>>>>> S
>>>>>>>>>>> toragePluginRegistryImpl.java:132)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOr
>>>>>>>>>>> U
>>>>>>>>>>> pda
>>>>>>>>>>> te
>>>>>>>>>>> I
>>>>>>>>>>> n
>>>>>>>>>>> Storage(PluginConfigWrapper.java:56)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>>>> a
>>>>>>>>>>> teP
>>>>>>>>>>> lu
>>>>>>>>>>> g
>>>>>>>>>>> i
>>>>>>>>>>> nJSON(StorageResources.java:212) at
>>>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>>>> a
>>>>>>>>>>> teP
>>>>>>>>>>> lu
>>>>>>>>>>> g
>>>>>>>>>>> i
>>>>>>>>>>> n(StorageResources.java:233) at
>>>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>>>> 0
>>>>>>>>>>> (Na
>>>>>>>>>>> ti
>>>>>>>>>>> v
>>>>>>>>>>> e
>>>>>>>>>>> Method) at
>>>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>>>> (
>>>>>>>>>>> Nat
>>>>>>>>>>> iv
>>>>>>>>>>> e
>>>>>>>>>>> M
>>>>>>>>>>> ethodAccessorImpl.java:62) at
>>>>>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.in
>>>>>>>>>>> v
>>>>>>>>>>> oke
>>>>>>>>>>> (D
>>>>>>>>>>> e
>>>>>>>>>>> l
>>>>>>>>>>> egatingMethodAccessorImpl.java:43)
>>>>>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvoc
>>>>>>>>>>> a
>>>>>>>>>>> tio
>>>>>>>>>>> nH
>>>>>>>>>>> a
>>>>>>>>>>> n
>>>>>>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.ja
>>>>>>>>>>> v
>>>>>>>>>>> a:8
>>>>>>>>>>> 1)
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>> e
>>>>>>>>>>> Met
>>>>>>>>>>> ho
>>>>>>>>>>> d
>>>>>>>>>>> D
>>>>>>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>> e
>>>>>>>>>>> Met
>>>>>>>>>>> ho
>>>>>>>>>>> d
>>>>>>>>>>> D
>>>>>>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161
>>>>>>>>>>> )
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodD
>>>>>>>>>>> i
>>>>>>>>>>> spa
>>>>>>>>>>> tc
>>>>>>>>>>> h
>>>>>>>>>>> e
>>>>>>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatch
>>>>>>>>>>> e
>>>>>>>>>>> rPr
>>>>>>>>>>> ov
>>>>>>>>>>> i
>>>>>>>>>>> d
>>>>>>>>>>> er.java:205) at
>>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>>> e
>>>>>>>>>>> Met
>>>>>>>>>>> ho
>>>>>>>>>>> d
>>>>>>>>>>> D
>>>>>>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:9
>>>>>>>>>>> 9
>>>>>>>>>>> )
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke
>>>>>>>>>>> (
>>>>>>>>>>> Res
>>>>>>>>>>> ou
>>>>>>>>>>> r
>>>>>>>>>>> c
>>>>>>>>>>> eMethodInvoker.java:389) at
>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>>>> R
>>>>>>>>>>> eso
>>>>>>>>>>> ur
>>>>>>>>>>> c
>>>>>>>>>>> e
>>>>>>>>>>> MethodInvoker.java:347) at
>>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>>>> R
>>>>>>>>>>> eso
>>>>>>>>>>> ur
>>>>>>>>>>> c
>>>>>>>>>>> e
>>>>>>>>>>> MethodInvoker.java:102) at
>>>>>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.
>>>>>>>>>>> j
>>>>>>>>>>> ava
>>>>>>>>>>> :3
>>>>>>>>>>> 2
>>>>>>>>>>> 6
>>>>>>>>>>> ) at
>>>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>>>>>>> at
>>>>>>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(
>>>>>>>>>>> R
>>>>>>>>>>> equ
>>>>>>>>>>> es
>>>>>>>>>>> t
>>>>>>>>>>> S
>>>>>>>>>>> cope.java:317) at
>>>>>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>>>>>>>> 3
>>>>>>>>>>> 05) at
>>>>>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(Applicat
>>>>>>>>>>> i
>>>>>>>>>>> onH
>>>>>>>>>>> an
>>>>>>>>>>> d
>>>>>>>>>>> l
>>>>>>>>>>> er.java:1154) at
>>>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebCompo
>>>>>>>>>>> n
>>>>>>>>>>> ent
>>>>>>>>>>> .j
>>>>>>>>>>> a
>>>>>>>>>>> v
>>>>>>>>>>> a:473) at
>>>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>>>>>> 4
>>>>>>>>>>> 2
>>>>>>>>>>> 7) at
>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>> o
>>>>>>>>>>> nta
>>>>>>>>>>> in
>>>>>>>>>>> e
>>>>>>>>>>> r
>>>>>>>>>>> .java:388) at
>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>> o
>>>>>>>>>>> nta
>>>>>>>>>>> in
>>>>>>>>>>> e
>>>>>>>>>>> r
>>>>>>>>>>> .java:341) at
>>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>>> o
>>>>>>>>>>> nta
>>>>>>>>>>> in
>>>>>>>>>>> e
>>>>>>>>>>> r
>>>>>>>>>>> .java:228) at
>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>>>>>>>> 84
>>>>>>>>>>> 8
>>>>>>>>>>> )
>>>>>>>>>>> at
>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>> S
>>>>>>>>>>> erv
>>>>>>>>>>> le
>>>>>>>>>>> t
>>>>>>>>>>> H
>>>>>>>>>>> andler.java:1780) at
>>>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFi
>>>>>>>>>>> l
>>>>>>>>>>> ter
>>>>>>>>>>> (C
>>>>>>>>>>> s
>>>>>>>>>>> r
>>>>>>>>>>> fTokenValidateFilter.java:55) at
>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>> S
>>>>>>>>>>> erv
>>>>>>>>>>> le
>>>>>>>>>>> t
>>>>>>>>>>> H
>>>>>>>>>>> andler.java:1767) at
>>>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilt
>>>>>>>>>>> e
>>>>>>>>>>> r(C
>>>>>>>>>>> sr
>>>>>>>>>>> f
>>>>>>>>>>> T
>>>>>>>>>>> okenInjectFilter.java:54) at
>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>>> S
>>>>>>>>>>> erv
>>>>>>>>>>> le
>>>>>>>>>>> t
>>>>>>>>>>> H
>>>>>>>>>>> andler.java:1767) at
>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>>>>>>>> 583) at
>>>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(Sessi
>>>>>>>>>>> o
>>>>>>>>>>> nHa
>>>>>>>>>>> nd
>>>>>>>>>>> l
>>>>>>>>>>> e
>>>>>>>>>>> r.java:224) at
>>>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(Conte
>>>>>>>>>>> x
>>>>>>>>>>> tHa
>>>>>>>>>>> nd
>>>>>>>>>>> l
>>>>>>>>>>> e
>>>>>>>>>>> r.java:1180) at
>>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>>>>>>>> 5
>>>>>>>>>>> 13) at
>>>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(Sessio
>>>>>>>>>>> n
>>>>>>>>>>> Han
>>>>>>>>>>> dl
>>>>>>>>>>> e
>>>>>>>>>>> r
>>>>>>>>>>> .java:185) at
>>>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(Contex
>>>>>>>>>>> t
>>>>>>>>>>> Han
>>>>>>>>>>> dl
>>>>>>>>>>> e
>>>>>>>>>>> r
>>>>>>>>>>> .java:1112) at
>>>>>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>>>>>> j
>>>>>>>>>>> a
>>>>>>>>>>> va:141) at
>>>>>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>>>>>>>> java:134) at
>>>>>>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>>>>>>> at
>>>>>>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:3
>>>>>>>>>>> 3
>>>>>>>>>>> 3)
>>>>>>>>>>> at
>>>>>>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>>>>>>>> ja
>>>>>>>>>>> v
>>>>>>>>>>> a
>>>>>>>>>>> :251) at
>>>>>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded
>>>>>>>>>>> (
>>>>>>>>>>> Abs
>>>>>>>>>>> tr
>>>>>>>>>>> a
>>>>>>>>>>> c
>>>>>>>>>>> tConnection.java:283) at
>>>>>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:1
>>>>>>>>>>> 0
>>>>>>>>>>> 8)
>>>>>>>>>>> at
>>>>>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannel
>>>>>>>>>>> E
>>>>>>>>>>> ndP
>>>>>>>>>>> oi
>>>>>>>>>>> n
>>>>>>>>>>> t
>>>>>>>>>>> .java:93) at
>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.e
>>>>>>>>>>> x
>>>>>>>>>>> ecu
>>>>>>>>>>> te
>>>>>>>>>>> P
>>>>>>>>>>> r
>>>>>>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>>>>>>>> at
>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.p
>>>>>>>>>>> r
>>>>>>>>>>> odu
>>>>>>>>>>> ce
>>>>>>>>>>> C
>>>>>>>>>>> o
>>>>>>>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>>>>>>>> at
>>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.r
>>>>>>>>>>> u
>>>>>>>>>>> n(E
>>>>>>>>>>> xe
>>>>>>>>>>> c
>>>>>>>>>>> u
>>>>>>>>>>> teProduceConsume.java:136) at
>>>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedTh
>>>>>>>>>>> r
>>>>>>>>>>> ead
>>>>>>>>>>> Po
>>>>>>>>>>> o
>>>>>>>>>>> l
>>>>>>>>>>> .java:671) at
>>>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>>>>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>>>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>>>>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>>>>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
>>>>>>>>>>> ja
>>>>>>>>>>> v
>>>>>>>>>>> a
>>>>>>>>>>> :78) at
>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelCon
>>>>>>>>>>> v
>>>>>>>>>>> ert
>>>>>>>>>>> er
>>>>>>>>>>> R
>>>>>>>>>>> u
>>>>>>>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcCo
>>>>>>>>>>> n
>>>>>>>>>>> ven
>>>>>>>>>>> ti
>>>>>>>>>>> o
>>>>>>>>>>> n
>>>>>>>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>>>>>>>> at
>>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(Jdbc
>>>>>>>>>>> S
>>>>>>>>>>> tor
>>>>>>>>>>> ag
>>>>>>>>>>> e
>>>>>>>>>>> P
>>>>>>>>>>> lugin.java:103) at
>>>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>>>> e
>>>>>>>>>>> wIn
>>>>>>>>>>> st
>>>>>>>>>>> a
>>>>>>>>>>> n
>>>>>>>>>>> ce0(Native Method) at
>>>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>>>> e
>>>>>>>>>>> wIn
>>>>>>>>>>> st
>>>>>>>>>>> a
>>>>>>>>>>> n
>>>>>>>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>>>>>>>> at
>>>>>>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorIm
>>>>>>>>>>> p
>>>>>>>>>>> l.n
>>>>>>>>>>> ew
>>>>>>>>>>> I
>>>>>>>>>>> n
>>>>>>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>>>>>>>> at
>>>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(
>>>>>>>>>>> C
>>>>>>>>>>> ons
>>>>>>>>>>> tr
>>>>>>>>>>> u
>>>>>>>>>>> c
>>>>>>>>>>> tor.java:500) at
>>>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>>>>>>>> 4
>>>>>>>>>>> 81) at
>>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>>>> t
>>>>>>>>>>> ora
>>>>>>>>>>> ge
>>>>>>>>>>> P
>>>>>>>>>>> l
>>>>>>>>>>> uginRegistryImpl.java:528)
>>>>>>>>>>> ... 56 common frames omitted
>>>>>>>>>>> 
>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>>> 
>>>>>>>>>>> One more thing...
>>>>>>>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>>>>>>>> Thanks,
>>>>>>>>>>> -- C
>>>>>>>>>>> 
>>>>>>>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>> Hi Chris,
>>>>>>>>>>>> 
>>>>>>>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>>>>>>>> 
>>>>>>>>>>>> You're right you might be onto something if you get the
>>>>>>>>>>>> password failed message. Can you post the exact text (JSON)
>>>>>>>>>>>> of the storage plugin config?
>>>>>>>>>>>> 
>>>>>>>>>>>> -Rafael
>>>>>>>>>>>> 
>>>>>>>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>>>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Hey Everyone,
>>>>>>>>>>>>> 
>>>>>>>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Christopher Kane
>>>>>>>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>>>>>>>> com>,
>>>>>>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>>>>>>>> c
>>>>>>>>>>>>> o
>>>>>>>>>>>>> m>,
>>>>>>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fise
>>>>>>>>>>>>> m>r
>>>>>>>>>>>>> m>v.c
>>>>>>>>>>>>> m>om
>>>>>>>>>>>>> m>>
>>>>>>>>>>>>> 
>>>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>>> 
>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>> 
>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>> 
>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>> 
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>> 
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>> 
>>>>> 
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>> 
>>> 
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> 
>> 
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> 
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.


RE: Initial Oracle Setup

Posted by Christopher Kane <ch...@cardconnect.com.INVALID>.
I KNEW IT! My initial hunch was correct.. when I listed all of the data types used by Oracle I initially said I had a feeling that TIMESTAMP(6) WITH TIME ZONE was probably the one that was causing an issue. I added each data type as a new column one by one, and the one that finally threw the error was TIMESTAMP(6) WITH TIME ZONE. So because the BIZ schema has tables with TIMESTAMP(6) WITH TIME ZONE as the data type, that's probably while it's failing. Now I am curious though if there is any other column this could be occurring with, but at least for right now we know that TIMESTAMP(6) WITH TIME ZONE is causing an issue, I can't speak for other data types that might not have been present in the merchant table but I can't imagine the other tables would really be all that different.

-Chris

-----Original Message-----
From: Christopher Kane <ch...@cardconnect.com.INVALID>
Sent: Wednesday, June 24, 2020 5:34 PM
To: user@drill.apache.org
Subject: RE: Initial Oracle Setup

Ayyyy!!! That worked! I did the following: CREATE TABLE CKANE.TEST (column_1 INT, column_2 VARCHAR(50));

Then I did select * from CKANE.TEST where column_1=1 and it returned what was expected, column_1 which contained the value of 1 and column_2 which contained the value of test.

As far as telling Oracle to convert it to something different, if that's a database management level change I can't really go that route since I'm unable to change the configuration of Oracle for a POC like this, I kind of have to get it working with the current constraints.

What would be the next data types you'd suggest we try? I listed the data types previously but they are: NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE, so should I start adding a column for each of those until I get the message Unknown SQL Type -101 like before?

-----Original Message-----
From: Charles Givre <cg...@gmail.com>
Sent: Wednesday, June 24, 2020 5:25 PM
To: user@drill.apache.org
Subject: Re: Initial Oracle Setup

Hi Chris,
You’re correct…
Maybe if you can create a simple table with an INT and a VARCHAR column and get Drill to query that. (It should). If that works, let’s try other data types and see what works and what doesn’t.   I’m also wondering if there is some way of telling Oracle to convert the BINARY DOUBLE to some other data type that can be read.  I don’t know enough about Oracle though…
— C


> On Jun 24, 2020, at 5:20 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>
> You know Charles, I think you're right on the money there. Considering what we've tested at this point, I think you're right. So I would like to prove that hypothesis for you, so to confirm do I need to find a schema with tables that do not have a binary double? I might be able to create a table under my personal oracle schema which shouldn't have anything in there currently. We should agree on the SQL used to create the table so we are on the same page before that though.
>
> In my opinion, that sounds like a good thing to do. If my POC works as I am hoping it will, I am hoping that Apache Drill proves to be a useful tool in attempting "end to end" test automation entirely from Postman, since Oracle does not natively provide an API to query. It would be really cool if the idea I have in my head plays out as I'm thinking it will, and I would love for the solution to be used by other people (if it works) which would require Drill to be updated to allow for this to work with Oracle.
>
> -Chris
>
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Wednesday, June 24, 2020 5:13 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
>
> I think the issue is that Drill is receiving a schema from Oracle that is including a binary double column.  At that point, Drill has no idea how to handle that so you get the validation error.  I’d like to prove this hypothesis by successfully querying a table that does not have a binary double (or other unrecognizable column) and getting Drill to successfully read the results.
>
> My other thought is that it might be possible to do something with this via the JDBC config.  Sometimes databases have configuration options which can be passed when you connect, and if Oracle has such options, we might be able to fix this in the connection string.  My gut is telling me at this point that we’re going to have to fix this in Drill by adding some code that basically says if the type is unknown, read the data as a string or something like that.
> — C
>
>
>> On Jun 24, 2020, at 5:02 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>
>> Alright so following that logic of Data Type 101 being a binary double, I did the following:
>> select CAST(merchant_id AS DOUBLE) from biz.merchant where
>> merchant_id=85616270
>>
>> That unfortunately still results in the unknown sql type -101 error. I did want to say that I was able to go onto the CLI and have it list out all the schemas and tables it could find and what it listed was correct so at least we know we are connected to what we should be.
>>
>> -----Original Message-----
>> From: Charles Givre <cg...@gmail.com>
>> Sent: Wednesday, June 24, 2020 4:55 PM
>> To: user@drill.apache.org
>> Subject: Re: Initial Oracle Setup
>>
>> I looked this up… SQL Data Type 101 is a binary double.
>>
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_d
>> atabase_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mhB
>> YFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9K
>> _mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRFs
>> hIVqbqiRRDh2qs&e=
>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_
>> database_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mh
>> BYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9
>> K_mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRF
>> shIVqbqiRRDh2qs&e= >
>>
>>
>>
>>
>>> On Jun 24, 2020, at 4:52 PM, Charles Givre <cg...@gmail.com> wrote:
>>>
>>> Some more questions…
>>> 1.  Are there other tables you can query?  I want to see if we can at
>>> least get something to work ;-) (Although we can read the schema via SHOW TABLES) 2.  Can you try the following query:
>>> SELECT CAST(<some field> AS INT)
>>> FROM merchant….  Basically I’m wondering if we force Drill to map the field to a type, if we can get it to read the data.
>>>
>>>
>>>
>>>> On Jun 24, 2020, at 4:44 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>
>>>> Hey Charles,
>>>>
>>>> I ran a couple of different queries selecting only a single column from the table and it seems multiple columns are all giving me the same unknown sql type -101 error.
>>>> The stacktrace also appears to be the same per column, so to me it appears that the issue is maybe with the format of the data itself coming from Oracle, I'm not too sure at this point.
>>>>
>>>> -Chris
>>>>
>>>> -----Original Message-----
>>>> From: Charles Givre <cg...@gmail.com>
>>>> Sent: Wednesday, June 24, 2020 3:30 PM
>>>> To: user <us...@drill.apache.org>
>>>> Subject: Re: Initial Oracle Setup
>>>>
>>>> Hey Christopher,
>>>> Can you run a query with individual columns so we can see which column is causing the issue?
>>>> Thx,
>>>> --C
>>>>
>>>>
>>>>
>>>>> On Jun 23, 2020, at 5:25 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>
>>>>> Rafael
>>>>> -Okay so doing "show schemas;" (I didn't include the semicolon before) resulted in all of the schemas I was expecting to see be listed, so it's awesome that Drill was actually able to make the connection. So I do think my issue might be with the data types of the columns in the table I'm trying to query.
>>>>>
>>>>> Charles
>>>>> -here are the data types on the table "merchant": NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE.
>>>>> -if I had to take a guess, I would bet money that the problem child here is the timestamp data type.
>>>>>
>>>>> -----Original Message-----
>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>> Sent: Tuesday, June 23, 2020 5:19 PM
>>>>> To: user@drill.apache.org
>>>>> Subject: RE: Initial Oracle Setup
>>>>>
>>>>> Rafael
>>>>> -I am running this in embedded mode on my Windows Laptop and I believe I have access to the shell but I'm not too familiar with the syntax so I'll have to look that up and I'll let you know what I get.
>>>>>
>>>>> Charles
>>>>> -I'm glad you were able to find something about that error because I was having a tough time finding something related to it. I actually thought something similar and actually changed my query to only return the merchant_id of the merchant because I thought maybe there was a column that Drill didn't know how to handle. I will take a look at the stackoverflow link that you sent me and will let you know what I come up with.
>>>>> -Here is the stacktrace for the VALIDATION ERROR:
>>>>> 2020-06-23 17:15:56,017 [qtp409347742-245] ERROR
>>>>> o.a.d.e.server.rest.QueryResources - Query from Web UI Failed: {}
>>>>> org.apache.drill.common.exceptions.UserRemoteException: VALIDATION
>>>>> ERROR: Unknown SQL type -101
>>>>>
>>>>>
>>>>> [Error Id: def7533c-bb11-48da-b770-28c6730a1799 ] at
>>>>> org.apache.drill.exec.server.rest.RestQueryRunner.submitQuery(RestQ
>>>>> u
>>>>> eryRunner.java:181) at
>>>>> org.apache.drill.exec.server.rest.RestQueryRunner.run(RestQueryRunn
>>>>> e
>>>>> r.java:70) at
>>>>> org.apache.drill.exec.server.rest.QueryResources.submitQueryJSON(Qu
>>>>> e
>>>>> ryResources.java:96) at
>>>>> org.apache.drill.exec.server.rest.QueryResources.submitQuery(QueryR
>>>>> e
>>>>> sources.java:114) at
>>>>> jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown
>>>>> Source) at
>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(
>>>>> D
>>>>> elegatingMethodAccessorImpl.java:43)
>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocation
>>>>> H
>>>>> andlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:
>>>>> 8
>>>>> 1) at
>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>> o
>>>>> dDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>> o
>>>>> dDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispat
>>>>> c
>>>>> herProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherP
>>>>> r
>>>>> ovider.java:205) at
>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>> o
>>>>> dDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>>>> at
>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Reso
>>>>> u
>>>>> rceMethodInvoker.java:389) at
>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>>> r
>>>>> ceMethodInvoker.java:347) at
>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>>> r
>>>>> ceMethodInvoker.java:102) at
>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:
>>>>> 3
>>>>> 26) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>> at
>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Reque
>>>>> s
>>>>> tScope.java:317) at
>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.jav
>>>>> a
>>>>> :305) at
>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHa
>>>>> n
>>>>> dler.java:1154) at
>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.
>>>>> j
>>>>> ava:473) at
>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>> 427) at
>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>> n
>>>>> er.java:388) at
>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>> n
>>>>> er.java:341) at
>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>> n
>>>>> er.java:228) at
>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:8
>>>>> 4
>>>>> 8) at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>> e
>>>>> tHandler.java:1780) at
>>>>> org.apache.drill.exec.server.rest.header.ResponseHeadersSettingFilt
>>>>> e
>>>>> r.doFilter(ResponseHeadersSettingFilter.java:71)
>>>>> at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>> e
>>>>> tHandler.java:1767) at
>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(
>>>>> C
>>>>> srfTokenValidateFilter.java:55) at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>> e
>>>>> tHandler.java:1767) at
>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(Cs
>>>>> r
>>>>> fTokenInjectFilter.java:54) at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>> e
>>>>> tHandler.java:1767) at
>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.ja
>>>>> v
>>>>> a:583) at
>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHan
>>>>> d
>>>>> ler.java:224) at
>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHan
>>>>> d
>>>>> ler.java:1180) at
>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.jav
>>>>> a
>>>>> :513) at
>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHand
>>>>> l
>>>>> er.java:185) at
>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHand
>>>>> l
>>>>> er.java:1112) at
>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>> java:141) at
>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapp
>>>>> e
>>>>> r.java:134) at
>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>> at
>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>>>> at
>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.j
>>>>> a
>>>>> va:251) at
>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abst
>>>>> r
>>>>> actConnection.java:283) at
>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>>>> at
>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPo
>>>>> i
>>>>> nt.java:93) at
>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execut
>>>>> e
>>>>> ProduceConsume(ExecuteProduceConsume.java:303)
>>>>> at
>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produc
>>>>> e
>>>>> Consume(ExecuteProduceConsume.java:148)
>>>>> at
>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Ex
>>>>> e
>>>>> cuteProduceConsume.java:136) at
>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadP
>>>>> o
>>>>> ol.java:671) at
>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPo
>>>>> o
>>>>> l.java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>> Caused by: java.lang.IllegalArgumentException: Unknown SQL type
>>>>> -101 at
>>>>> org.apache.calcite.avatica.SqlType.valueOf(SqlType.java:383)
>>>>> at
>>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>>> a
>>>>> .java:385) at
>>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>>> a
>>>>> .java:362) at
>>>>> org.apache.calcite.adapter.jdbc.JdbcTable.getRowType(JdbcTable.java:
>>>>> 117) at
>>>>> org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:
>>>>> 159) at
>>>>> org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.
>>>>> j
>>>>> ava:99) at
>>>>> org.apache.calcite.sql.validate.DelegatingScope.resolveTable(Delega
>>>>> t
>>>>> ingScope.java:203) at
>>>>> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(Ide
>>>>> n
>>>>> tifierNamespace.java:105) at
>>>>> org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(Id
>>>>> e
>>>>> ntifierNamespace.java:177) at
>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>>> N
>>>>> amespace.java:84) at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>>> S
>>>>> qlValidatorImpl.java:1009) at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>>> a
>>>>> lidatorImpl.java:969) at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>>> l
>>>>> idatorImpl.java:3129) at
>>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>>> e
>>>>> From(DrillValidator.java:63) at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>>> l
>>>>> idatorImpl.java:3111) at
>>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>>> e
>>>>> From(DrillValidator.java:63) at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(Sql
>>>>> V
>>>>> alidatorImpl.java:3383) at
>>>>> org.apache.calcite.sql.validate.SelectNamespace.validateImpl(Select
>>>>> N
>>>>> amespace.java:60) at
>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>>> N
>>>>> amespace.java:84) at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>>> S
>>>>> qlValidatorImpl.java:1009) at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>>> a
>>>>> lidatorImpl.java:969) at
>>>>> org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:216)
>>>>> at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpr
>>>>> e
>>>>> ssion(SqlValidatorImpl.java:944) at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValida
>>>>> t
>>>>> orImpl.java:651) at
>>>>> org.apache.drill.exec.planner.sql.conversion.SqlConverter.validate(
>>>>> S
>>>>> qlConverter.java:189) at
>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>>> t
>>>>> eNode(DefaultSqlHandler.java:641) at
>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>>> t
>>>>> eAndConvert(DefaultSqlHandler.java:195)
>>>>> at
>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPla
>>>>> n
>>>>> (DefaultSqlHandler.java:169) at
>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(Drill
>>>>> S
>>>>> qlWorker.java:283) at
>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan(Dr
>>>>> i
>>>>> llSqlWorker.java:163) at
>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillS
>>>>> q
>>>>> lWorker.java:128) at
>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWo
>>>>> r
>>>>> ker.java:93) at
>>>>> org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:593)
>>>>> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:274)
>>>>> at .......(:0)
>>>>>
>>>>>
>>>>>
>>>>> -----Original Message-----
>>>>> From: Charles Givre <cg...@gmail.com>
>>>>> Sent: Tuesday, June 23, 2020 4:35 PM
>>>>> To: user@drill.apache.org
>>>>> Subject: Re: Initial Oracle Setup
>>>>>
>>>>> One more thing...
>>>>>
>>>>> Could you run the query that is producing the VALIDATION ERROR and send the full stack trace?  I'm thinking that can be fixed on the Drill end of things, at least until Calcite fixes that.
>>>>> -- C
>>>>>
>>>>>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>
>>>>>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
>>>>>>
>>>>>> I think the only thing I'm having an issue with now I think is
>>>>>> related to this:
>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.
>>>>>> org
>>>>>> _jira_browse_CALCITE-2D3533&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BY
>>>>>> R
>>>>>> bCB
>>>>>> lPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=g39OzDxVVrucBo3nnaZNaIqoh9
>>>>>> S ZZi
>>>>>> dthZ3H6QSOkWE&s=oVohCx-25EZLkSVY7yEV1FtFZ-nNDTnGvek4Sx67nYc&e=
>>>>>>
>>>>>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Rafael Jaimes III <ra...@gmail.com>
>>>>>> Sent: Tuesday, June 23, 2020 3:43 PM
>>>>>> To: user@drill.apache.org
>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>
>>>>>> Glad you got it working with the new version regardless!
>>>>>>
>>>>>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>>>>>>>
>>>>>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>>> Sent: Tuesday, June 23, 2020 3:31 PM
>>>>>>> To: user@drill.apache.org
>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>
>>>>>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>> Sent: Tuesday, June 23, 2020 3:23 PM
>>>>>>> To: user <us...@drill.apache.org>
>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>
>>>>>>> It hasn't been released yet, so you'd have to d/l from github
>>>>>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>> a
>>>>>>> pac
>>>>>>> h
>>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>>> l
>>>>>>> lmV
>>>>>>> q
>>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>>> =
>>>>>>> C8v
>>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>> a
>>>>>>> pac
>>>>>>> h
>>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>>> l
>>>>>>> lmV
>>>>>>> q
>>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>>> =
>>>>>>> C8v
>>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from
>>>>>>> source.
>>>>>>> If you can't do that, I have a pre-release here:
>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_c
>>>>>>> g
>>>>>>> ivr
>>>>>>> e
>>>>>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7W
>>>>>>> I
>>>>>>> 0-D
>>>>>>> P
>>>>>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZS
>>>>>>> N
>>>>>>> loM
>>>>>>> 5
>>>>>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-
>>>>>>> q
>>>>>>> XY0
>>>>>>> &
>>>>>>> e=
>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>> c
>>>>>>> giv
>>>>>>> r
>>>>>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7
>>>>>>> W
>>>>>>> I0-
>>>>>>> D
>>>>>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZ
>>>>>>> S
>>>>>>> Nlo
>>>>>>> M
>>>>>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H
>>>>>>> -
>>>>>>> qXY
>>>>>>> 0
>>>>>>> &e= >
>>>>>>>
>>>>>>>
>>>>>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>
>>>>>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: Christopher Kane
>>>>>>>> <ch...@cardconnect.com.INVALID>
>>>>>>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>>>>>>> To: user@drill.apache.org
>>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>>
>>>>>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>>>>>>> To: user@drill.apache.org
>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>
>>>>>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>>>>>>>
>>>>>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>
>>>>>>>>> On both the directory of drill and on startup I am running
>>>>>>>>> Apache Drill 1.17.0
>>>>>>>>>
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Charles Givre <cgivre@gmail.com
>>>>>>>>> <ma...@gmail.com>>
>>>>>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>>>>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>
>>>>>>>>> One more question.. what version of Drill are you using?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>>
>>>>>>>>>> Rafael
>>>>>>>>>> -I did place it in the jars/3rdparty folder.
>>>>>>>>>>
>>>>>>>>>> Storage Plugin Config:
>>>>>>>>>> {
>>>>>>>>>> "type": "jdbc",
>>>>>>>>>> "enabled": true,
>>>>>>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>>>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>>>>>>> }
>>>>>>>>>> (it's been modified to remove sensitive information)
>>>>>>>>>>
>>>>>>>>>> Charles
>>>>>>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>>>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>>>>>>>
>>>>>>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>>>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/
>>>>>>>>>> update
>>>>>>>>>> plugin: QA2 Oracle
>>>>>>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
>>>>>>>>>> Failure setting up new storage plugin configuration for config
>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>>>>>>> at
>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>>> t
>>>>>>>>>> ora
>>>>>>>>>> ge
>>>>>>>>>> P
>>>>>>>>>> l
>>>>>>>>>> uginRegistryImpl.java:536) at
>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOr
>>>>>>>>>> U
>>>>>>>>>> pda
>>>>>>>>>> te
>>>>>>>>>> (
>>>>>>>>>> S
>>>>>>>>>> toragePluginRegistryImpl.java:132)
>>>>>>>>>> at
>>>>>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOr
>>>>>>>>>> U
>>>>>>>>>> pda
>>>>>>>>>> te
>>>>>>>>>> I
>>>>>>>>>> n
>>>>>>>>>> Storage(PluginConfigWrapper.java:56)
>>>>>>>>>> at
>>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>>> a
>>>>>>>>>> teP
>>>>>>>>>> lu
>>>>>>>>>> g
>>>>>>>>>> i
>>>>>>>>>> nJSON(StorageResources.java:212) at
>>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>>> a
>>>>>>>>>> teP
>>>>>>>>>> lu
>>>>>>>>>> g
>>>>>>>>>> i
>>>>>>>>>> n(StorageResources.java:233) at
>>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>>> 0
>>>>>>>>>> (Na
>>>>>>>>>> ti
>>>>>>>>>> v
>>>>>>>>>> e
>>>>>>>>>> Method) at
>>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>>> (
>>>>>>>>>> Nat
>>>>>>>>>> iv
>>>>>>>>>> e
>>>>>>>>>> M
>>>>>>>>>> ethodAccessorImpl.java:62) at
>>>>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.in
>>>>>>>>>> v
>>>>>>>>>> oke
>>>>>>>>>> (D
>>>>>>>>>> e
>>>>>>>>>> l
>>>>>>>>>> egatingMethodAccessorImpl.java:43)
>>>>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvoc
>>>>>>>>>> a
>>>>>>>>>> tio
>>>>>>>>>> nH
>>>>>>>>>> a
>>>>>>>>>> n
>>>>>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.ja
>>>>>>>>>> v
>>>>>>>>>> a:8
>>>>>>>>>> 1)
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>> e
>>>>>>>>>> Met
>>>>>>>>>> ho
>>>>>>>>>> d
>>>>>>>>>> D
>>>>>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>> e
>>>>>>>>>> Met
>>>>>>>>>> ho
>>>>>>>>>> d
>>>>>>>>>> D
>>>>>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161
>>>>>>>>>> )
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodD
>>>>>>>>>> i
>>>>>>>>>> spa
>>>>>>>>>> tc
>>>>>>>>>> h
>>>>>>>>>> e
>>>>>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatch
>>>>>>>>>> e
>>>>>>>>>> rPr
>>>>>>>>>> ov
>>>>>>>>>> i
>>>>>>>>>> d
>>>>>>>>>> er.java:205) at
>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>> e
>>>>>>>>>> Met
>>>>>>>>>> ho
>>>>>>>>>> d
>>>>>>>>>> D
>>>>>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:9
>>>>>>>>>> 9
>>>>>>>>>> )
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke
>>>>>>>>>> (
>>>>>>>>>> Res
>>>>>>>>>> ou
>>>>>>>>>> r
>>>>>>>>>> c
>>>>>>>>>> eMethodInvoker.java:389) at
>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>>> R
>>>>>>>>>> eso
>>>>>>>>>> ur
>>>>>>>>>> c
>>>>>>>>>> e
>>>>>>>>>> MethodInvoker.java:347) at
>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>>> R
>>>>>>>>>> eso
>>>>>>>>>> ur
>>>>>>>>>> c
>>>>>>>>>> e
>>>>>>>>>> MethodInvoker.java:102) at
>>>>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.
>>>>>>>>>> j
>>>>>>>>>> ava
>>>>>>>>>> :3
>>>>>>>>>> 2
>>>>>>>>>> 6
>>>>>>>>>> ) at
>>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(
>>>>>>>>>> R
>>>>>>>>>> equ
>>>>>>>>>> es
>>>>>>>>>> t
>>>>>>>>>> S
>>>>>>>>>> cope.java:317) at
>>>>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>>>>>>> 3
>>>>>>>>>> 05) at
>>>>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(Applicat
>>>>>>>>>> i
>>>>>>>>>> onH
>>>>>>>>>> an
>>>>>>>>>> d
>>>>>>>>>> l
>>>>>>>>>> er.java:1154) at
>>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebCompo
>>>>>>>>>> n
>>>>>>>>>> ent
>>>>>>>>>> .j
>>>>>>>>>> a
>>>>>>>>>> v
>>>>>>>>>> a:473) at
>>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>>>>> 4
>>>>>>>>>> 2
>>>>>>>>>> 7) at
>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>> o
>>>>>>>>>> nta
>>>>>>>>>> in
>>>>>>>>>> e
>>>>>>>>>> r
>>>>>>>>>> .java:388) at
>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>> o
>>>>>>>>>> nta
>>>>>>>>>> in
>>>>>>>>>> e
>>>>>>>>>> r
>>>>>>>>>> .java:341) at
>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>> o
>>>>>>>>>> nta
>>>>>>>>>> in
>>>>>>>>>> e
>>>>>>>>>> r
>>>>>>>>>> .java:228) at
>>>>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>>>>>>> 84
>>>>>>>>>> 8
>>>>>>>>>> )
>>>>>>>>>> at
>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>> S
>>>>>>>>>> erv
>>>>>>>>>> le
>>>>>>>>>> t
>>>>>>>>>> H
>>>>>>>>>> andler.java:1780) at
>>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFi
>>>>>>>>>> l
>>>>>>>>>> ter
>>>>>>>>>> (C
>>>>>>>>>> s
>>>>>>>>>> r
>>>>>>>>>> fTokenValidateFilter.java:55) at
>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>> S
>>>>>>>>>> erv
>>>>>>>>>> le
>>>>>>>>>> t
>>>>>>>>>> H
>>>>>>>>>> andler.java:1767) at
>>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilt
>>>>>>>>>> e
>>>>>>>>>> r(C
>>>>>>>>>> sr
>>>>>>>>>> f
>>>>>>>>>> T
>>>>>>>>>> okenInjectFilter.java:54) at
>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>> S
>>>>>>>>>> erv
>>>>>>>>>> le
>>>>>>>>>> t
>>>>>>>>>> H
>>>>>>>>>> andler.java:1767) at
>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>>>>>>> 583) at
>>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(Sessi
>>>>>>>>>> o
>>>>>>>>>> nHa
>>>>>>>>>> nd
>>>>>>>>>> l
>>>>>>>>>> e
>>>>>>>>>> r.java:224) at
>>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(Conte
>>>>>>>>>> x
>>>>>>>>>> tHa
>>>>>>>>>> nd
>>>>>>>>>> l
>>>>>>>>>> e
>>>>>>>>>> r.java:1180) at
>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>>>>>>> 5
>>>>>>>>>> 13) at
>>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(Sessio
>>>>>>>>>> n
>>>>>>>>>> Han
>>>>>>>>>> dl
>>>>>>>>>> e
>>>>>>>>>> r
>>>>>>>>>> .java:185) at
>>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(Contex
>>>>>>>>>> t
>>>>>>>>>> Han
>>>>>>>>>> dl
>>>>>>>>>> e
>>>>>>>>>> r
>>>>>>>>>> .java:1112) at
>>>>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>>>>> j
>>>>>>>>>> a
>>>>>>>>>> va:141) at
>>>>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>>>>>>> java:134) at
>>>>>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>>>>>> at
>>>>>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:3
>>>>>>>>>> 3
>>>>>>>>>> 3)
>>>>>>>>>> at
>>>>>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>>>>>>> ja
>>>>>>>>>> v
>>>>>>>>>> a
>>>>>>>>>> :251) at
>>>>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded
>>>>>>>>>> (
>>>>>>>>>> Abs
>>>>>>>>>> tr
>>>>>>>>>> a
>>>>>>>>>> c
>>>>>>>>>> tConnection.java:283) at
>>>>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:1
>>>>>>>>>> 0
>>>>>>>>>> 8)
>>>>>>>>>> at
>>>>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannel
>>>>>>>>>> E
>>>>>>>>>> ndP
>>>>>>>>>> oi
>>>>>>>>>> n
>>>>>>>>>> t
>>>>>>>>>> .java:93) at
>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.e
>>>>>>>>>> x
>>>>>>>>>> ecu
>>>>>>>>>> te
>>>>>>>>>> P
>>>>>>>>>> r
>>>>>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>>>>>>> at
>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.p
>>>>>>>>>> r
>>>>>>>>>> odu
>>>>>>>>>> ce
>>>>>>>>>> C
>>>>>>>>>> o
>>>>>>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>>>>>>> at
>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.r
>>>>>>>>>> u
>>>>>>>>>> n(E
>>>>>>>>>> xe
>>>>>>>>>> c
>>>>>>>>>> u
>>>>>>>>>> teProduceConsume.java:136) at
>>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedTh
>>>>>>>>>> r
>>>>>>>>>> ead
>>>>>>>>>> Po
>>>>>>>>>> o
>>>>>>>>>> l
>>>>>>>>>> .java:671) at
>>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>>>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>>>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>>>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>>>>>>> at
>>>>>>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
>>>>>>>>>> ja
>>>>>>>>>> v
>>>>>>>>>> a
>>>>>>>>>> :78) at
>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelCon
>>>>>>>>>> v
>>>>>>>>>> ert
>>>>>>>>>> er
>>>>>>>>>> R
>>>>>>>>>> u
>>>>>>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>>>>>>> at
>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcCo
>>>>>>>>>> n
>>>>>>>>>> ven
>>>>>>>>>> ti
>>>>>>>>>> o
>>>>>>>>>> n
>>>>>>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>>>>>>> at
>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(Jdbc
>>>>>>>>>> S
>>>>>>>>>> tor
>>>>>>>>>> ag
>>>>>>>>>> e
>>>>>>>>>> P
>>>>>>>>>> lugin.java:103) at
>>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>>> e
>>>>>>>>>> wIn
>>>>>>>>>> st
>>>>>>>>>> a
>>>>>>>>>> n
>>>>>>>>>> ce0(Native Method) at
>>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>>> e
>>>>>>>>>> wIn
>>>>>>>>>> st
>>>>>>>>>> a
>>>>>>>>>> n
>>>>>>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>>>>>>> at
>>>>>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorIm
>>>>>>>>>> p
>>>>>>>>>> l.n
>>>>>>>>>> ew
>>>>>>>>>> I
>>>>>>>>>> n
>>>>>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>>>>>>> at
>>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(
>>>>>>>>>> C
>>>>>>>>>> ons
>>>>>>>>>> tr
>>>>>>>>>> u
>>>>>>>>>> c
>>>>>>>>>> tor.java:500) at
>>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>>>>>>> 4
>>>>>>>>>> 81) at
>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>>> t
>>>>>>>>>> ora
>>>>>>>>>> ge
>>>>>>>>>> P
>>>>>>>>>> l
>>>>>>>>>> uginRegistryImpl.java:528)
>>>>>>>>>> ... 56 common frames omitted
>>>>>>>>>>
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>>
>>>>>>>>>> One more thing...
>>>>>>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>>>>>>> Thanks,
>>>>>>>>>> -- C
>>>>>>>>>>
>>>>>>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>> Hi Chris,
>>>>>>>>>>>
>>>>>>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>>>>>>>
>>>>>>>>>>> You're right you might be onto something if you get the
>>>>>>>>>>> password failed message. Can you post the exact text (JSON)
>>>>>>>>>>> of the storage plugin config?
>>>>>>>>>>>
>>>>>>>>>>> -Rafael
>>>>>>>>>>>
>>>>>>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> Hey Everyone,
>>>>>>>>>>>>
>>>>>>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>>>>>>>
>>>>>>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>>>>>>>
>>>>>>>>>>>> Christopher Kane
>>>>>>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>>>>>>> com>,
>>>>>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>>>>>>> c
>>>>>>>>>>>> o
>>>>>>>>>>>> m>,
>>>>>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fise
>>>>>>>>>>>> m>r
>>>>>>>>>>>> m>v.c
>>>>>>>>>>>> m>om
>>>>>>>>>>>> m>>
>>>>>>>>>>>>
>>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>>
>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>
>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>
>>>>
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>
>>
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>
>
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

RE: Initial Oracle Setup

Posted by Christopher Kane <ch...@cardconnect.com.INVALID>.
Ayyyy!!! That worked! I did the following: CREATE TABLE CKANE.TEST (column_1 INT, column_2 VARCHAR(50));

Then I did select * from CKANE.TEST where column_1=1 and it returned what was expected, column_1 which contained the value of 1 and column_2 which contained the value of test.

As far as telling Oracle to convert it to something different, if that's a database management level change I can't really go that route since I'm unable to change the configuration of Oracle for a POC like this, I kind of have to get it working with the current constraints.

What would be the next data types you'd suggest we try? I listed the data types previously but they are: NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE, so should I start adding a column for each of those until I get the message Unknown SQL Type -101 like before?

-----Original Message-----
From: Charles Givre <cg...@gmail.com>
Sent: Wednesday, June 24, 2020 5:25 PM
To: user@drill.apache.org
Subject: Re: Initial Oracle Setup

Hi Chris,
You’re correct…
Maybe if you can create a simple table with an INT and a VARCHAR column and get Drill to query that. (It should). If that works, let’s try other data types and see what works and what doesn’t.   I’m also wondering if there is some way of telling Oracle to convert the BINARY DOUBLE to some other data type that can be read.  I don’t know enough about Oracle though…
— C


> On Jun 24, 2020, at 5:20 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>
> You know Charles, I think you're right on the money there. Considering what we've tested at this point, I think you're right. So I would like to prove that hypothesis for you, so to confirm do I need to find a schema with tables that do not have a binary double? I might be able to create a table under my personal oracle schema which shouldn't have anything in there currently. We should agree on the SQL used to create the table so we are on the same page before that though.
>
> In my opinion, that sounds like a good thing to do. If my POC works as I am hoping it will, I am hoping that Apache Drill proves to be a useful tool in attempting "end to end" test automation entirely from Postman, since Oracle does not natively provide an API to query. It would be really cool if the idea I have in my head plays out as I'm thinking it will, and I would love for the solution to be used by other people (if it works) which would require Drill to be updated to allow for this to work with Oracle.
>
> -Chris
>
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Wednesday, June 24, 2020 5:13 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
>
> I think the issue is that Drill is receiving a schema from Oracle that is including a binary double column.  At that point, Drill has no idea how to handle that so you get the validation error.  I’d like to prove this hypothesis by successfully querying a table that does not have a binary double (or other unrecognizable column) and getting Drill to successfully read the results.
>
> My other thought is that it might be possible to do something with this via the JDBC config.  Sometimes databases have configuration options which can be passed when you connect, and if Oracle has such options, we might be able to fix this in the connection string.  My gut is telling me at this point that we’re going to have to fix this in Drill by adding some code that basically says if the type is unknown, read the data as a string or something like that.
> — C
>
>
>> On Jun 24, 2020, at 5:02 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>
>> Alright so following that logic of Data Type 101 being a binary double, I did the following:
>> select CAST(merchant_id AS DOUBLE) from biz.merchant where
>> merchant_id=85616270
>>
>> That unfortunately still results in the unknown sql type -101 error. I did want to say that I was able to go onto the CLI and have it list out all the schemas and tables it could find and what it listed was correct so at least we know we are connected to what we should be.
>>
>> -----Original Message-----
>> From: Charles Givre <cg...@gmail.com>
>> Sent: Wednesday, June 24, 2020 4:55 PM
>> To: user@drill.apache.org
>> Subject: Re: Initial Oracle Setup
>>
>> I looked this up… SQL Data Type 101 is a binary double.
>>
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_d
>> atabase_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mhB
>> YFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9K
>> _mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRFs
>> hIVqbqiRRDh2qs&e=
>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_
>> database_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mh
>> BYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9
>> K_mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRF
>> shIVqbqiRRDh2qs&e= >
>>
>>
>>
>>
>>> On Jun 24, 2020, at 4:52 PM, Charles Givre <cg...@gmail.com> wrote:
>>>
>>> Some more questions…
>>> 1.  Are there other tables you can query?  I want to see if we can at
>>> least get something to work ;-) (Although we can read the schema via SHOW TABLES) 2.  Can you try the following query:
>>> SELECT CAST(<some field> AS INT)
>>> FROM merchant….  Basically I’m wondering if we force Drill to map the field to a type, if we can get it to read the data.
>>>
>>>
>>>
>>>> On Jun 24, 2020, at 4:44 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>
>>>> Hey Charles,
>>>>
>>>> I ran a couple of different queries selecting only a single column from the table and it seems multiple columns are all giving me the same unknown sql type -101 error.
>>>> The stacktrace also appears to be the same per column, so to me it appears that the issue is maybe with the format of the data itself coming from Oracle, I'm not too sure at this point.
>>>>
>>>> -Chris
>>>>
>>>> -----Original Message-----
>>>> From: Charles Givre <cg...@gmail.com>
>>>> Sent: Wednesday, June 24, 2020 3:30 PM
>>>> To: user <us...@drill.apache.org>
>>>> Subject: Re: Initial Oracle Setup
>>>>
>>>> Hey Christopher,
>>>> Can you run a query with individual columns so we can see which column is causing the issue?
>>>> Thx,
>>>> --C
>>>>
>>>>
>>>>
>>>>> On Jun 23, 2020, at 5:25 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>
>>>>> Rafael
>>>>> -Okay so doing "show schemas;" (I didn't include the semicolon before) resulted in all of the schemas I was expecting to see be listed, so it's awesome that Drill was actually able to make the connection. So I do think my issue might be with the data types of the columns in the table I'm trying to query.
>>>>>
>>>>> Charles
>>>>> -here are the data types on the table "merchant": NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE.
>>>>> -if I had to take a guess, I would bet money that the problem child here is the timestamp data type.
>>>>>
>>>>> -----Original Message-----
>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>> Sent: Tuesday, June 23, 2020 5:19 PM
>>>>> To: user@drill.apache.org
>>>>> Subject: RE: Initial Oracle Setup
>>>>>
>>>>> Rafael
>>>>> -I am running this in embedded mode on my Windows Laptop and I believe I have access to the shell but I'm not too familiar with the syntax so I'll have to look that up and I'll let you know what I get.
>>>>>
>>>>> Charles
>>>>> -I'm glad you were able to find something about that error because I was having a tough time finding something related to it. I actually thought something similar and actually changed my query to only return the merchant_id of the merchant because I thought maybe there was a column that Drill didn't know how to handle. I will take a look at the stackoverflow link that you sent me and will let you know what I come up with.
>>>>> -Here is the stacktrace for the VALIDATION ERROR:
>>>>> 2020-06-23 17:15:56,017 [qtp409347742-245] ERROR
>>>>> o.a.d.e.server.rest.QueryResources - Query from Web UI Failed: {}
>>>>> org.apache.drill.common.exceptions.UserRemoteException: VALIDATION
>>>>> ERROR: Unknown SQL type -101
>>>>>
>>>>>
>>>>> [Error Id: def7533c-bb11-48da-b770-28c6730a1799 ] at
>>>>> org.apache.drill.exec.server.rest.RestQueryRunner.submitQuery(RestQ
>>>>> u
>>>>> eryRunner.java:181) at
>>>>> org.apache.drill.exec.server.rest.RestQueryRunner.run(RestQueryRunn
>>>>> e
>>>>> r.java:70) at
>>>>> org.apache.drill.exec.server.rest.QueryResources.submitQueryJSON(Qu
>>>>> e
>>>>> ryResources.java:96) at
>>>>> org.apache.drill.exec.server.rest.QueryResources.submitQuery(QueryR
>>>>> e
>>>>> sources.java:114) at
>>>>> jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown
>>>>> Source) at
>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(
>>>>> D
>>>>> elegatingMethodAccessorImpl.java:43)
>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocation
>>>>> H
>>>>> andlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:
>>>>> 8
>>>>> 1) at
>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>> o
>>>>> dDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>> o
>>>>> dDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispat
>>>>> c
>>>>> herProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherP
>>>>> r
>>>>> ovider.java:205) at
>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>> o
>>>>> dDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>>>> at
>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Reso
>>>>> u
>>>>> rceMethodInvoker.java:389) at
>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>>> r
>>>>> ceMethodInvoker.java:347) at
>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>>> r
>>>>> ceMethodInvoker.java:102) at
>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:
>>>>> 3
>>>>> 26) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>> at
>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Reque
>>>>> s
>>>>> tScope.java:317) at
>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.jav
>>>>> a
>>>>> :305) at
>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHa
>>>>> n
>>>>> dler.java:1154) at
>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.
>>>>> j
>>>>> ava:473) at
>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>> 427) at
>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>> n
>>>>> er.java:388) at
>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>> n
>>>>> er.java:341) at
>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>> n
>>>>> er.java:228) at
>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:8
>>>>> 4
>>>>> 8) at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>> e
>>>>> tHandler.java:1780) at
>>>>> org.apache.drill.exec.server.rest.header.ResponseHeadersSettingFilt
>>>>> e
>>>>> r.doFilter(ResponseHeadersSettingFilter.java:71)
>>>>> at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>> e
>>>>> tHandler.java:1767) at
>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(
>>>>> C
>>>>> srfTokenValidateFilter.java:55) at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>> e
>>>>> tHandler.java:1767) at
>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(Cs
>>>>> r
>>>>> fTokenInjectFilter.java:54) at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>> e
>>>>> tHandler.java:1767) at
>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.ja
>>>>> v
>>>>> a:583) at
>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHan
>>>>> d
>>>>> ler.java:224) at
>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHan
>>>>> d
>>>>> ler.java:1180) at
>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.jav
>>>>> a
>>>>> :513) at
>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHand
>>>>> l
>>>>> er.java:185) at
>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHand
>>>>> l
>>>>> er.java:1112) at
>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>> java:141) at
>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapp
>>>>> e
>>>>> r.java:134) at
>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>> at
>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>>>> at
>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.j
>>>>> a
>>>>> va:251) at
>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abst
>>>>> r
>>>>> actConnection.java:283) at
>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>>>> at
>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPo
>>>>> i
>>>>> nt.java:93) at
>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execut
>>>>> e
>>>>> ProduceConsume(ExecuteProduceConsume.java:303)
>>>>> at
>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produc
>>>>> e
>>>>> Consume(ExecuteProduceConsume.java:148)
>>>>> at
>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Ex
>>>>> e
>>>>> cuteProduceConsume.java:136) at
>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadP
>>>>> o
>>>>> ol.java:671) at
>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPo
>>>>> o
>>>>> l.java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>> Caused by: java.lang.IllegalArgumentException: Unknown SQL type
>>>>> -101 at
>>>>> org.apache.calcite.avatica.SqlType.valueOf(SqlType.java:383)
>>>>> at
>>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>>> a
>>>>> .java:385) at
>>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>>> a
>>>>> .java:362) at
>>>>> org.apache.calcite.adapter.jdbc.JdbcTable.getRowType(JdbcTable.java:
>>>>> 117) at
>>>>> org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:
>>>>> 159) at
>>>>> org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.
>>>>> j
>>>>> ava:99) at
>>>>> org.apache.calcite.sql.validate.DelegatingScope.resolveTable(Delega
>>>>> t
>>>>> ingScope.java:203) at
>>>>> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(Ide
>>>>> n
>>>>> tifierNamespace.java:105) at
>>>>> org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(Id
>>>>> e
>>>>> ntifierNamespace.java:177) at
>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>>> N
>>>>> amespace.java:84) at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>>> S
>>>>> qlValidatorImpl.java:1009) at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>>> a
>>>>> lidatorImpl.java:969) at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>>> l
>>>>> idatorImpl.java:3129) at
>>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>>> e
>>>>> From(DrillValidator.java:63) at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>>> l
>>>>> idatorImpl.java:3111) at
>>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>>> e
>>>>> From(DrillValidator.java:63) at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(Sql
>>>>> V
>>>>> alidatorImpl.java:3383) at
>>>>> org.apache.calcite.sql.validate.SelectNamespace.validateImpl(Select
>>>>> N
>>>>> amespace.java:60) at
>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>>> N
>>>>> amespace.java:84) at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>>> S
>>>>> qlValidatorImpl.java:1009) at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>>> a
>>>>> lidatorImpl.java:969) at
>>>>> org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:216)
>>>>> at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpr
>>>>> e
>>>>> ssion(SqlValidatorImpl.java:944) at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValida
>>>>> t
>>>>> orImpl.java:651) at
>>>>> org.apache.drill.exec.planner.sql.conversion.SqlConverter.validate(
>>>>> S
>>>>> qlConverter.java:189) at
>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>>> t
>>>>> eNode(DefaultSqlHandler.java:641) at
>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>>> t
>>>>> eAndConvert(DefaultSqlHandler.java:195)
>>>>> at
>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPla
>>>>> n
>>>>> (DefaultSqlHandler.java:169) at
>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(Drill
>>>>> S
>>>>> qlWorker.java:283) at
>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan(Dr
>>>>> i
>>>>> llSqlWorker.java:163) at
>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillS
>>>>> q
>>>>> lWorker.java:128) at
>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWo
>>>>> r
>>>>> ker.java:93) at
>>>>> org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:593)
>>>>> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:274)
>>>>> at .......(:0)
>>>>>
>>>>>
>>>>>
>>>>> -----Original Message-----
>>>>> From: Charles Givre <cg...@gmail.com>
>>>>> Sent: Tuesday, June 23, 2020 4:35 PM
>>>>> To: user@drill.apache.org
>>>>> Subject: Re: Initial Oracle Setup
>>>>>
>>>>> One more thing...
>>>>>
>>>>> Could you run the query that is producing the VALIDATION ERROR and send the full stack trace?  I'm thinking that can be fixed on the Drill end of things, at least until Calcite fixes that.
>>>>> -- C
>>>>>
>>>>>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>
>>>>>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
>>>>>>
>>>>>> I think the only thing I'm having an issue with now I think is
>>>>>> related to this:
>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.
>>>>>> org
>>>>>> _jira_browse_CALCITE-2D3533&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BY
>>>>>> R
>>>>>> bCB
>>>>>> lPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=g39OzDxVVrucBo3nnaZNaIqoh9
>>>>>> S ZZi
>>>>>> dthZ3H6QSOkWE&s=oVohCx-25EZLkSVY7yEV1FtFZ-nNDTnGvek4Sx67nYc&e=
>>>>>>
>>>>>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Rafael Jaimes III <ra...@gmail.com>
>>>>>> Sent: Tuesday, June 23, 2020 3:43 PM
>>>>>> To: user@drill.apache.org
>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>
>>>>>> Glad you got it working with the new version regardless!
>>>>>>
>>>>>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>>>>>>>
>>>>>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>>> Sent: Tuesday, June 23, 2020 3:31 PM
>>>>>>> To: user@drill.apache.org
>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>
>>>>>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>> Sent: Tuesday, June 23, 2020 3:23 PM
>>>>>>> To: user <us...@drill.apache.org>
>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>
>>>>>>> It hasn't been released yet, so you'd have to d/l from github
>>>>>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>> a
>>>>>>> pac
>>>>>>> h
>>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>>> l
>>>>>>> lmV
>>>>>>> q
>>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>>> =
>>>>>>> C8v
>>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>> a
>>>>>>> pac
>>>>>>> h
>>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>>> l
>>>>>>> lmV
>>>>>>> q
>>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>>> =
>>>>>>> C8v
>>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from
>>>>>>> source.
>>>>>>> If you can't do that, I have a pre-release here:
>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_c
>>>>>>> g
>>>>>>> ivr
>>>>>>> e
>>>>>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7W
>>>>>>> I
>>>>>>> 0-D
>>>>>>> P
>>>>>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZS
>>>>>>> N
>>>>>>> loM
>>>>>>> 5
>>>>>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-
>>>>>>> q
>>>>>>> XY0
>>>>>>> &
>>>>>>> e=
>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>> c
>>>>>>> giv
>>>>>>> r
>>>>>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7
>>>>>>> W
>>>>>>> I0-
>>>>>>> D
>>>>>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZ
>>>>>>> S
>>>>>>> Nlo
>>>>>>> M
>>>>>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H
>>>>>>> -
>>>>>>> qXY
>>>>>>> 0
>>>>>>> &e= >
>>>>>>>
>>>>>>>
>>>>>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>
>>>>>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: Christopher Kane
>>>>>>>> <ch...@cardconnect.com.INVALID>
>>>>>>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>>>>>>> To: user@drill.apache.org
>>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>>
>>>>>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>>>>>>> To: user@drill.apache.org
>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>
>>>>>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>>>>>>>
>>>>>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>
>>>>>>>>> On both the directory of drill and on startup I am running
>>>>>>>>> Apache Drill 1.17.0
>>>>>>>>>
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Charles Givre <cgivre@gmail.com
>>>>>>>>> <ma...@gmail.com>>
>>>>>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>>>>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>
>>>>>>>>> One more question.. what version of Drill are you using?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>>
>>>>>>>>>> Rafael
>>>>>>>>>> -I did place it in the jars/3rdparty folder.
>>>>>>>>>>
>>>>>>>>>> Storage Plugin Config:
>>>>>>>>>> {
>>>>>>>>>> "type": "jdbc",
>>>>>>>>>> "enabled": true,
>>>>>>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>>>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>>>>>>> }
>>>>>>>>>> (it's been modified to remove sensitive information)
>>>>>>>>>>
>>>>>>>>>> Charles
>>>>>>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>>>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>>>>>>>
>>>>>>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>>>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/
>>>>>>>>>> update
>>>>>>>>>> plugin: QA2 Oracle
>>>>>>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
>>>>>>>>>> Failure setting up new storage plugin configuration for config
>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>>>>>>> at
>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>>> t
>>>>>>>>>> ora
>>>>>>>>>> ge
>>>>>>>>>> P
>>>>>>>>>> l
>>>>>>>>>> uginRegistryImpl.java:536) at
>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOr
>>>>>>>>>> U
>>>>>>>>>> pda
>>>>>>>>>> te
>>>>>>>>>> (
>>>>>>>>>> S
>>>>>>>>>> toragePluginRegistryImpl.java:132)
>>>>>>>>>> at
>>>>>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOr
>>>>>>>>>> U
>>>>>>>>>> pda
>>>>>>>>>> te
>>>>>>>>>> I
>>>>>>>>>> n
>>>>>>>>>> Storage(PluginConfigWrapper.java:56)
>>>>>>>>>> at
>>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>>> a
>>>>>>>>>> teP
>>>>>>>>>> lu
>>>>>>>>>> g
>>>>>>>>>> i
>>>>>>>>>> nJSON(StorageResources.java:212) at
>>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>>> a
>>>>>>>>>> teP
>>>>>>>>>> lu
>>>>>>>>>> g
>>>>>>>>>> i
>>>>>>>>>> n(StorageResources.java:233) at
>>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>>> 0
>>>>>>>>>> (Na
>>>>>>>>>> ti
>>>>>>>>>> v
>>>>>>>>>> e
>>>>>>>>>> Method) at
>>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>>> (
>>>>>>>>>> Nat
>>>>>>>>>> iv
>>>>>>>>>> e
>>>>>>>>>> M
>>>>>>>>>> ethodAccessorImpl.java:62) at
>>>>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.in
>>>>>>>>>> v
>>>>>>>>>> oke
>>>>>>>>>> (D
>>>>>>>>>> e
>>>>>>>>>> l
>>>>>>>>>> egatingMethodAccessorImpl.java:43)
>>>>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvoc
>>>>>>>>>> a
>>>>>>>>>> tio
>>>>>>>>>> nH
>>>>>>>>>> a
>>>>>>>>>> n
>>>>>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.ja
>>>>>>>>>> v
>>>>>>>>>> a:8
>>>>>>>>>> 1)
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>> e
>>>>>>>>>> Met
>>>>>>>>>> ho
>>>>>>>>>> d
>>>>>>>>>> D
>>>>>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>> e
>>>>>>>>>> Met
>>>>>>>>>> ho
>>>>>>>>>> d
>>>>>>>>>> D
>>>>>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161
>>>>>>>>>> )
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodD
>>>>>>>>>> i
>>>>>>>>>> spa
>>>>>>>>>> tc
>>>>>>>>>> h
>>>>>>>>>> e
>>>>>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatch
>>>>>>>>>> e
>>>>>>>>>> rPr
>>>>>>>>>> ov
>>>>>>>>>> i
>>>>>>>>>> d
>>>>>>>>>> er.java:205) at
>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>> e
>>>>>>>>>> Met
>>>>>>>>>> ho
>>>>>>>>>> d
>>>>>>>>>> D
>>>>>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:9
>>>>>>>>>> 9
>>>>>>>>>> )
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke
>>>>>>>>>> (
>>>>>>>>>> Res
>>>>>>>>>> ou
>>>>>>>>>> r
>>>>>>>>>> c
>>>>>>>>>> eMethodInvoker.java:389) at
>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>>> R
>>>>>>>>>> eso
>>>>>>>>>> ur
>>>>>>>>>> c
>>>>>>>>>> e
>>>>>>>>>> MethodInvoker.java:347) at
>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>>> R
>>>>>>>>>> eso
>>>>>>>>>> ur
>>>>>>>>>> c
>>>>>>>>>> e
>>>>>>>>>> MethodInvoker.java:102) at
>>>>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.
>>>>>>>>>> j
>>>>>>>>>> ava
>>>>>>>>>> :3
>>>>>>>>>> 2
>>>>>>>>>> 6
>>>>>>>>>> ) at
>>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(
>>>>>>>>>> R
>>>>>>>>>> equ
>>>>>>>>>> es
>>>>>>>>>> t
>>>>>>>>>> S
>>>>>>>>>> cope.java:317) at
>>>>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>>>>>>> 3
>>>>>>>>>> 05) at
>>>>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(Applicat
>>>>>>>>>> i
>>>>>>>>>> onH
>>>>>>>>>> an
>>>>>>>>>> d
>>>>>>>>>> l
>>>>>>>>>> er.java:1154) at
>>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebCompo
>>>>>>>>>> n
>>>>>>>>>> ent
>>>>>>>>>> .j
>>>>>>>>>> a
>>>>>>>>>> v
>>>>>>>>>> a:473) at
>>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>>>>> 4
>>>>>>>>>> 2
>>>>>>>>>> 7) at
>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>> o
>>>>>>>>>> nta
>>>>>>>>>> in
>>>>>>>>>> e
>>>>>>>>>> r
>>>>>>>>>> .java:388) at
>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>> o
>>>>>>>>>> nta
>>>>>>>>>> in
>>>>>>>>>> e
>>>>>>>>>> r
>>>>>>>>>> .java:341) at
>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>> o
>>>>>>>>>> nta
>>>>>>>>>> in
>>>>>>>>>> e
>>>>>>>>>> r
>>>>>>>>>> .java:228) at
>>>>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>>>>>>> 84
>>>>>>>>>> 8
>>>>>>>>>> )
>>>>>>>>>> at
>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>> S
>>>>>>>>>> erv
>>>>>>>>>> le
>>>>>>>>>> t
>>>>>>>>>> H
>>>>>>>>>> andler.java:1780) at
>>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFi
>>>>>>>>>> l
>>>>>>>>>> ter
>>>>>>>>>> (C
>>>>>>>>>> s
>>>>>>>>>> r
>>>>>>>>>> fTokenValidateFilter.java:55) at
>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>> S
>>>>>>>>>> erv
>>>>>>>>>> le
>>>>>>>>>> t
>>>>>>>>>> H
>>>>>>>>>> andler.java:1767) at
>>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilt
>>>>>>>>>> e
>>>>>>>>>> r(C
>>>>>>>>>> sr
>>>>>>>>>> f
>>>>>>>>>> T
>>>>>>>>>> okenInjectFilter.java:54) at
>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>> S
>>>>>>>>>> erv
>>>>>>>>>> le
>>>>>>>>>> t
>>>>>>>>>> H
>>>>>>>>>> andler.java:1767) at
>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>>>>>>> 583) at
>>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(Sessi
>>>>>>>>>> o
>>>>>>>>>> nHa
>>>>>>>>>> nd
>>>>>>>>>> l
>>>>>>>>>> e
>>>>>>>>>> r.java:224) at
>>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(Conte
>>>>>>>>>> x
>>>>>>>>>> tHa
>>>>>>>>>> nd
>>>>>>>>>> l
>>>>>>>>>> e
>>>>>>>>>> r.java:1180) at
>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>>>>>>> 5
>>>>>>>>>> 13) at
>>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(Sessio
>>>>>>>>>> n
>>>>>>>>>> Han
>>>>>>>>>> dl
>>>>>>>>>> e
>>>>>>>>>> r
>>>>>>>>>> .java:185) at
>>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(Contex
>>>>>>>>>> t
>>>>>>>>>> Han
>>>>>>>>>> dl
>>>>>>>>>> e
>>>>>>>>>> r
>>>>>>>>>> .java:1112) at
>>>>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>>>>> j
>>>>>>>>>> a
>>>>>>>>>> va:141) at
>>>>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>>>>>>> java:134) at
>>>>>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>>>>>> at
>>>>>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:3
>>>>>>>>>> 3
>>>>>>>>>> 3)
>>>>>>>>>> at
>>>>>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>>>>>>> ja
>>>>>>>>>> v
>>>>>>>>>> a
>>>>>>>>>> :251) at
>>>>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded
>>>>>>>>>> (
>>>>>>>>>> Abs
>>>>>>>>>> tr
>>>>>>>>>> a
>>>>>>>>>> c
>>>>>>>>>> tConnection.java:283) at
>>>>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:1
>>>>>>>>>> 0
>>>>>>>>>> 8)
>>>>>>>>>> at
>>>>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannel
>>>>>>>>>> E
>>>>>>>>>> ndP
>>>>>>>>>> oi
>>>>>>>>>> n
>>>>>>>>>> t
>>>>>>>>>> .java:93) at
>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.e
>>>>>>>>>> x
>>>>>>>>>> ecu
>>>>>>>>>> te
>>>>>>>>>> P
>>>>>>>>>> r
>>>>>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>>>>>>> at
>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.p
>>>>>>>>>> r
>>>>>>>>>> odu
>>>>>>>>>> ce
>>>>>>>>>> C
>>>>>>>>>> o
>>>>>>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>>>>>>> at
>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.r
>>>>>>>>>> u
>>>>>>>>>> n(E
>>>>>>>>>> xe
>>>>>>>>>> c
>>>>>>>>>> u
>>>>>>>>>> teProduceConsume.java:136) at
>>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedTh
>>>>>>>>>> r
>>>>>>>>>> ead
>>>>>>>>>> Po
>>>>>>>>>> o
>>>>>>>>>> l
>>>>>>>>>> .java:671) at
>>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>>>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>>>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>>>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>>>>>>> at
>>>>>>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
>>>>>>>>>> ja
>>>>>>>>>> v
>>>>>>>>>> a
>>>>>>>>>> :78) at
>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelCon
>>>>>>>>>> v
>>>>>>>>>> ert
>>>>>>>>>> er
>>>>>>>>>> R
>>>>>>>>>> u
>>>>>>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>>>>>>> at
>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcCo
>>>>>>>>>> n
>>>>>>>>>> ven
>>>>>>>>>> ti
>>>>>>>>>> o
>>>>>>>>>> n
>>>>>>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>>>>>>> at
>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(Jdbc
>>>>>>>>>> S
>>>>>>>>>> tor
>>>>>>>>>> ag
>>>>>>>>>> e
>>>>>>>>>> P
>>>>>>>>>> lugin.java:103) at
>>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>>> e
>>>>>>>>>> wIn
>>>>>>>>>> st
>>>>>>>>>> a
>>>>>>>>>> n
>>>>>>>>>> ce0(Native Method) at
>>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>>> e
>>>>>>>>>> wIn
>>>>>>>>>> st
>>>>>>>>>> a
>>>>>>>>>> n
>>>>>>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>>>>>>> at
>>>>>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorIm
>>>>>>>>>> p
>>>>>>>>>> l.n
>>>>>>>>>> ew
>>>>>>>>>> I
>>>>>>>>>> n
>>>>>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>>>>>>> at
>>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(
>>>>>>>>>> C
>>>>>>>>>> ons
>>>>>>>>>> tr
>>>>>>>>>> u
>>>>>>>>>> c
>>>>>>>>>> tor.java:500) at
>>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>>>>>>> 4
>>>>>>>>>> 81) at
>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>>> t
>>>>>>>>>> ora
>>>>>>>>>> ge
>>>>>>>>>> P
>>>>>>>>>> l
>>>>>>>>>> uginRegistryImpl.java:528)
>>>>>>>>>> ... 56 common frames omitted
>>>>>>>>>>
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>>
>>>>>>>>>> One more thing...
>>>>>>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>>>>>>> Thanks,
>>>>>>>>>> -- C
>>>>>>>>>>
>>>>>>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>> Hi Chris,
>>>>>>>>>>>
>>>>>>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>>>>>>>
>>>>>>>>>>> You're right you might be onto something if you get the
>>>>>>>>>>> password failed message. Can you post the exact text (JSON)
>>>>>>>>>>> of the storage plugin config?
>>>>>>>>>>>
>>>>>>>>>>> -Rafael
>>>>>>>>>>>
>>>>>>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> Hey Everyone,
>>>>>>>>>>>>
>>>>>>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>>>>>>>
>>>>>>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>>>>>>>
>>>>>>>>>>>> Christopher Kane
>>>>>>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>>>>>>> com>,
>>>>>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>>>>>>> c
>>>>>>>>>>>> o
>>>>>>>>>>>> m>,
>>>>>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fise
>>>>>>>>>>>> m>r
>>>>>>>>>>>> m>v.c
>>>>>>>>>>>> m>om
>>>>>>>>>>>> m>>
>>>>>>>>>>>>
>>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>>
>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>
>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>
>>>>
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>
>>
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>
>
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

Re: Initial Oracle Setup

Posted by Charles Givre <cg...@gmail.com>.
Hi Chris, 
You’re correct… 
Maybe if you can create a simple table with an INT and a VARCHAR column and get Drill to query that. (It should). If that works, let’s try other data types and see what works and what doesn’t.   I’m also wondering if there is some way of telling Oracle to convert the BINARY DOUBLE to some other data type that can be read.  I don’t know enough about Oracle though…
— C


> On Jun 24, 2020, at 5:20 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> 
> You know Charles, I think you're right on the money there. Considering what we've tested at this point, I think you're right. So I would like to prove that hypothesis for you, so to confirm do I need to find a schema with tables that do not have a binary double? I might be able to create a table under my personal oracle schema which shouldn't have anything in there currently. We should agree on the SQL used to create the table so we are on the same page before that though.
> 
> In my opinion, that sounds like a good thing to do. If my POC works as I am hoping it will, I am hoping that Apache Drill proves to be a useful tool in attempting "end to end" test automation entirely from Postman, since Oracle does not natively provide an API to query. It would be really cool if the idea I have in my head plays out as I'm thinking it will, and I would love for the solution to be used by other people (if it works) which would require Drill to be updated to allow for this to work with Oracle.
> 
> -Chris
> 
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Wednesday, June 24, 2020 5:13 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
> 
> I think the issue is that Drill is receiving a schema from Oracle that is including a binary double column.  At that point, Drill has no idea how to handle that so you get the validation error.  I’d like to prove this hypothesis by successfully querying a table that does not have a binary double (or other unrecognizable column) and getting Drill to successfully read the results.
> 
> My other thought is that it might be possible to do something with this via the JDBC config.  Sometimes databases have configuration options which can be passed when you connect, and if Oracle has such options, we might be able to fix this in the connection string.  My gut is telling me at this point that we’re going to have to fix this in Drill by adding some code that basically says if the type is unknown, read the data as a string or something like that.
> — C
> 
> 
>> On Jun 24, 2020, at 5:02 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>> 
>> Alright so following that logic of Data Type 101 being a binary double, I did the following:
>> select CAST(merchant_id AS DOUBLE) from biz.merchant where
>> merchant_id=85616270
>> 
>> That unfortunately still results in the unknown sql type -101 error. I did want to say that I was able to go onto the CLI and have it list out all the schemas and tables it could find and what it listed was correct so at least we know we are connected to what we should be.
>> 
>> -----Original Message-----
>> From: Charles Givre <cg...@gmail.com>
>> Sent: Wednesday, June 24, 2020 4:55 PM
>> To: user@drill.apache.org
>> Subject: Re: Initial Oracle Setup
>> 
>> I looked this up… SQL Data Type 101 is a binary double.
>> 
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_d
>> atabase_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mhB
>> YFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9K
>> _mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRFs
>> hIVqbqiRRDh2qs&e=
>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_
>> database_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mh
>> BYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9
>> K_mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRF
>> shIVqbqiRRDh2qs&e= >
>> 
>> 
>> 
>> 
>>> On Jun 24, 2020, at 4:52 PM, Charles Givre <cg...@gmail.com> wrote:
>>> 
>>> Some more questions…
>>> 1.  Are there other tables you can query?  I want to see if we can at
>>> least get something to work ;-) (Although we can read the schema via SHOW TABLES) 2.  Can you try the following query:
>>> SELECT CAST(<some field> AS INT)
>>> FROM merchant….  Basically I’m wondering if we force Drill to map the field to a type, if we can get it to read the data.
>>> 
>>> 
>>> 
>>>> On Jun 24, 2020, at 4:44 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>> 
>>>> Hey Charles,
>>>> 
>>>> I ran a couple of different queries selecting only a single column from the table and it seems multiple columns are all giving me the same unknown sql type -101 error.
>>>> The stacktrace also appears to be the same per column, so to me it appears that the issue is maybe with the format of the data itself coming from Oracle, I'm not too sure at this point.
>>>> 
>>>> -Chris
>>>> 
>>>> -----Original Message-----
>>>> From: Charles Givre <cg...@gmail.com>
>>>> Sent: Wednesday, June 24, 2020 3:30 PM
>>>> To: user <us...@drill.apache.org>
>>>> Subject: Re: Initial Oracle Setup
>>>> 
>>>> Hey Christopher,
>>>> Can you run a query with individual columns so we can see which column is causing the issue?
>>>> Thx,
>>>> --C
>>>> 
>>>> 
>>>> 
>>>>> On Jun 23, 2020, at 5:25 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>> 
>>>>> Rafael
>>>>> -Okay so doing "show schemas;" (I didn't include the semicolon before) resulted in all of the schemas I was expecting to see be listed, so it's awesome that Drill was actually able to make the connection. So I do think my issue might be with the data types of the columns in the table I'm trying to query.
>>>>> 
>>>>> Charles
>>>>> -here are the data types on the table "merchant": NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE.
>>>>> -if I had to take a guess, I would bet money that the problem child here is the timestamp data type.
>>>>> 
>>>>> -----Original Message-----
>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>> Sent: Tuesday, June 23, 2020 5:19 PM
>>>>> To: user@drill.apache.org
>>>>> Subject: RE: Initial Oracle Setup
>>>>> 
>>>>> Rafael
>>>>> -I am running this in embedded mode on my Windows Laptop and I believe I have access to the shell but I'm not too familiar with the syntax so I'll have to look that up and I'll let you know what I get.
>>>>> 
>>>>> Charles
>>>>> -I'm glad you were able to find something about that error because I was having a tough time finding something related to it. I actually thought something similar and actually changed my query to only return the merchant_id of the merchant because I thought maybe there was a column that Drill didn't know how to handle. I will take a look at the stackoverflow link that you sent me and will let you know what I come up with.
>>>>> -Here is the stacktrace for the VALIDATION ERROR:
>>>>> 2020-06-23 17:15:56,017 [qtp409347742-245] ERROR
>>>>> o.a.d.e.server.rest.QueryResources - Query from Web UI Failed: {}
>>>>> org.apache.drill.common.exceptions.UserRemoteException: VALIDATION
>>>>> ERROR: Unknown SQL type -101
>>>>> 
>>>>> 
>>>>> [Error Id: def7533c-bb11-48da-b770-28c6730a1799 ] at
>>>>> org.apache.drill.exec.server.rest.RestQueryRunner.submitQuery(RestQ
>>>>> u
>>>>> eryRunner.java:181) at
>>>>> org.apache.drill.exec.server.rest.RestQueryRunner.run(RestQueryRunn
>>>>> e
>>>>> r.java:70) at
>>>>> org.apache.drill.exec.server.rest.QueryResources.submitQueryJSON(Qu
>>>>> e
>>>>> ryResources.java:96) at
>>>>> org.apache.drill.exec.server.rest.QueryResources.submitQuery(QueryR
>>>>> e
>>>>> sources.java:114) at
>>>>> jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown
>>>>> Source) at
>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(
>>>>> D
>>>>> elegatingMethodAccessorImpl.java:43)
>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocation
>>>>> H
>>>>> andlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:
>>>>> 8
>>>>> 1) at
>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>> o
>>>>> dDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>> o
>>>>> dDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispat
>>>>> c
>>>>> herProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherP
>>>>> r
>>>>> ovider.java:205) at
>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>>> o
>>>>> dDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>>>> at
>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Reso
>>>>> u
>>>>> rceMethodInvoker.java:389) at
>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>>> r
>>>>> ceMethodInvoker.java:347) at
>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>>> r
>>>>> ceMethodInvoker.java:102) at
>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:
>>>>> 3
>>>>> 26) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>> at
>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Reque
>>>>> s
>>>>> tScope.java:317) at
>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.jav
>>>>> a
>>>>> :305) at
>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHa
>>>>> n
>>>>> dler.java:1154) at
>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.
>>>>> j
>>>>> ava:473) at
>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>> 427) at
>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>> n
>>>>> er.java:388) at
>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>> n
>>>>> er.java:341) at
>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>>> n
>>>>> er.java:228) at
>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:8
>>>>> 4
>>>>> 8) at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>> e
>>>>> tHandler.java:1780) at
>>>>> org.apache.drill.exec.server.rest.header.ResponseHeadersSettingFilt
>>>>> e
>>>>> r.doFilter(ResponseHeadersSettingFilter.java:71)
>>>>> at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>> e
>>>>> tHandler.java:1767) at
>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(
>>>>> C
>>>>> srfTokenValidateFilter.java:55) at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>> e
>>>>> tHandler.java:1767) at
>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(Cs
>>>>> r
>>>>> fTokenInjectFilter.java:54) at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>>> e
>>>>> tHandler.java:1767) at
>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.ja
>>>>> v
>>>>> a:583) at
>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHan
>>>>> d
>>>>> ler.java:224) at
>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHan
>>>>> d
>>>>> ler.java:1180) at
>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.jav
>>>>> a
>>>>> :513) at
>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHand
>>>>> l
>>>>> er.java:185) at
>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHand
>>>>> l
>>>>> er.java:1112) at
>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>> java:141) at
>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapp
>>>>> e
>>>>> r.java:134) at
>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>> at
>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>>>> at
>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.j
>>>>> a
>>>>> va:251) at
>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abst
>>>>> r
>>>>> actConnection.java:283) at
>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>>>> at
>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPo
>>>>> i
>>>>> nt.java:93) at
>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execut
>>>>> e
>>>>> ProduceConsume(ExecuteProduceConsume.java:303)
>>>>> at
>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produc
>>>>> e
>>>>> Consume(ExecuteProduceConsume.java:148)
>>>>> at
>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Ex
>>>>> e
>>>>> cuteProduceConsume.java:136) at
>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadP
>>>>> o
>>>>> ol.java:671) at
>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPo
>>>>> o
>>>>> l.java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>> Caused by: java.lang.IllegalArgumentException: Unknown SQL type
>>>>> -101 at
>>>>> org.apache.calcite.avatica.SqlType.valueOf(SqlType.java:383)
>>>>> at
>>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>>> a
>>>>> .java:385) at
>>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>>> a
>>>>> .java:362) at
>>>>> org.apache.calcite.adapter.jdbc.JdbcTable.getRowType(JdbcTable.java:
>>>>> 117) at
>>>>> org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:
>>>>> 159) at
>>>>> org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.
>>>>> j
>>>>> ava:99) at
>>>>> org.apache.calcite.sql.validate.DelegatingScope.resolveTable(Delega
>>>>> t
>>>>> ingScope.java:203) at
>>>>> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(Ide
>>>>> n
>>>>> tifierNamespace.java:105) at
>>>>> org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(Id
>>>>> e
>>>>> ntifierNamespace.java:177) at
>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>>> N
>>>>> amespace.java:84) at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>>> S
>>>>> qlValidatorImpl.java:1009) at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>>> a
>>>>> lidatorImpl.java:969) at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>>> l
>>>>> idatorImpl.java:3129) at
>>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>>> e
>>>>> From(DrillValidator.java:63) at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>>> l
>>>>> idatorImpl.java:3111) at
>>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>>> e
>>>>> From(DrillValidator.java:63) at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(Sql
>>>>> V
>>>>> alidatorImpl.java:3383) at
>>>>> org.apache.calcite.sql.validate.SelectNamespace.validateImpl(Select
>>>>> N
>>>>> amespace.java:60) at
>>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>>> N
>>>>> amespace.java:84) at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>>> S
>>>>> qlValidatorImpl.java:1009) at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>>> a
>>>>> lidatorImpl.java:969) at
>>>>> org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:216)
>>>>> at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpr
>>>>> e
>>>>> ssion(SqlValidatorImpl.java:944) at
>>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValida
>>>>> t
>>>>> orImpl.java:651) at
>>>>> org.apache.drill.exec.planner.sql.conversion.SqlConverter.validate(
>>>>> S
>>>>> qlConverter.java:189) at
>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>>> t
>>>>> eNode(DefaultSqlHandler.java:641) at
>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>>> t
>>>>> eAndConvert(DefaultSqlHandler.java:195)
>>>>> at
>>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPla
>>>>> n
>>>>> (DefaultSqlHandler.java:169) at
>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(Drill
>>>>> S
>>>>> qlWorker.java:283) at
>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan(Dr
>>>>> i
>>>>> llSqlWorker.java:163) at
>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillS
>>>>> q
>>>>> lWorker.java:128) at
>>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWo
>>>>> r
>>>>> ker.java:93) at
>>>>> org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:593)
>>>>> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:274)
>>>>> at .......(:0)
>>>>> 
>>>>> 
>>>>> 
>>>>> -----Original Message-----
>>>>> From: Charles Givre <cg...@gmail.com>
>>>>> Sent: Tuesday, June 23, 2020 4:35 PM
>>>>> To: user@drill.apache.org
>>>>> Subject: Re: Initial Oracle Setup
>>>>> 
>>>>> One more thing...
>>>>> 
>>>>> Could you run the query that is producing the VALIDATION ERROR and send the full stack trace?  I'm thinking that can be fixed on the Drill end of things, at least until Calcite fixes that.
>>>>> -- C
>>>>> 
>>>>>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>> 
>>>>>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
>>>>>> 
>>>>>> I think the only thing I'm having an issue with now I think is
>>>>>> related to this:
>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.
>>>>>> org
>>>>>> _jira_browse_CALCITE-2D3533&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BY
>>>>>> R
>>>>>> bCB
>>>>>> lPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=g39OzDxVVrucBo3nnaZNaIqoh9
>>>>>> S ZZi
>>>>>> dthZ3H6QSOkWE&s=oVohCx-25EZLkSVY7yEV1FtFZ-nNDTnGvek4Sx67nYc&e=
>>>>>> 
>>>>>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
>>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: Rafael Jaimes III <ra...@gmail.com>
>>>>>> Sent: Tuesday, June 23, 2020 3:43 PM
>>>>>> To: user@drill.apache.org
>>>>>> Subject: Re: Initial Oracle Setup
>>>>>> 
>>>>>> Glad you got it working with the new version regardless!
>>>>>> 
>>>>>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>>>>>>> 
>>>>>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>>>>>>> 
>>>>>>> -----Original Message-----
>>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>>> Sent: Tuesday, June 23, 2020 3:31 PM
>>>>>>> To: user@drill.apache.org
>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>> 
>>>>>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>>>>>>> 
>>>>>>> -----Original Message-----
>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>> Sent: Tuesday, June 23, 2020 3:23 PM
>>>>>>> To: user <us...@drill.apache.org>
>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>> 
>>>>>>> It hasn't been released yet, so you'd have to d/l from github
>>>>>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>> a
>>>>>>> pac
>>>>>>> h
>>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>>> l
>>>>>>> lmV
>>>>>>> q
>>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>>> =
>>>>>>> C8v
>>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>> a
>>>>>>> pac
>>>>>>> h
>>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>>> l
>>>>>>> lmV
>>>>>>> q
>>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>>> =
>>>>>>> C8v
>>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from
>>>>>>> source.
>>>>>>> If you can't do that, I have a pre-release here:
>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_c
>>>>>>> g
>>>>>>> ivr
>>>>>>> e
>>>>>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7W
>>>>>>> I
>>>>>>> 0-D
>>>>>>> P
>>>>>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZS
>>>>>>> N
>>>>>>> loM
>>>>>>> 5
>>>>>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-
>>>>>>> q
>>>>>>> XY0
>>>>>>> &
>>>>>>> e=
>>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>>> c
>>>>>>> giv
>>>>>>> r
>>>>>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7
>>>>>>> W
>>>>>>> I0-
>>>>>>> D
>>>>>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZ
>>>>>>> S
>>>>>>> Nlo
>>>>>>> M
>>>>>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H
>>>>>>> -
>>>>>>> qXY
>>>>>>> 0
>>>>>>> &e= >
>>>>>>> 
>>>>>>> 
>>>>>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>> 
>>>>>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>>>>>>> 
>>>>>>>> -----Original Message-----
>>>>>>>> From: Christopher Kane
>>>>>>>> <ch...@cardconnect.com.INVALID>
>>>>>>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>>>>>>> To: user@drill.apache.org
>>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>> 
>>>>>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>>>>>>> 
>>>>>>>> -----Original Message-----
>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>>>>>>> To: user@drill.apache.org
>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>> 
>>>>>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>>>>>>> 
>>>>>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>> 
>>>>>>>>> On both the directory of drill and on startup I am running
>>>>>>>>> Apache Drill 1.17.0
>>>>>>>>> 
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Charles Givre <cgivre@gmail.com
>>>>>>>>> <ma...@gmail.com>>
>>>>>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>>>>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>> 
>>>>>>>>> One more question.. what version of Drill are you using?
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>> 
>>>>>>>>>> Rafael
>>>>>>>>>> -I did place it in the jars/3rdparty folder.
>>>>>>>>>> 
>>>>>>>>>> Storage Plugin Config:
>>>>>>>>>> {
>>>>>>>>>> "type": "jdbc",
>>>>>>>>>> "enabled": true,
>>>>>>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>>>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>>>>>>> }
>>>>>>>>>> (it's been modified to remove sensitive information)
>>>>>>>>>> 
>>>>>>>>>> Charles
>>>>>>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>>>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>>>>>>> 
>>>>>>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>>>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/
>>>>>>>>>> update
>>>>>>>>>> plugin: QA2 Oracle
>>>>>>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
>>>>>>>>>> Failure setting up new storage plugin configuration for config
>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>>>>>>> at
>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>>> t
>>>>>>>>>> ora
>>>>>>>>>> ge
>>>>>>>>>> P
>>>>>>>>>> l
>>>>>>>>>> uginRegistryImpl.java:536) at
>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOr
>>>>>>>>>> U
>>>>>>>>>> pda
>>>>>>>>>> te
>>>>>>>>>> (
>>>>>>>>>> S
>>>>>>>>>> toragePluginRegistryImpl.java:132)
>>>>>>>>>> at
>>>>>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOr
>>>>>>>>>> U
>>>>>>>>>> pda
>>>>>>>>>> te
>>>>>>>>>> I
>>>>>>>>>> n
>>>>>>>>>> Storage(PluginConfigWrapper.java:56)
>>>>>>>>>> at
>>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>>> a
>>>>>>>>>> teP
>>>>>>>>>> lu
>>>>>>>>>> g
>>>>>>>>>> i
>>>>>>>>>> nJSON(StorageResources.java:212) at
>>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>>> a
>>>>>>>>>> teP
>>>>>>>>>> lu
>>>>>>>>>> g
>>>>>>>>>> i
>>>>>>>>>> n(StorageResources.java:233) at
>>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>>> 0
>>>>>>>>>> (Na
>>>>>>>>>> ti
>>>>>>>>>> v
>>>>>>>>>> e
>>>>>>>>>> Method) at
>>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>>> (
>>>>>>>>>> Nat
>>>>>>>>>> iv
>>>>>>>>>> e
>>>>>>>>>> M
>>>>>>>>>> ethodAccessorImpl.java:62) at
>>>>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.in
>>>>>>>>>> v
>>>>>>>>>> oke
>>>>>>>>>> (D
>>>>>>>>>> e
>>>>>>>>>> l
>>>>>>>>>> egatingMethodAccessorImpl.java:43)
>>>>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvoc
>>>>>>>>>> a
>>>>>>>>>> tio
>>>>>>>>>> nH
>>>>>>>>>> a
>>>>>>>>>> n
>>>>>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.ja
>>>>>>>>>> v
>>>>>>>>>> a:8
>>>>>>>>>> 1)
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>> e
>>>>>>>>>> Met
>>>>>>>>>> ho
>>>>>>>>>> d
>>>>>>>>>> D
>>>>>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>> e
>>>>>>>>>> Met
>>>>>>>>>> ho
>>>>>>>>>> d
>>>>>>>>>> D
>>>>>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161
>>>>>>>>>> )
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodD
>>>>>>>>>> i
>>>>>>>>>> spa
>>>>>>>>>> tc
>>>>>>>>>> h
>>>>>>>>>> e
>>>>>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatch
>>>>>>>>>> e
>>>>>>>>>> rPr
>>>>>>>>>> ov
>>>>>>>>>> i
>>>>>>>>>> d
>>>>>>>>>> er.java:205) at
>>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>>> e
>>>>>>>>>> Met
>>>>>>>>>> ho
>>>>>>>>>> d
>>>>>>>>>> D
>>>>>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:9
>>>>>>>>>> 9
>>>>>>>>>> )
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke
>>>>>>>>>> (
>>>>>>>>>> Res
>>>>>>>>>> ou
>>>>>>>>>> r
>>>>>>>>>> c
>>>>>>>>>> eMethodInvoker.java:389) at
>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>>> R
>>>>>>>>>> eso
>>>>>>>>>> ur
>>>>>>>>>> c
>>>>>>>>>> e
>>>>>>>>>> MethodInvoker.java:347) at
>>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>>> R
>>>>>>>>>> eso
>>>>>>>>>> ur
>>>>>>>>>> c
>>>>>>>>>> e
>>>>>>>>>> MethodInvoker.java:102) at
>>>>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.
>>>>>>>>>> j
>>>>>>>>>> ava
>>>>>>>>>> :3
>>>>>>>>>> 2
>>>>>>>>>> 6
>>>>>>>>>> ) at
>>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>>>>>> at
>>>>>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(
>>>>>>>>>> R
>>>>>>>>>> equ
>>>>>>>>>> es
>>>>>>>>>> t
>>>>>>>>>> S
>>>>>>>>>> cope.java:317) at
>>>>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>>>>>>> 3
>>>>>>>>>> 05) at
>>>>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(Applicat
>>>>>>>>>> i
>>>>>>>>>> onH
>>>>>>>>>> an
>>>>>>>>>> d
>>>>>>>>>> l
>>>>>>>>>> er.java:1154) at
>>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebCompo
>>>>>>>>>> n
>>>>>>>>>> ent
>>>>>>>>>> .j
>>>>>>>>>> a
>>>>>>>>>> v
>>>>>>>>>> a:473) at
>>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>>>>> 4
>>>>>>>>>> 2
>>>>>>>>>> 7) at
>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>> o
>>>>>>>>>> nta
>>>>>>>>>> in
>>>>>>>>>> e
>>>>>>>>>> r
>>>>>>>>>> .java:388) at
>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>> o
>>>>>>>>>> nta
>>>>>>>>>> in
>>>>>>>>>> e
>>>>>>>>>> r
>>>>>>>>>> .java:341) at
>>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>>> o
>>>>>>>>>> nta
>>>>>>>>>> in
>>>>>>>>>> e
>>>>>>>>>> r
>>>>>>>>>> .java:228) at
>>>>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>>>>>>> 84
>>>>>>>>>> 8
>>>>>>>>>> )
>>>>>>>>>> at
>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>> S
>>>>>>>>>> erv
>>>>>>>>>> le
>>>>>>>>>> t
>>>>>>>>>> H
>>>>>>>>>> andler.java:1780) at
>>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFi
>>>>>>>>>> l
>>>>>>>>>> ter
>>>>>>>>>> (C
>>>>>>>>>> s
>>>>>>>>>> r
>>>>>>>>>> fTokenValidateFilter.java:55) at
>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>> S
>>>>>>>>>> erv
>>>>>>>>>> le
>>>>>>>>>> t
>>>>>>>>>> H
>>>>>>>>>> andler.java:1767) at
>>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilt
>>>>>>>>>> e
>>>>>>>>>> r(C
>>>>>>>>>> sr
>>>>>>>>>> f
>>>>>>>>>> T
>>>>>>>>>> okenInjectFilter.java:54) at
>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>>> S
>>>>>>>>>> erv
>>>>>>>>>> le
>>>>>>>>>> t
>>>>>>>>>> H
>>>>>>>>>> andler.java:1767) at
>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>>>>>>> 583) at
>>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(Sessi
>>>>>>>>>> o
>>>>>>>>>> nHa
>>>>>>>>>> nd
>>>>>>>>>> l
>>>>>>>>>> e
>>>>>>>>>> r.java:224) at
>>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(Conte
>>>>>>>>>> x
>>>>>>>>>> tHa
>>>>>>>>>> nd
>>>>>>>>>> l
>>>>>>>>>> e
>>>>>>>>>> r.java:1180) at
>>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>>>>>>> 5
>>>>>>>>>> 13) at
>>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(Sessio
>>>>>>>>>> n
>>>>>>>>>> Han
>>>>>>>>>> dl
>>>>>>>>>> e
>>>>>>>>>> r
>>>>>>>>>> .java:185) at
>>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(Contex
>>>>>>>>>> t
>>>>>>>>>> Han
>>>>>>>>>> dl
>>>>>>>>>> e
>>>>>>>>>> r
>>>>>>>>>> .java:1112) at
>>>>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>>>>> j
>>>>>>>>>> a
>>>>>>>>>> va:141) at
>>>>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>>>>>>> java:134) at
>>>>>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>>>>>> at
>>>>>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:3
>>>>>>>>>> 3
>>>>>>>>>> 3)
>>>>>>>>>> at
>>>>>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>>>>>>> ja
>>>>>>>>>> v
>>>>>>>>>> a
>>>>>>>>>> :251) at
>>>>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded
>>>>>>>>>> (
>>>>>>>>>> Abs
>>>>>>>>>> tr
>>>>>>>>>> a
>>>>>>>>>> c
>>>>>>>>>> tConnection.java:283) at
>>>>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:1
>>>>>>>>>> 0
>>>>>>>>>> 8)
>>>>>>>>>> at
>>>>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannel
>>>>>>>>>> E
>>>>>>>>>> ndP
>>>>>>>>>> oi
>>>>>>>>>> n
>>>>>>>>>> t
>>>>>>>>>> .java:93) at
>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.e
>>>>>>>>>> x
>>>>>>>>>> ecu
>>>>>>>>>> te
>>>>>>>>>> P
>>>>>>>>>> r
>>>>>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>>>>>>> at
>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.p
>>>>>>>>>> r
>>>>>>>>>> odu
>>>>>>>>>> ce
>>>>>>>>>> C
>>>>>>>>>> o
>>>>>>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>>>>>>> at
>>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.r
>>>>>>>>>> u
>>>>>>>>>> n(E
>>>>>>>>>> xe
>>>>>>>>>> c
>>>>>>>>>> u
>>>>>>>>>> teProduceConsume.java:136) at
>>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedTh
>>>>>>>>>> r
>>>>>>>>>> ead
>>>>>>>>>> Po
>>>>>>>>>> o
>>>>>>>>>> l
>>>>>>>>>> .java:671) at
>>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>>>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>>>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>>>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>>>>>>> at
>>>>>>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
>>>>>>>>>> ja
>>>>>>>>>> v
>>>>>>>>>> a
>>>>>>>>>> :78) at
>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelCon
>>>>>>>>>> v
>>>>>>>>>> ert
>>>>>>>>>> er
>>>>>>>>>> R
>>>>>>>>>> u
>>>>>>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>>>>>>> at
>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcCo
>>>>>>>>>> n
>>>>>>>>>> ven
>>>>>>>>>> ti
>>>>>>>>>> o
>>>>>>>>>> n
>>>>>>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>>>>>>> at
>>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(Jdbc
>>>>>>>>>> S
>>>>>>>>>> tor
>>>>>>>>>> ag
>>>>>>>>>> e
>>>>>>>>>> P
>>>>>>>>>> lugin.java:103) at
>>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>>> e
>>>>>>>>>> wIn
>>>>>>>>>> st
>>>>>>>>>> a
>>>>>>>>>> n
>>>>>>>>>> ce0(Native Method) at
>>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>>> e
>>>>>>>>>> wIn
>>>>>>>>>> st
>>>>>>>>>> a
>>>>>>>>>> n
>>>>>>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>>>>>>> at
>>>>>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorIm
>>>>>>>>>> p
>>>>>>>>>> l.n
>>>>>>>>>> ew
>>>>>>>>>> I
>>>>>>>>>> n
>>>>>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>>>>>>> at
>>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(
>>>>>>>>>> C
>>>>>>>>>> ons
>>>>>>>>>> tr
>>>>>>>>>> u
>>>>>>>>>> c
>>>>>>>>>> tor.java:500) at
>>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>>>>>>> 4
>>>>>>>>>> 81) at
>>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>>> t
>>>>>>>>>> ora
>>>>>>>>>> ge
>>>>>>>>>> P
>>>>>>>>>> l
>>>>>>>>>> uginRegistryImpl.java:528)
>>>>>>>>>> ... 56 common frames omitted
>>>>>>>>>> 
>>>>>>>>>> -----Original Message-----
>>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>>>>>>> To: user@drill.apache.org
>>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>> 
>>>>>>>>>> One more thing...
>>>>>>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>>>>>>> Thanks,
>>>>>>>>>> -- C
>>>>>>>>>> 
>>>>>>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> Hi Chris,
>>>>>>>>>>> 
>>>>>>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>>>>>>> 
>>>>>>>>>>> You're right you might be onto something if you get the
>>>>>>>>>>> password failed message. Can you post the exact text (JSON)
>>>>>>>>>>> of the storage plugin config?
>>>>>>>>>>> 
>>>>>>>>>>> -Rafael
>>>>>>>>>>> 
>>>>>>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>> Hey Everyone,
>>>>>>>>>>>> 
>>>>>>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>>>>>>> 
>>>>>>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>>>>>>> 
>>>>>>>>>>>> Christopher Kane
>>>>>>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>>>>>>> com>,
>>>>>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>>>>>>> c
>>>>>>>>>>>> o
>>>>>>>>>>>> m>,
>>>>>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fise
>>>>>>>>>>>> m>r
>>>>>>>>>>>> m>v.c
>>>>>>>>>>>> m>om
>>>>>>>>>>>> m>>
>>>>>>>>>>>> 
>>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>> 
>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>> 
>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>> 
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>> 
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>> 
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>> 
>>>> 
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>> 
>> 
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> 
> 
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.


RE: Initial Oracle Setup

Posted by Christopher Kane <ch...@cardconnect.com.INVALID>.
You know Charles, I think you're right on the money there. Considering what we've tested at this point, I think you're right. So I would like to prove that hypothesis for you, so to confirm do I need to find a schema with tables that do not have a binary double? I might be able to create a table under my personal oracle schema which shouldn't have anything in there currently. We should agree on the SQL used to create the table so we are on the same page before that though.

In my opinion, that sounds like a good thing to do. If my POC works as I am hoping it will, I am hoping that Apache Drill proves to be a useful tool in attempting "end to end" test automation entirely from Postman, since Oracle does not natively provide an API to query. It would be really cool if the idea I have in my head plays out as I'm thinking it will, and I would love for the solution to be used by other people (if it works) which would require Drill to be updated to allow for this to work with Oracle.

-Chris

-----Original Message-----
From: Charles Givre <cg...@gmail.com>
Sent: Wednesday, June 24, 2020 5:13 PM
To: user@drill.apache.org
Subject: Re: Initial Oracle Setup

I think the issue is that Drill is receiving a schema from Oracle that is including a binary double column.  At that point, Drill has no idea how to handle that so you get the validation error.  I’d like to prove this hypothesis by successfully querying a table that does not have a binary double (or other unrecognizable column) and getting Drill to successfully read the results.

My other thought is that it might be possible to do something with this via the JDBC config.  Sometimes databases have configuration options which can be passed when you connect, and if Oracle has such options, we might be able to fix this in the connection string.  My gut is telling me at this point that we’re going to have to fix this in Drill by adding some code that basically says if the type is unknown, read the data as a string or something like that.
— C


> On Jun 24, 2020, at 5:02 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>
> Alright so following that logic of Data Type 101 being a binary double, I did the following:
> select CAST(merchant_id AS DOUBLE) from biz.merchant where
> merchant_id=85616270
>
> That unfortunately still results in the unknown sql type -101 error. I did want to say that I was able to go onto the CLI and have it list out all the schemas and tables it could find and what it listed was correct so at least we know we are connected to what we should be.
>
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Wednesday, June 24, 2020 4:55 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
>
> I looked this up… SQL Data Type 101 is a binary double.
>
> https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_d
> atabase_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mhB
> YFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9K
> _mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRFs
> hIVqbqiRRDh2qs&e=
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_
> database_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mh
> BYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9
> K_mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRF
> shIVqbqiRRDh2qs&e= >
>
>
>
>
>> On Jun 24, 2020, at 4:52 PM, Charles Givre <cg...@gmail.com> wrote:
>>
>> Some more questions…
>> 1.  Are there other tables you can query?  I want to see if we can at
>> least get something to work ;-) (Although we can read the schema via SHOW TABLES) 2.  Can you try the following query:
>> SELECT CAST(<some field> AS INT)
>> FROM merchant….  Basically I’m wondering if we force Drill to map the field to a type, if we can get it to read the data.
>>
>>
>>
>>> On Jun 24, 2020, at 4:44 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>
>>> Hey Charles,
>>>
>>> I ran a couple of different queries selecting only a single column from the table and it seems multiple columns are all giving me the same unknown sql type -101 error.
>>> The stacktrace also appears to be the same per column, so to me it appears that the issue is maybe with the format of the data itself coming from Oracle, I'm not too sure at this point.
>>>
>>> -Chris
>>>
>>> -----Original Message-----
>>> From: Charles Givre <cg...@gmail.com>
>>> Sent: Wednesday, June 24, 2020 3:30 PM
>>> To: user <us...@drill.apache.org>
>>> Subject: Re: Initial Oracle Setup
>>>
>>> Hey Christopher,
>>> Can you run a query with individual columns so we can see which column is causing the issue?
>>> Thx,
>>> --C
>>>
>>>
>>>
>>>> On Jun 23, 2020, at 5:25 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>
>>>> Rafael
>>>> -Okay so doing "show schemas;" (I didn't include the semicolon before) resulted in all of the schemas I was expecting to see be listed, so it's awesome that Drill was actually able to make the connection. So I do think my issue might be with the data types of the columns in the table I'm trying to query.
>>>>
>>>> Charles
>>>> -here are the data types on the table "merchant": NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE.
>>>> -if I had to take a guess, I would bet money that the problem child here is the timestamp data type.
>>>>
>>>> -----Original Message-----
>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>> Sent: Tuesday, June 23, 2020 5:19 PM
>>>> To: user@drill.apache.org
>>>> Subject: RE: Initial Oracle Setup
>>>>
>>>> Rafael
>>>> -I am running this in embedded mode on my Windows Laptop and I believe I have access to the shell but I'm not too familiar with the syntax so I'll have to look that up and I'll let you know what I get.
>>>>
>>>> Charles
>>>> -I'm glad you were able to find something about that error because I was having a tough time finding something related to it. I actually thought something similar and actually changed my query to only return the merchant_id of the merchant because I thought maybe there was a column that Drill didn't know how to handle. I will take a look at the stackoverflow link that you sent me and will let you know what I come up with.
>>>> -Here is the stacktrace for the VALIDATION ERROR:
>>>> 2020-06-23 17:15:56,017 [qtp409347742-245] ERROR
>>>> o.a.d.e.server.rest.QueryResources - Query from Web UI Failed: {}
>>>> org.apache.drill.common.exceptions.UserRemoteException: VALIDATION
>>>> ERROR: Unknown SQL type -101
>>>>
>>>>
>>>> [Error Id: def7533c-bb11-48da-b770-28c6730a1799 ] at
>>>> org.apache.drill.exec.server.rest.RestQueryRunner.submitQuery(RestQ
>>>> u
>>>> eryRunner.java:181) at
>>>> org.apache.drill.exec.server.rest.RestQueryRunner.run(RestQueryRunn
>>>> e
>>>> r.java:70) at
>>>> org.apache.drill.exec.server.rest.QueryResources.submitQueryJSON(Qu
>>>> e
>>>> ryResources.java:96) at
>>>> org.apache.drill.exec.server.rest.QueryResources.submitQuery(QueryR
>>>> e
>>>> sources.java:114) at
>>>> jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown
>>>> Source) at
>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(
>>>> D
>>>> elegatingMethodAccessorImpl.java:43)
>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>> at
>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocation
>>>> H
>>>> andlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:
>>>> 8
>>>> 1) at
>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>> o
>>>> dDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>> at
>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>> o
>>>> dDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>> at
>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispat
>>>> c
>>>> herProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherP
>>>> r
>>>> ovider.java:205) at
>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMeth
>>>> o
>>>> dDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>>> at
>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Reso
>>>> u
>>>> rceMethodInvoker.java:389) at
>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>> r
>>>> ceMethodInvoker.java:347) at
>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resou
>>>> r
>>>> ceMethodInvoker.java:102) at
>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:
>>>> 3
>>>> 26) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>> at
>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Reque
>>>> s
>>>> tScope.java:317) at
>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.jav
>>>> a
>>>> :305) at
>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHa
>>>> n
>>>> dler.java:1154) at
>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.
>>>> j
>>>> ava:473) at
>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>> 427) at
>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>> n
>>>> er.java:388) at
>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>> n
>>>> er.java:341) at
>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContai
>>>> n
>>>> er.java:228) at
>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:8
>>>> 4
>>>> 8) at
>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>> e
>>>> tHandler.java:1780) at
>>>> org.apache.drill.exec.server.rest.header.ResponseHeadersSettingFilt
>>>> e
>>>> r.doFilter(ResponseHeadersSettingFilter.java:71)
>>>> at
>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>> e
>>>> tHandler.java:1767) at
>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(
>>>> C
>>>> srfTokenValidateFilter.java:55) at
>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>> e
>>>> tHandler.java:1767) at
>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(Cs
>>>> r
>>>> fTokenInjectFilter.java:54) at
>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servl
>>>> e
>>>> tHandler.java:1767) at
>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.ja
>>>> v
>>>> a:583) at
>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHan
>>>> d
>>>> ler.java:224) at
>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHan
>>>> d
>>>> ler.java:1180) at
>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.jav
>>>> a
>>>> :513) at
>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHand
>>>> l
>>>> er.java:185) at
>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHand
>>>> l
>>>> er.java:1112) at
>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>> java:141) at
>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapp
>>>> e
>>>> r.java:134) at
>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>> at
>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>>> at
>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.j
>>>> a
>>>> va:251) at
>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abst
>>>> r
>>>> actConnection.java:283) at
>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>>> at
>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPo
>>>> i
>>>> nt.java:93) at
>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execut
>>>> e
>>>> ProduceConsume(ExecuteProduceConsume.java:303)
>>>> at
>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produc
>>>> e
>>>> Consume(ExecuteProduceConsume.java:148)
>>>> at
>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Ex
>>>> e
>>>> cuteProduceConsume.java:136) at
>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadP
>>>> o
>>>> ol.java:671) at
>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPo
>>>> o
>>>> l.java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>> Caused by: java.lang.IllegalArgumentException: Unknown SQL type
>>>> -101 at
>>>> org.apache.calcite.avatica.SqlType.valueOf(SqlType.java:383)
>>>> at
>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>> a
>>>> .java:385) at
>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchem
>>>> a
>>>> .java:362) at
>>>> org.apache.calcite.adapter.jdbc.JdbcTable.getRowType(JdbcTable.java:
>>>> 117) at
>>>> org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:
>>>> 159) at
>>>> org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.
>>>> j
>>>> ava:99) at
>>>> org.apache.calcite.sql.validate.DelegatingScope.resolveTable(Delega
>>>> t
>>>> ingScope.java:203) at
>>>> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(Ide
>>>> n
>>>> tifierNamespace.java:105) at
>>>> org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(Id
>>>> e
>>>> ntifierNamespace.java:177) at
>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>> N
>>>> amespace.java:84) at
>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>> S
>>>> qlValidatorImpl.java:1009) at
>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>> a
>>>> lidatorImpl.java:969) at
>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>> l
>>>> idatorImpl.java:3129) at
>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>> e
>>>> From(DrillValidator.java:63) at
>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVa
>>>> l
>>>> idatorImpl.java:3111) at
>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validat
>>>> e
>>>> From(DrillValidator.java:63) at
>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(Sql
>>>> V
>>>> alidatorImpl.java:3383) at
>>>> org.apache.calcite.sql.validate.SelectNamespace.validateImpl(Select
>>>> N
>>>> amespace.java:60) at
>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(Abstract
>>>> N
>>>> amespace.java:84) at
>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(
>>>> S
>>>> qlValidatorImpl.java:1009) at
>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlV
>>>> a
>>>> lidatorImpl.java:969) at
>>>> org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:216)
>>>> at
>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpr
>>>> e
>>>> ssion(SqlValidatorImpl.java:944) at
>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValida
>>>> t
>>>> orImpl.java:651) at
>>>> org.apache.drill.exec.planner.sql.conversion.SqlConverter.validate(
>>>> S
>>>> qlConverter.java:189) at
>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>> t
>>>> eNode(DefaultSqlHandler.java:641) at
>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.valida
>>>> t
>>>> eAndConvert(DefaultSqlHandler.java:195)
>>>> at
>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPla
>>>> n
>>>> (DefaultSqlHandler.java:169) at
>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(Drill
>>>> S
>>>> qlWorker.java:283) at
>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan(Dr
>>>> i
>>>> llSqlWorker.java:163) at
>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillS
>>>> q
>>>> lWorker.java:128) at
>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWo
>>>> r
>>>> ker.java:93) at
>>>> org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:593)
>>>> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:274)
>>>> at .......(:0)
>>>>
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: Charles Givre <cg...@gmail.com>
>>>> Sent: Tuesday, June 23, 2020 4:35 PM
>>>> To: user@drill.apache.org
>>>> Subject: Re: Initial Oracle Setup
>>>>
>>>> One more thing...
>>>>
>>>> Could you run the query that is producing the VALIDATION ERROR and send the full stack trace?  I'm thinking that can be fixed on the Drill end of things, at least until Calcite fixes that.
>>>> -- C
>>>>
>>>>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>
>>>>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
>>>>>
>>>>> I think the only thing I'm having an issue with now I think is
>>>>> related to this:
>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.
>>>>> org
>>>>> _jira_browse_CALCITE-2D3533&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BY
>>>>> R
>>>>> bCB
>>>>> lPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=g39OzDxVVrucBo3nnaZNaIqoh9
>>>>> S ZZi
>>>>> dthZ3H6QSOkWE&s=oVohCx-25EZLkSVY7yEV1FtFZ-nNDTnGvek4Sx67nYc&e=
>>>>>
>>>>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
>>>>>
>>>>> -----Original Message-----
>>>>> From: Rafael Jaimes III <ra...@gmail.com>
>>>>> Sent: Tuesday, June 23, 2020 3:43 PM
>>>>> To: user@drill.apache.org
>>>>> Subject: Re: Initial Oracle Setup
>>>>>
>>>>> Glad you got it working with the new version regardless!
>>>>>
>>>>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>>>>>>
>>>>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>> Sent: Tuesday, June 23, 2020 3:31 PM
>>>>>> To: user@drill.apache.org
>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>
>>>>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>> Sent: Tuesday, June 23, 2020 3:23 PM
>>>>>> To: user <us...@drill.apache.org>
>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>
>>>>>> It hasn't been released yet, so you'd have to d/l from github
>>>>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>> a
>>>>>> pac
>>>>>> h
>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>> l
>>>>>> lmV
>>>>>> q
>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>> =
>>>>>> C8v
>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>> a
>>>>>> pac
>>>>>> h
>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>> l
>>>>>> lmV
>>>>>> q
>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>> =
>>>>>> C8v
>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from
>>>>>> source.
>>>>>> If you can't do that, I have a pre-release here:
>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_c
>>>>>> g
>>>>>> ivr
>>>>>> e
>>>>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7W
>>>>>> I
>>>>>> 0-D
>>>>>> P
>>>>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZS
>>>>>> N
>>>>>> loM
>>>>>> 5
>>>>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-
>>>>>> q
>>>>>> XY0
>>>>>> &
>>>>>> e=
>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>> c
>>>>>> giv
>>>>>> r
>>>>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7
>>>>>> W
>>>>>> I0-
>>>>>> D
>>>>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZ
>>>>>> S
>>>>>> Nlo
>>>>>> M
>>>>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H
>>>>>> -
>>>>>> qXY
>>>>>> 0
>>>>>> &e= >
>>>>>>
>>>>>>
>>>>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>
>>>>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Christopher Kane
>>>>>>> <ch...@cardconnect.com.INVALID>
>>>>>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>>>>>> To: user@drill.apache.org
>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>>
>>>>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>>>>>> To: user@drill.apache.org
>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>
>>>>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>>>>>>
>>>>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>
>>>>>>>> On both the directory of drill and on startup I am running
>>>>>>>> Apache Drill 1.17.0
>>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: Charles Givre <cgivre@gmail.com
>>>>>>>> <ma...@gmail.com>>
>>>>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>>>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>
>>>>>>>> One more question.. what version of Drill are you using?
>>>>>>>>
>>>>>>>>
>>>>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>>
>>>>>>>>> Rafael
>>>>>>>>> -I did place it in the jars/3rdparty folder.
>>>>>>>>>
>>>>>>>>> Storage Plugin Config:
>>>>>>>>> {
>>>>>>>>> "type": "jdbc",
>>>>>>>>> "enabled": true,
>>>>>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>>>>>> }
>>>>>>>>> (it's been modified to remove sensitive information)
>>>>>>>>>
>>>>>>>>> Charles
>>>>>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>>>>>>
>>>>>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/
>>>>>>>>> update
>>>>>>>>> plugin: QA2 Oracle
>>>>>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
>>>>>>>>> Failure setting up new storage plugin configuration for config
>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>>>>>> at
>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>> t
>>>>>>>>> ora
>>>>>>>>> ge
>>>>>>>>> P
>>>>>>>>> l
>>>>>>>>> uginRegistryImpl.java:536) at
>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOr
>>>>>>>>> U
>>>>>>>>> pda
>>>>>>>>> te
>>>>>>>>> (
>>>>>>>>> S
>>>>>>>>> toragePluginRegistryImpl.java:132)
>>>>>>>>> at
>>>>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOr
>>>>>>>>> U
>>>>>>>>> pda
>>>>>>>>> te
>>>>>>>>> I
>>>>>>>>> n
>>>>>>>>> Storage(PluginConfigWrapper.java:56)
>>>>>>>>> at
>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>> a
>>>>>>>>> teP
>>>>>>>>> lu
>>>>>>>>> g
>>>>>>>>> i
>>>>>>>>> nJSON(StorageResources.java:212) at
>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>> a
>>>>>>>>> teP
>>>>>>>>> lu
>>>>>>>>> g
>>>>>>>>> i
>>>>>>>>> n(StorageResources.java:233) at
>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>> 0
>>>>>>>>> (Na
>>>>>>>>> ti
>>>>>>>>> v
>>>>>>>>> e
>>>>>>>>> Method) at
>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>> (
>>>>>>>>> Nat
>>>>>>>>> iv
>>>>>>>>> e
>>>>>>>>> M
>>>>>>>>> ethodAccessorImpl.java:62) at
>>>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.in
>>>>>>>>> v
>>>>>>>>> oke
>>>>>>>>> (D
>>>>>>>>> e
>>>>>>>>> l
>>>>>>>>> egatingMethodAccessorImpl.java:43)
>>>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvoc
>>>>>>>>> a
>>>>>>>>> tio
>>>>>>>>> nH
>>>>>>>>> a
>>>>>>>>> n
>>>>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.ja
>>>>>>>>> v
>>>>>>>>> a:8
>>>>>>>>> 1)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>> e
>>>>>>>>> Met
>>>>>>>>> ho
>>>>>>>>> d
>>>>>>>>> D
>>>>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>> e
>>>>>>>>> Met
>>>>>>>>> ho
>>>>>>>>> d
>>>>>>>>> D
>>>>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161
>>>>>>>>> )
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodD
>>>>>>>>> i
>>>>>>>>> spa
>>>>>>>>> tc
>>>>>>>>> h
>>>>>>>>> e
>>>>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatch
>>>>>>>>> e
>>>>>>>>> rPr
>>>>>>>>> ov
>>>>>>>>> i
>>>>>>>>> d
>>>>>>>>> er.java:205) at
>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>> e
>>>>>>>>> Met
>>>>>>>>> ho
>>>>>>>>> d
>>>>>>>>> D
>>>>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:9
>>>>>>>>> 9
>>>>>>>>> )
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke
>>>>>>>>> (
>>>>>>>>> Res
>>>>>>>>> ou
>>>>>>>>> r
>>>>>>>>> c
>>>>>>>>> eMethodInvoker.java:389) at
>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>> R
>>>>>>>>> eso
>>>>>>>>> ur
>>>>>>>>> c
>>>>>>>>> e
>>>>>>>>> MethodInvoker.java:347) at
>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>> R
>>>>>>>>> eso
>>>>>>>>> ur
>>>>>>>>> c
>>>>>>>>> e
>>>>>>>>> MethodInvoker.java:102) at
>>>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.
>>>>>>>>> j
>>>>>>>>> ava
>>>>>>>>> :3
>>>>>>>>> 2
>>>>>>>>> 6
>>>>>>>>> ) at
>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(
>>>>>>>>> R
>>>>>>>>> equ
>>>>>>>>> es
>>>>>>>>> t
>>>>>>>>> S
>>>>>>>>> cope.java:317) at
>>>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>>>>>> 3
>>>>>>>>> 05) at
>>>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(Applicat
>>>>>>>>> i
>>>>>>>>> onH
>>>>>>>>> an
>>>>>>>>> d
>>>>>>>>> l
>>>>>>>>> er.java:1154) at
>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebCompo
>>>>>>>>> n
>>>>>>>>> ent
>>>>>>>>> .j
>>>>>>>>> a
>>>>>>>>> v
>>>>>>>>> a:473) at
>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>>>> 4
>>>>>>>>> 2
>>>>>>>>> 7) at
>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>> o
>>>>>>>>> nta
>>>>>>>>> in
>>>>>>>>> e
>>>>>>>>> r
>>>>>>>>> .java:388) at
>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>> o
>>>>>>>>> nta
>>>>>>>>> in
>>>>>>>>> e
>>>>>>>>> r
>>>>>>>>> .java:341) at
>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>> o
>>>>>>>>> nta
>>>>>>>>> in
>>>>>>>>> e
>>>>>>>>> r
>>>>>>>>> .java:228) at
>>>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>>>>>> 84
>>>>>>>>> 8
>>>>>>>>> )
>>>>>>>>> at
>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>> S
>>>>>>>>> erv
>>>>>>>>> le
>>>>>>>>> t
>>>>>>>>> H
>>>>>>>>> andler.java:1780) at
>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFi
>>>>>>>>> l
>>>>>>>>> ter
>>>>>>>>> (C
>>>>>>>>> s
>>>>>>>>> r
>>>>>>>>> fTokenValidateFilter.java:55) at
>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>> S
>>>>>>>>> erv
>>>>>>>>> le
>>>>>>>>> t
>>>>>>>>> H
>>>>>>>>> andler.java:1767) at
>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilt
>>>>>>>>> e
>>>>>>>>> r(C
>>>>>>>>> sr
>>>>>>>>> f
>>>>>>>>> T
>>>>>>>>> okenInjectFilter.java:54) at
>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>> S
>>>>>>>>> erv
>>>>>>>>> le
>>>>>>>>> t
>>>>>>>>> H
>>>>>>>>> andler.java:1767) at
>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>>>>>> 583) at
>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(Sessi
>>>>>>>>> o
>>>>>>>>> nHa
>>>>>>>>> nd
>>>>>>>>> l
>>>>>>>>> e
>>>>>>>>> r.java:224) at
>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(Conte
>>>>>>>>> x
>>>>>>>>> tHa
>>>>>>>>> nd
>>>>>>>>> l
>>>>>>>>> e
>>>>>>>>> r.java:1180) at
>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>>>>>> 5
>>>>>>>>> 13) at
>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(Sessio
>>>>>>>>> n
>>>>>>>>> Han
>>>>>>>>> dl
>>>>>>>>> e
>>>>>>>>> r
>>>>>>>>> .java:185) at
>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(Contex
>>>>>>>>> t
>>>>>>>>> Han
>>>>>>>>> dl
>>>>>>>>> e
>>>>>>>>> r
>>>>>>>>> .java:1112) at
>>>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>>>> j
>>>>>>>>> a
>>>>>>>>> va:141) at
>>>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>>>>>> java:134) at
>>>>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>>>>> at
>>>>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:3
>>>>>>>>> 3
>>>>>>>>> 3)
>>>>>>>>> at
>>>>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>>>>>> ja
>>>>>>>>> v
>>>>>>>>> a
>>>>>>>>> :251) at
>>>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded
>>>>>>>>> (
>>>>>>>>> Abs
>>>>>>>>> tr
>>>>>>>>> a
>>>>>>>>> c
>>>>>>>>> tConnection.java:283) at
>>>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:1
>>>>>>>>> 0
>>>>>>>>> 8)
>>>>>>>>> at
>>>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannel
>>>>>>>>> E
>>>>>>>>> ndP
>>>>>>>>> oi
>>>>>>>>> n
>>>>>>>>> t
>>>>>>>>> .java:93) at
>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.e
>>>>>>>>> x
>>>>>>>>> ecu
>>>>>>>>> te
>>>>>>>>> P
>>>>>>>>> r
>>>>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>>>>>> at
>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.p
>>>>>>>>> r
>>>>>>>>> odu
>>>>>>>>> ce
>>>>>>>>> C
>>>>>>>>> o
>>>>>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>>>>>> at
>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.r
>>>>>>>>> u
>>>>>>>>> n(E
>>>>>>>>> xe
>>>>>>>>> c
>>>>>>>>> u
>>>>>>>>> teProduceConsume.java:136) at
>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedTh
>>>>>>>>> r
>>>>>>>>> ead
>>>>>>>>> Po
>>>>>>>>> o
>>>>>>>>> l
>>>>>>>>> .java:671) at
>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>>>>>> at
>>>>>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
>>>>>>>>> ja
>>>>>>>>> v
>>>>>>>>> a
>>>>>>>>> :78) at
>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelCon
>>>>>>>>> v
>>>>>>>>> ert
>>>>>>>>> er
>>>>>>>>> R
>>>>>>>>> u
>>>>>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>>>>>> at
>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcCo
>>>>>>>>> n
>>>>>>>>> ven
>>>>>>>>> ti
>>>>>>>>> o
>>>>>>>>> n
>>>>>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>>>>>> at
>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(Jdbc
>>>>>>>>> S
>>>>>>>>> tor
>>>>>>>>> ag
>>>>>>>>> e
>>>>>>>>> P
>>>>>>>>> lugin.java:103) at
>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>> e
>>>>>>>>> wIn
>>>>>>>>> st
>>>>>>>>> a
>>>>>>>>> n
>>>>>>>>> ce0(Native Method) at
>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>> e
>>>>>>>>> wIn
>>>>>>>>> st
>>>>>>>>> a
>>>>>>>>> n
>>>>>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>>>>>> at
>>>>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorIm
>>>>>>>>> p
>>>>>>>>> l.n
>>>>>>>>> ew
>>>>>>>>> I
>>>>>>>>> n
>>>>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>>>>>> at
>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(
>>>>>>>>> C
>>>>>>>>> ons
>>>>>>>>> tr
>>>>>>>>> u
>>>>>>>>> c
>>>>>>>>> tor.java:500) at
>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>>>>>> 4
>>>>>>>>> 81) at
>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>> t
>>>>>>>>> ora
>>>>>>>>> ge
>>>>>>>>> P
>>>>>>>>> l
>>>>>>>>> uginRegistryImpl.java:528)
>>>>>>>>> ... 56 common frames omitted
>>>>>>>>>
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>>>>>> To: user@drill.apache.org
>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>>
>>>>>>>>> One more thing...
>>>>>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>>>>>> Thanks,
>>>>>>>>> -- C
>>>>>>>>>
>>>>>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>> Hi Chris,
>>>>>>>>>>
>>>>>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>>>>>>
>>>>>>>>>> You're right you might be onto something if you get the
>>>>>>>>>> password failed message. Can you post the exact text (JSON)
>>>>>>>>>> of the storage plugin config?
>>>>>>>>>>
>>>>>>>>>> -Rafael
>>>>>>>>>>
>>>>>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>>>>
>>>>>>>>>>> Hey Everyone,
>>>>>>>>>>>
>>>>>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>>>>>>
>>>>>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>>>>>>
>>>>>>>>>>> Christopher Kane
>>>>>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>>>>>> com>,
>>>>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>>>>>> c
>>>>>>>>>>> o
>>>>>>>>>>> m>,
>>>>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fise
>>>>>>>>>>> m>r
>>>>>>>>>>> m>v.c
>>>>>>>>>>> m>om
>>>>>>>>>>> m>>
>>>>>>>>>>>
>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>>
>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>
>>>
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>
>
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.


THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

Re: Initial Oracle Setup

Posted by Charles Givre <cg...@gmail.com>.
I think the issue is that Drill is receiving a schema from Oracle that is including a binary double column.  At that point, Drill has no idea how to handle that so you get the validation error.  I’d like to prove this hypothesis by successfully querying a table that does not have a binary double (or other unrecognizable column) and getting Drill to successfully read the results.  

My other thought is that it might be possible to do something with this via the JDBC config.  Sometimes databases have configuration options which can be passed when you connect, and if Oracle has such options, we might be able to fix this in the connection string.  My gut is telling me at this point that we’re going to have to fix this in Drill by adding some code that basically says if the type is unknown, read the data as a string or something like that.
— C


> On Jun 24, 2020, at 5:02 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> 
> Alright so following that logic of Data Type 101 being a binary double, I did the following:
> select CAST(merchant_id AS DOUBLE) from biz.merchant where merchant_id=85616270
> 
> That unfortunately still results in the unknown sql type -101 error. I did want to say that I was able to go onto the CLI and have it list out all the schemas and tables it could find and what it listed was correct so at least we know we are connected to what we should be.
> 
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Wednesday, June 24, 2020 4:55 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
> 
> I looked this up… SQL Data Type 101 is a binary double.
> 
> https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_database_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9K_mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRFshIVqbqiRRDh2qs&e=  <https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_database_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9K_mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRFshIVqbqiRRDh2qs&e= >
> 
> 
> 
> 
>> On Jun 24, 2020, at 4:52 PM, Charles Givre <cg...@gmail.com> wrote:
>> 
>> Some more questions…
>> 1.  Are there other tables you can query?  I want to see if we can at
>> least get something to work ;-) (Although we can read the schema via SHOW TABLES) 2.  Can you try the following query:
>> SELECT CAST(<some field> AS INT)
>> FROM merchant….  Basically I’m wondering if we force Drill to map the field to a type, if we can get it to read the data.
>> 
>> 
>> 
>>> On Jun 24, 2020, at 4:44 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>> 
>>> Hey Charles,
>>> 
>>> I ran a couple of different queries selecting only a single column from the table and it seems multiple columns are all giving me the same unknown sql type -101 error.
>>> The stacktrace also appears to be the same per column, so to me it appears that the issue is maybe with the format of the data itself coming from Oracle, I'm not too sure at this point.
>>> 
>>> -Chris
>>> 
>>> -----Original Message-----
>>> From: Charles Givre <cg...@gmail.com>
>>> Sent: Wednesday, June 24, 2020 3:30 PM
>>> To: user <us...@drill.apache.org>
>>> Subject: Re: Initial Oracle Setup
>>> 
>>> Hey Christopher,
>>> Can you run a query with individual columns so we can see which column is causing the issue?
>>> Thx,
>>> --C
>>> 
>>> 
>>> 
>>>> On Jun 23, 2020, at 5:25 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>> 
>>>> Rafael
>>>> -Okay so doing "show schemas;" (I didn't include the semicolon before) resulted in all of the schemas I was expecting to see be listed, so it's awesome that Drill was actually able to make the connection. So I do think my issue might be with the data types of the columns in the table I'm trying to query.
>>>> 
>>>> Charles
>>>> -here are the data types on the table "merchant": NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE.
>>>> -if I had to take a guess, I would bet money that the problem child here is the timestamp data type.
>>>> 
>>>> -----Original Message-----
>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>> Sent: Tuesday, June 23, 2020 5:19 PM
>>>> To: user@drill.apache.org
>>>> Subject: RE: Initial Oracle Setup
>>>> 
>>>> Rafael
>>>> -I am running this in embedded mode on my Windows Laptop and I believe I have access to the shell but I'm not too familiar with the syntax so I'll have to look that up and I'll let you know what I get.
>>>> 
>>>> Charles
>>>> -I'm glad you were able to find something about that error because I was having a tough time finding something related to it. I actually thought something similar and actually changed my query to only return the merchant_id of the merchant because I thought maybe there was a column that Drill didn't know how to handle. I will take a look at the stackoverflow link that you sent me and will let you know what I come up with.
>>>> -Here is the stacktrace for the VALIDATION ERROR:
>>>> 2020-06-23 17:15:56,017 [qtp409347742-245] ERROR
>>>> o.a.d.e.server.rest.QueryResources - Query from Web UI Failed: {}
>>>> org.apache.drill.common.exceptions.UserRemoteException: VALIDATION
>>>> ERROR: Unknown SQL type -101
>>>> 
>>>> 
>>>> [Error Id: def7533c-bb11-48da-b770-28c6730a1799 ] at
>>>> org.apache.drill.exec.server.rest.RestQueryRunner.submitQuery(RestQu
>>>> eryRunner.java:181) at
>>>> org.apache.drill.exec.server.rest.RestQueryRunner.run(RestQueryRunne
>>>> r.java:70) at
>>>> org.apache.drill.exec.server.rest.QueryResources.submitQueryJSON(Que
>>>> ryResources.java:96) at
>>>> org.apache.drill.exec.server.rest.QueryResources.submitQuery(QueryRe
>>>> sources.java:114) at
>>>> jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown
>>>> Source) at
>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(D
>>>> elegatingMethodAccessorImpl.java:43)
>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>> at
>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocationH
>>>> andlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:8
>>>> 1) at
>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMetho
>>>> dDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>> at
>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMetho
>>>> dDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>> at
>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatc
>>>> herProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherPr
>>>> ovider.java:205) at
>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMetho
>>>> dDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>>> at
>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Resou
>>>> rceMethodInvoker.java:389) at
>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resour
>>>> ceMethodInvoker.java:347) at
>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resour
>>>> ceMethodInvoker.java:102) at
>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:3
>>>> 26) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>> at
>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Reques
>>>> tScope.java:317) at
>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java
>>>> :305) at
>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHan
>>>> dler.java:1154) at
>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.j
>>>> ava:473) at
>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>> 427) at
>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContain
>>>> er.java:388) at
>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContain
>>>> er.java:341) at
>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContain
>>>> er.java:228) at
>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:84
>>>> 8) at
>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
>>>> tHandler.java:1780) at
>>>> org.apache.drill.exec.server.rest.header.ResponseHeadersSettingFilte
>>>> r.doFilter(ResponseHeadersSettingFilter.java:71)
>>>> at
>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
>>>> tHandler.java:1767) at
>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(C
>>>> srfTokenValidateFilter.java:55) at
>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
>>>> tHandler.java:1767) at
>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(Csr
>>>> fTokenInjectFilter.java:54) at
>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
>>>> tHandler.java:1767) at
>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.jav
>>>> a:583) at
>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHand
>>>> ler.java:224) at
>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHand
>>>> ler.java:1180) at
>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java
>>>> :513) at
>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandl
>>>> er.java:185) at
>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandl
>>>> er.java:1112) at
>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>> java:141) at
>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrappe
>>>> r.java:134) at
>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>>> at
>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.ja
>>>> va:251) at
>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstr
>>>> actConnection.java:283) at
>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>>> at
>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoi
>>>> nt.java:93) at
>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execute
>>>> ProduceConsume(ExecuteProduceConsume.java:303)
>>>> at
>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produce
>>>> Consume(ExecuteProduceConsume.java:148)
>>>> at
>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Exe
>>>> cuteProduceConsume.java:136) at
>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPo
>>>> ol.java:671) at
>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPoo
>>>> l.java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>> Caused by: java.lang.IllegalArgumentException: Unknown SQL type -101
>>>> at org.apache.calcite.avatica.SqlType.valueOf(SqlType.java:383)
>>>> at
>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchema
>>>> .java:385) at
>>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchema
>>>> .java:362) at
>>>> org.apache.calcite.adapter.jdbc.JdbcTable.getRowType(JdbcTable.java:
>>>> 117) at
>>>> org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:
>>>> 159) at
>>>> org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.j
>>>> ava:99) at
>>>> org.apache.calcite.sql.validate.DelegatingScope.resolveTable(Delegat
>>>> ingScope.java:203) at
>>>> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(Iden
>>>> tifierNamespace.java:105) at
>>>> org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(Ide
>>>> ntifierNamespace.java:177) at
>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractN
>>>> amespace.java:84) at
>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(S
>>>> qlValidatorImpl.java:1009) at
>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlVa
>>>> lidatorImpl.java:969) at
>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVal
>>>> idatorImpl.java:3129) at
>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validate
>>>> From(DrillValidator.java:63) at
>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVal
>>>> idatorImpl.java:3111) at
>>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validate
>>>> From(DrillValidator.java:63) at
>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlV
>>>> alidatorImpl.java:3383) at
>>>> org.apache.calcite.sql.validate.SelectNamespace.validateImpl(SelectN
>>>> amespace.java:60) at
>>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractN
>>>> amespace.java:84) at
>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(S
>>>> qlValidatorImpl.java:1009) at
>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlVa
>>>> lidatorImpl.java:969) at
>>>> org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:216)
>>>> at
>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpre
>>>> ssion(SqlValidatorImpl.java:944) at
>>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValidat
>>>> orImpl.java:651) at
>>>> org.apache.drill.exec.planner.sql.conversion.SqlConverter.validate(S
>>>> qlConverter.java:189) at
>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validat
>>>> eNode(DefaultSqlHandler.java:641) at
>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validat
>>>> eAndConvert(DefaultSqlHandler.java:195)
>>>> at
>>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan
>>>> (DefaultSqlHandler.java:169) at
>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(DrillS
>>>> qlWorker.java:283) at
>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan(Dri
>>>> llSqlWorker.java:163) at
>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillSq
>>>> lWorker.java:128) at
>>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWor
>>>> ker.java:93) at
>>>> org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:593)
>>>> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:274)
>>>> at .......(:0)
>>>> 
>>>> 
>>>> 
>>>> -----Original Message-----
>>>> From: Charles Givre <cg...@gmail.com>
>>>> Sent: Tuesday, June 23, 2020 4:35 PM
>>>> To: user@drill.apache.org
>>>> Subject: Re: Initial Oracle Setup
>>>> 
>>>> One more thing...
>>>> 
>>>> Could you run the query that is producing the VALIDATION ERROR and send the full stack trace?  I'm thinking that can be fixed on the Drill end of things, at least until Calcite fixes that.
>>>> -- C
>>>> 
>>>>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>> 
>>>>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
>>>>> 
>>>>> I think the only thing I'm having an issue with now I think is
>>>>> related to this:
>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.
>>>>> org
>>>>> _jira_browse_CALCITE-2D3533&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYR
>>>>> bCB
>>>>> lPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=g39OzDxVVrucBo3nnaZNaIqoh9S
>>>>> ZZi dthZ3H6QSOkWE&s=oVohCx-25EZLkSVY7yEV1FtFZ-nNDTnGvek4Sx67nYc&e=
>>>>> 
>>>>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
>>>>> 
>>>>> -----Original Message-----
>>>>> From: Rafael Jaimes III <ra...@gmail.com>
>>>>> Sent: Tuesday, June 23, 2020 3:43 PM
>>>>> To: user@drill.apache.org
>>>>> Subject: Re: Initial Oracle Setup
>>>>> 
>>>>> Glad you got it working with the new version regardless!
>>>>> 
>>>>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>>>>>> 
>>>>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>> Sent: Tuesday, June 23, 2020 3:31 PM
>>>>>> To: user@drill.apache.org
>>>>>> Subject: RE: Initial Oracle Setup
>>>>>> 
>>>>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>> Sent: Tuesday, June 23, 2020 3:23 PM
>>>>>> To: user <us...@drill.apache.org>
>>>>>> Subject: Re: Initial Oracle Setup
>>>>>> 
>>>>>> It hasn't been released yet, so you'd have to d/l from github
>>>>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_a
>>>>>> pac
>>>>>> h
>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfl
>>>>>> lmV
>>>>>> q
>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=
>>>>>> C8v
>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_a
>>>>>> pac
>>>>>> h
>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfl
>>>>>> lmV
>>>>>> q
>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=
>>>>>> C8v
>>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from
>>>>>> source.
>>>>>> If you can't do that, I have a pre-release here:
>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cg
>>>>>> ivr
>>>>>> e
>>>>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI
>>>>>> 0-D
>>>>>> P
>>>>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSN
>>>>>> loM
>>>>>> 5
>>>>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-q
>>>>>> XY0
>>>>>> &
>>>>>> e=
>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_c
>>>>>> giv
>>>>>> r
>>>>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7W
>>>>>> I0-
>>>>>> D
>>>>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZS
>>>>>> Nlo
>>>>>> M
>>>>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-
>>>>>> qXY
>>>>>> 0
>>>>>> &e= >
>>>>>> 
>>>>>> 
>>>>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>> 
>>>>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>>>>>> 
>>>>>>> -----Original Message-----
>>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>>>>>> To: user@drill.apache.org
>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>> 
>>>>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>>>>>> 
>>>>>>> -----Original Message-----
>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>>>>>> To: user@drill.apache.org
>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>> 
>>>>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>>>>>> 
>>>>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>> 
>>>>>>>> On both the directory of drill and on startup I am running
>>>>>>>> Apache Drill 1.17.0
>>>>>>>> 
>>>>>>>> -----Original Message-----
>>>>>>>> From: Charles Givre <cgivre@gmail.com <ma...@gmail.com>>
>>>>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>>>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>> 
>>>>>>>> One more question.. what version of Drill are you using?
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>> 
>>>>>>>>> Rafael
>>>>>>>>> -I did place it in the jars/3rdparty folder.
>>>>>>>>> 
>>>>>>>>> Storage Plugin Config:
>>>>>>>>> {
>>>>>>>>> "type": "jdbc",
>>>>>>>>> "enabled": true,
>>>>>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>>>>>> }
>>>>>>>>> (it's been modified to remove sensitive information)
>>>>>>>>> 
>>>>>>>>> Charles
>>>>>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>>>>>> 
>>>>>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/ update
>>>>>>>>> plugin: QA2 Oracle
>>>>>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
>>>>>>>>> Failure setting up new storage plugin configuration for config
>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>>>>>> at
>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(St
>>>>>>>>> ora
>>>>>>>>> ge
>>>>>>>>> P
>>>>>>>>> l
>>>>>>>>> uginRegistryImpl.java:536) at
>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrU
>>>>>>>>> pda
>>>>>>>>> te
>>>>>>>>> (
>>>>>>>>> S
>>>>>>>>> toragePluginRegistryImpl.java:132)
>>>>>>>>> at
>>>>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrU
>>>>>>>>> pda
>>>>>>>>> te
>>>>>>>>> I
>>>>>>>>> n
>>>>>>>>> Storage(PluginConfigWrapper.java:56)
>>>>>>>>> at
>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpda
>>>>>>>>> teP
>>>>>>>>> lu
>>>>>>>>> g
>>>>>>>>> i
>>>>>>>>> nJSON(StorageResources.java:212) at
>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpda
>>>>>>>>> teP
>>>>>>>>> lu
>>>>>>>>> g
>>>>>>>>> i
>>>>>>>>> n(StorageResources.java:233) at
>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0
>>>>>>>>> (Na
>>>>>>>>> ti
>>>>>>>>> v
>>>>>>>>> e
>>>>>>>>> Method) at
>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(
>>>>>>>>> Nat
>>>>>>>>> iv
>>>>>>>>> e
>>>>>>>>> M
>>>>>>>>> ethodAccessorImpl.java:62) at
>>>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.inv
>>>>>>>>> oke
>>>>>>>>> (D
>>>>>>>>> e
>>>>>>>>> l
>>>>>>>>> egatingMethodAccessorImpl.java:43)
>>>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvoca
>>>>>>>>> tio
>>>>>>>>> nH
>>>>>>>>> a
>>>>>>>>> n
>>>>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.jav
>>>>>>>>> a:8
>>>>>>>>> 1)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResource
>>>>>>>>> Met
>>>>>>>>> ho
>>>>>>>>> d
>>>>>>>>> D
>>>>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResource
>>>>>>>>> Met
>>>>>>>>> ho
>>>>>>>>> d
>>>>>>>>> D
>>>>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDi
>>>>>>>>> spa
>>>>>>>>> tc
>>>>>>>>> h
>>>>>>>>> e
>>>>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatche
>>>>>>>>> rPr
>>>>>>>>> ov
>>>>>>>>> i
>>>>>>>>> d
>>>>>>>>> er.java:205) at
>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResource
>>>>>>>>> Met
>>>>>>>>> ho
>>>>>>>>> d
>>>>>>>>> D
>>>>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99
>>>>>>>>> )
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(
>>>>>>>>> Res
>>>>>>>>> ou
>>>>>>>>> r
>>>>>>>>> c
>>>>>>>>> eMethodInvoker.java:389) at
>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(R
>>>>>>>>> eso
>>>>>>>>> ur
>>>>>>>>> c
>>>>>>>>> e
>>>>>>>>> MethodInvoker.java:347) at
>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(R
>>>>>>>>> eso
>>>>>>>>> ur
>>>>>>>>> c
>>>>>>>>> e
>>>>>>>>> MethodInvoker.java:102) at
>>>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.j
>>>>>>>>> ava
>>>>>>>>> :3
>>>>>>>>> 2
>>>>>>>>> 6
>>>>>>>>> ) at
>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(R
>>>>>>>>> equ
>>>>>>>>> es
>>>>>>>>> t
>>>>>>>>> S
>>>>>>>>> cope.java:317) at
>>>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>>>>>> 3
>>>>>>>>> 05) at
>>>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(Applicati
>>>>>>>>> onH
>>>>>>>>> an
>>>>>>>>> d
>>>>>>>>> l
>>>>>>>>> er.java:1154) at
>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebCompon
>>>>>>>>> ent
>>>>>>>>> .j
>>>>>>>>> a
>>>>>>>>> v
>>>>>>>>> a:473) at
>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>>>> 4
>>>>>>>>> 2
>>>>>>>>> 7) at
>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletCo
>>>>>>>>> nta
>>>>>>>>> in
>>>>>>>>> e
>>>>>>>>> r
>>>>>>>>> .java:388) at
>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletCo
>>>>>>>>> nta
>>>>>>>>> in
>>>>>>>>> e
>>>>>>>>> r
>>>>>>>>> .java:341) at
>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletCo
>>>>>>>>> nta
>>>>>>>>> in
>>>>>>>>> e
>>>>>>>>> r
>>>>>>>>> .java:228) at
>>>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>>>>>> 84
>>>>>>>>> 8
>>>>>>>>> )
>>>>>>>>> at
>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(S
>>>>>>>>> erv
>>>>>>>>> le
>>>>>>>>> t
>>>>>>>>> H
>>>>>>>>> andler.java:1780) at
>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFil
>>>>>>>>> ter
>>>>>>>>> (C
>>>>>>>>> s
>>>>>>>>> r
>>>>>>>>> fTokenValidateFilter.java:55) at
>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(S
>>>>>>>>> erv
>>>>>>>>> le
>>>>>>>>> t
>>>>>>>>> H
>>>>>>>>> andler.java:1767) at
>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilte
>>>>>>>>> r(C
>>>>>>>>> sr
>>>>>>>>> f
>>>>>>>>> T
>>>>>>>>> okenInjectFilter.java:54) at
>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(S
>>>>>>>>> erv
>>>>>>>>> le
>>>>>>>>> t
>>>>>>>>> H
>>>>>>>>> andler.java:1767) at
>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>>>>>> 583) at
>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(Sessio
>>>>>>>>> nHa
>>>>>>>>> nd
>>>>>>>>> l
>>>>>>>>> e
>>>>>>>>> r.java:224) at
>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(Contex
>>>>>>>>> tHa
>>>>>>>>> nd
>>>>>>>>> l
>>>>>>>>> e
>>>>>>>>> r.java:1180) at
>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>>>>>> 5
>>>>>>>>> 13) at
>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(Session
>>>>>>>>> Han
>>>>>>>>> dl
>>>>>>>>> e
>>>>>>>>> r
>>>>>>>>> .java:185) at
>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(Context
>>>>>>>>> Han
>>>>>>>>> dl
>>>>>>>>> e
>>>>>>>>> r
>>>>>>>>> .java:1112) at
>>>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>>>> j
>>>>>>>>> a
>>>>>>>>> va:141) at
>>>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>>>>>> java:134) at
>>>>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>>>>> at
>>>>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:33
>>>>>>>>> 3)
>>>>>>>>> at
>>>>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>>>>>> ja
>>>>>>>>> v
>>>>>>>>> a
>>>>>>>>> :251) at
>>>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(
>>>>>>>>> Abs
>>>>>>>>> tr
>>>>>>>>> a
>>>>>>>>> c
>>>>>>>>> tConnection.java:283) at
>>>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:10
>>>>>>>>> 8)
>>>>>>>>> at
>>>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelE
>>>>>>>>> ndP
>>>>>>>>> oi
>>>>>>>>> n
>>>>>>>>> t
>>>>>>>>> .java:93) at
>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.ex
>>>>>>>>> ecu
>>>>>>>>> te
>>>>>>>>> P
>>>>>>>>> r
>>>>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>>>>>> at
>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.pr
>>>>>>>>> odu
>>>>>>>>> ce
>>>>>>>>> C
>>>>>>>>> o
>>>>>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>>>>>> at
>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.ru
>>>>>>>>> n(E
>>>>>>>>> xe
>>>>>>>>> c
>>>>>>>>> u
>>>>>>>>> teProduceConsume.java:136) at
>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThr
>>>>>>>>> ead
>>>>>>>>> Po
>>>>>>>>> o
>>>>>>>>> l
>>>>>>>>> .java:671) at
>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>>>>>> at
>>>>>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
>>>>>>>>> ja
>>>>>>>>> v
>>>>>>>>> a
>>>>>>>>> :78) at
>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConv
>>>>>>>>> ert
>>>>>>>>> er
>>>>>>>>> R
>>>>>>>>> u
>>>>>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>>>>>> at
>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcCon
>>>>>>>>> ven
>>>>>>>>> ti
>>>>>>>>> o
>>>>>>>>> n
>>>>>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>>>>>> at
>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcS
>>>>>>>>> tor
>>>>>>>>> ag
>>>>>>>>> e
>>>>>>>>> P
>>>>>>>>> lugin.java:103) at
>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.ne
>>>>>>>>> wIn
>>>>>>>>> st
>>>>>>>>> a
>>>>>>>>> n
>>>>>>>>> ce0(Native Method) at
>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.ne
>>>>>>>>> wIn
>>>>>>>>> st
>>>>>>>>> a
>>>>>>>>> n
>>>>>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>>>>>> at
>>>>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImp
>>>>>>>>> l.n
>>>>>>>>> ew
>>>>>>>>> I
>>>>>>>>> n
>>>>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>>>>>> at
>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(C
>>>>>>>>> ons
>>>>>>>>> tr
>>>>>>>>> u
>>>>>>>>> c
>>>>>>>>> tor.java:500) at
>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>>>>>> 4
>>>>>>>>> 81) at
>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(St
>>>>>>>>> ora
>>>>>>>>> ge
>>>>>>>>> P
>>>>>>>>> l
>>>>>>>>> uginRegistryImpl.java:528)
>>>>>>>>> ... 56 common frames omitted
>>>>>>>>> 
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>>>>>> To: user@drill.apache.org
>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>> 
>>>>>>>>> One more thing...
>>>>>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>>>>>> Thanks,
>>>>>>>>> -- C
>>>>>>>>> 
>>>>>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>>>>>> 
>>>>>>>>>> Hi Chris,
>>>>>>>>>> 
>>>>>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>>>>>> 
>>>>>>>>>> You're right you might be onto something if you get the
>>>>>>>>>> password failed message. Can you post the exact text (JSON) of
>>>>>>>>>> the storage plugin config?
>>>>>>>>>> 
>>>>>>>>>> -Rafael
>>>>>>>>>> 
>>>>>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> Hey Everyone,
>>>>>>>>>>> 
>>>>>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>>>>>> 
>>>>>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>>>>>> 
>>>>>>>>>>> Christopher Kane
>>>>>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>>>>>> com>,
>>>>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>>>>>> c
>>>>>>>>>>> o
>>>>>>>>>>> m>,
>>>>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fiser
>>>>>>>>>>> m>v.c
>>>>>>>>>>> m>om
>>>>>>>>>>> m>>
>>>>>>>>>>> 
>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>> 
>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>> 
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>> 
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>> 
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>> 
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>> 
>>> 
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> 
> 
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.



RE: Initial Oracle Setup

Posted by Christopher Kane <ch...@cardconnect.com.INVALID>.
Alright so following that logic of Data Type 101 being a binary double, I did the following:
select CAST(merchant_id AS DOUBLE) from biz.merchant where merchant_id=85616270

That unfortunately still results in the unknown sql type -101 error. I did want to say that I was able to go onto the CLI and have it list out all the schemas and tables it could find and what it listed was correct so at least we know we are connected to what we should be.

-----Original Message-----
From: Charles Givre <cg...@gmail.com>
Sent: Wednesday, June 24, 2020 4:55 PM
To: user@drill.apache.org
Subject: Re: Initial Oracle Setup

I looked this up… SQL Data Type 101 is a binary double.

https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_database_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9K_mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRFshIVqbqiRRDh2qs&e=  <https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.oracle.com_database_121_SQLRF_sql-5Felements001.htm-23SQLRF30020&d=DwIFaQ&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=92i9K_mRKLwMJIZS_WhSN_ymKbr9rZoUleISKhZY3sE&s=zj9nUe9KXfBlHIyl4ie5_edWAPRFshIVqbqiRRDh2qs&e= >




> On Jun 24, 2020, at 4:52 PM, Charles Givre <cg...@gmail.com> wrote:
>
> Some more questions…
> 1.  Are there other tables you can query?  I want to see if we can at
> least get something to work ;-) (Although we can read the schema via SHOW TABLES) 2.  Can you try the following query:
> SELECT CAST(<some field> AS INT)
> FROM merchant….  Basically I’m wondering if we force Drill to map the field to a type, if we can get it to read the data.
>
>
>
>> On Jun 24, 2020, at 4:44 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>
>> Hey Charles,
>>
>> I ran a couple of different queries selecting only a single column from the table and it seems multiple columns are all giving me the same unknown sql type -101 error.
>> The stacktrace also appears to be the same per column, so to me it appears that the issue is maybe with the format of the data itself coming from Oracle, I'm not too sure at this point.
>>
>> -Chris
>>
>> -----Original Message-----
>> From: Charles Givre <cg...@gmail.com>
>> Sent: Wednesday, June 24, 2020 3:30 PM
>> To: user <us...@drill.apache.org>
>> Subject: Re: Initial Oracle Setup
>>
>> Hey Christopher,
>> Can you run a query with individual columns so we can see which column is causing the issue?
>> Thx,
>> --C
>>
>>
>>
>>> On Jun 23, 2020, at 5:25 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>
>>> Rafael
>>> -Okay so doing "show schemas;" (I didn't include the semicolon before) resulted in all of the schemas I was expecting to see be listed, so it's awesome that Drill was actually able to make the connection. So I do think my issue might be with the data types of the columns in the table I'm trying to query.
>>>
>>> Charles
>>> -here are the data types on the table "merchant": NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE.
>>> -if I had to take a guess, I would bet money that the problem child here is the timestamp data type.
>>>
>>> -----Original Message-----
>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>> Sent: Tuesday, June 23, 2020 5:19 PM
>>> To: user@drill.apache.org
>>> Subject: RE: Initial Oracle Setup
>>>
>>> Rafael
>>> -I am running this in embedded mode on my Windows Laptop and I believe I have access to the shell but I'm not too familiar with the syntax so I'll have to look that up and I'll let you know what I get.
>>>
>>> Charles
>>> -I'm glad you were able to find something about that error because I was having a tough time finding something related to it. I actually thought something similar and actually changed my query to only return the merchant_id of the merchant because I thought maybe there was a column that Drill didn't know how to handle. I will take a look at the stackoverflow link that you sent me and will let you know what I come up with.
>>> -Here is the stacktrace for the VALIDATION ERROR:
>>> 2020-06-23 17:15:56,017 [qtp409347742-245] ERROR
>>> o.a.d.e.server.rest.QueryResources - Query from Web UI Failed: {}
>>> org.apache.drill.common.exceptions.UserRemoteException: VALIDATION
>>> ERROR: Unknown SQL type -101
>>>
>>>
>>> [Error Id: def7533c-bb11-48da-b770-28c6730a1799 ] at
>>> org.apache.drill.exec.server.rest.RestQueryRunner.submitQuery(RestQu
>>> eryRunner.java:181) at
>>> org.apache.drill.exec.server.rest.RestQueryRunner.run(RestQueryRunne
>>> r.java:70) at
>>> org.apache.drill.exec.server.rest.QueryResources.submitQueryJSON(Que
>>> ryResources.java:96) at
>>> org.apache.drill.exec.server.rest.QueryResources.submitQuery(QueryRe
>>> sources.java:114) at
>>> jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown
>>> Source) at
>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(D
>>> elegatingMethodAccessorImpl.java:43)
>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>> at
>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocationH
>>> andlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:8
>>> 1) at
>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMetho
>>> dDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>> at
>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMetho
>>> dDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>> at
>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatc
>>> herProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherPr
>>> ovider.java:205) at
>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMetho
>>> dDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>> at
>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Resou
>>> rceMethodInvoker.java:389) at
>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resour
>>> ceMethodInvoker.java:347) at
>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resour
>>> ceMethodInvoker.java:102) at
>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:3
>>> 26) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>> at
>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Reques
>>> tScope.java:317) at
>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java
>>> :305) at
>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHan
>>> dler.java:1154) at
>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.j
>>> ava:473) at
>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>> 427) at
>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContain
>>> er.java:388) at
>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContain
>>> er.java:341) at
>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContain
>>> er.java:228) at
>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:84
>>> 8) at
>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
>>> tHandler.java:1780) at
>>> org.apache.drill.exec.server.rest.header.ResponseHeadersSettingFilte
>>> r.doFilter(ResponseHeadersSettingFilter.java:71)
>>> at
>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
>>> tHandler.java:1767) at
>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(C
>>> srfTokenValidateFilter.java:55) at
>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
>>> tHandler.java:1767) at
>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(Csr
>>> fTokenInjectFilter.java:54) at
>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
>>> tHandler.java:1767) at
>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.jav
>>> a:583) at
>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHand
>>> ler.java:224) at
>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHand
>>> ler.java:1180) at
>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java
>>> :513) at
>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandl
>>> er.java:185) at
>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandl
>>> er.java:1112) at
>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>> java:141) at
>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrappe
>>> r.java:134) at
>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>> at
>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.ja
>>> va:251) at
>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstr
>>> actConnection.java:283) at
>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>> at
>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoi
>>> nt.java:93) at
>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execute
>>> ProduceConsume(ExecuteProduceConsume.java:303)
>>> at
>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produce
>>> Consume(ExecuteProduceConsume.java:148)
>>> at
>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Exe
>>> cuteProduceConsume.java:136) at
>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPo
>>> ol.java:671) at
>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPoo
>>> l.java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>> Caused by: java.lang.IllegalArgumentException: Unknown SQL type -101
>>> at org.apache.calcite.avatica.SqlType.valueOf(SqlType.java:383)
>>> at
>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchema
>>> .java:385) at
>>> org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchema
>>> .java:362) at
>>> org.apache.calcite.adapter.jdbc.JdbcTable.getRowType(JdbcTable.java:
>>> 117) at
>>> org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:
>>> 159) at
>>> org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.j
>>> ava:99) at
>>> org.apache.calcite.sql.validate.DelegatingScope.resolveTable(Delegat
>>> ingScope.java:203) at
>>> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(Iden
>>> tifierNamespace.java:105) at
>>> org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(Ide
>>> ntifierNamespace.java:177) at
>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractN
>>> amespace.java:84) at
>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(S
>>> qlValidatorImpl.java:1009) at
>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlVa
>>> lidatorImpl.java:969) at
>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVal
>>> idatorImpl.java:3129) at
>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validate
>>> From(DrillValidator.java:63) at
>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlVal
>>> idatorImpl.java:3111) at
>>> org.apache.drill.exec.planner.sql.conversion.DrillValidator.validate
>>> From(DrillValidator.java:63) at
>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlV
>>> alidatorImpl.java:3383) at
>>> org.apache.calcite.sql.validate.SelectNamespace.validateImpl(SelectN
>>> amespace.java:60) at
>>> org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractN
>>> amespace.java:84) at
>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(S
>>> qlValidatorImpl.java:1009) at
>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlVa
>>> lidatorImpl.java:969) at
>>> org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:216)
>>> at
>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpre
>>> ssion(SqlValidatorImpl.java:944) at
>>> org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValidat
>>> orImpl.java:651) at
>>> org.apache.drill.exec.planner.sql.conversion.SqlConverter.validate(S
>>> qlConverter.java:189) at
>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validat
>>> eNode(DefaultSqlHandler.java:641) at
>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validat
>>> eAndConvert(DefaultSqlHandler.java:195)
>>> at
>>> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan
>>> (DefaultSqlHandler.java:169) at
>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(DrillS
>>> qlWorker.java:283) at
>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan(Dri
>>> llSqlWorker.java:163) at
>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillSq
>>> lWorker.java:128) at
>>> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWor
>>> ker.java:93) at
>>> org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:593)
>>> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:274)
>>> at .......(:0)
>>>
>>>
>>>
>>> -----Original Message-----
>>> From: Charles Givre <cg...@gmail.com>
>>> Sent: Tuesday, June 23, 2020 4:35 PM
>>> To: user@drill.apache.org
>>> Subject: Re: Initial Oracle Setup
>>>
>>> One more thing...
>>>
>>> Could you run the query that is producing the VALIDATION ERROR and send the full stack trace?  I'm thinking that can be fixed on the Drill end of things, at least until Calcite fixes that.
>>> -- C
>>>
>>>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>
>>>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
>>>>
>>>> I think the only thing I'm having an issue with now I think is
>>>> related to this:
>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.
>>>> org
>>>> _jira_browse_CALCITE-2D3533&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYR
>>>> bCB
>>>> lPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=g39OzDxVVrucBo3nnaZNaIqoh9S
>>>> ZZi dthZ3H6QSOkWE&s=oVohCx-25EZLkSVY7yEV1FtFZ-nNDTnGvek4Sx67nYc&e=
>>>>
>>>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
>>>>
>>>> -----Original Message-----
>>>> From: Rafael Jaimes III <ra...@gmail.com>
>>>> Sent: Tuesday, June 23, 2020 3:43 PM
>>>> To: user@drill.apache.org
>>>> Subject: Re: Initial Oracle Setup
>>>>
>>>> Glad you got it working with the new version regardless!
>>>>
>>>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>>>>>
>>>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>>>>>
>>>>> -----Original Message-----
>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>> Sent: Tuesday, June 23, 2020 3:31 PM
>>>>> To: user@drill.apache.org
>>>>> Subject: RE: Initial Oracle Setup
>>>>>
>>>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>>>>>
>>>>> -----Original Message-----
>>>>> From: Charles Givre <cg...@gmail.com>
>>>>> Sent: Tuesday, June 23, 2020 3:23 PM
>>>>> To: user <us...@drill.apache.org>
>>>>> Subject: Re: Initial Oracle Setup
>>>>>
>>>>> It hasn't been released yet, so you'd have to d/l from github
>>>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_a
>>>>> pac
>>>>> h
>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfl
>>>>> lmV
>>>>> q
>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=
>>>>> C8v
>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_a
>>>>> pac
>>>>> h
>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfl
>>>>> lmV
>>>>> q
>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=
>>>>> C8v
>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from
>>>>> source.
>>>>> If you can't do that, I have a pre-release here:
>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cg
>>>>> ivr
>>>>> e
>>>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI
>>>>> 0-D
>>>>> P
>>>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSN
>>>>> loM
>>>>> 5
>>>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-q
>>>>> XY0
>>>>> &
>>>>> e=
>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_c
>>>>> giv
>>>>> r
>>>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7W
>>>>> I0-
>>>>> D
>>>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZS
>>>>> Nlo
>>>>> M
>>>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-
>>>>> qXY
>>>>> 0
>>>>> &e= >
>>>>>
>>>>>
>>>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>
>>>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>>>>> To: user@drill.apache.org
>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>
>>>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>>>>> To: user@drill.apache.org
>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>
>>>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>>>>>
>>>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>
>>>>>>> On both the directory of drill and on startup I am running
>>>>>>> Apache Drill 1.17.0
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Charles Givre <cgivre@gmail.com <ma...@gmail.com>>
>>>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>
>>>>>>> One more question.. what version of Drill are you using?
>>>>>>>
>>>>>>>
>>>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>
>>>>>>>> Rafael
>>>>>>>> -I did place it in the jars/3rdparty folder.
>>>>>>>>
>>>>>>>> Storage Plugin Config:
>>>>>>>> {
>>>>>>>> "type": "jdbc",
>>>>>>>> "enabled": true,
>>>>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>>>>> }
>>>>>>>> (it's been modified to remove sensitive information)
>>>>>>>>
>>>>>>>> Charles
>>>>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>>>>>
>>>>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/ update
>>>>>>>> plugin: QA2 Oracle
>>>>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
>>>>>>>> Failure setting up new storage plugin configuration for config
>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>>>>> at
>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(St
>>>>>>>> ora
>>>>>>>> ge
>>>>>>>> P
>>>>>>>> l
>>>>>>>> uginRegistryImpl.java:536) at
>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrU
>>>>>>>> pda
>>>>>>>> te
>>>>>>>> (
>>>>>>>> S
>>>>>>>> toragePluginRegistryImpl.java:132)
>>>>>>>> at
>>>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrU
>>>>>>>> pda
>>>>>>>> te
>>>>>>>> I
>>>>>>>> n
>>>>>>>> Storage(PluginConfigWrapper.java:56)
>>>>>>>> at
>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpda
>>>>>>>> teP
>>>>>>>> lu
>>>>>>>> g
>>>>>>>> i
>>>>>>>> nJSON(StorageResources.java:212) at
>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpda
>>>>>>>> teP
>>>>>>>> lu
>>>>>>>> g
>>>>>>>> i
>>>>>>>> n(StorageResources.java:233) at
>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0
>>>>>>>> (Na
>>>>>>>> ti
>>>>>>>> v
>>>>>>>> e
>>>>>>>> Method) at
>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(
>>>>>>>> Nat
>>>>>>>> iv
>>>>>>>> e
>>>>>>>> M
>>>>>>>> ethodAccessorImpl.java:62) at
>>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.inv
>>>>>>>> oke
>>>>>>>> (D
>>>>>>>> e
>>>>>>>> l
>>>>>>>> egatingMethodAccessorImpl.java:43)
>>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvoca
>>>>>>>> tio
>>>>>>>> nH
>>>>>>>> a
>>>>>>>> n
>>>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.jav
>>>>>>>> a:8
>>>>>>>> 1)
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResource
>>>>>>>> Met
>>>>>>>> ho
>>>>>>>> d
>>>>>>>> D
>>>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResource
>>>>>>>> Met
>>>>>>>> ho
>>>>>>>> d
>>>>>>>> D
>>>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDi
>>>>>>>> spa
>>>>>>>> tc
>>>>>>>> h
>>>>>>>> e
>>>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatche
>>>>>>>> rPr
>>>>>>>> ov
>>>>>>>> i
>>>>>>>> d
>>>>>>>> er.java:205) at
>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResource
>>>>>>>> Met
>>>>>>>> ho
>>>>>>>> d
>>>>>>>> D
>>>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99
>>>>>>>> )
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(
>>>>>>>> Res
>>>>>>>> ou
>>>>>>>> r
>>>>>>>> c
>>>>>>>> eMethodInvoker.java:389) at
>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(R
>>>>>>>> eso
>>>>>>>> ur
>>>>>>>> c
>>>>>>>> e
>>>>>>>> MethodInvoker.java:347) at
>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(R
>>>>>>>> eso
>>>>>>>> ur
>>>>>>>> c
>>>>>>>> e
>>>>>>>> MethodInvoker.java:102) at
>>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.j
>>>>>>>> ava
>>>>>>>> :3
>>>>>>>> 2
>>>>>>>> 6
>>>>>>>> ) at
>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(R
>>>>>>>> equ
>>>>>>>> es
>>>>>>>> t
>>>>>>>> S
>>>>>>>> cope.java:317) at
>>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>>>>> 3
>>>>>>>> 05) at
>>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(Applicati
>>>>>>>> onH
>>>>>>>> an
>>>>>>>> d
>>>>>>>> l
>>>>>>>> er.java:1154) at
>>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebCompon
>>>>>>>> ent
>>>>>>>> .j
>>>>>>>> a
>>>>>>>> v
>>>>>>>> a:473) at
>>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>>> 4
>>>>>>>> 2
>>>>>>>> 7) at
>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletCo
>>>>>>>> nta
>>>>>>>> in
>>>>>>>> e
>>>>>>>> r
>>>>>>>> .java:388) at
>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletCo
>>>>>>>> nta
>>>>>>>> in
>>>>>>>> e
>>>>>>>> r
>>>>>>>> .java:341) at
>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletCo
>>>>>>>> nta
>>>>>>>> in
>>>>>>>> e
>>>>>>>> r
>>>>>>>> .java:228) at
>>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>>>>> 84
>>>>>>>> 8
>>>>>>>> )
>>>>>>>> at
>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(S
>>>>>>>> erv
>>>>>>>> le
>>>>>>>> t
>>>>>>>> H
>>>>>>>> andler.java:1780) at
>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFil
>>>>>>>> ter
>>>>>>>> (C
>>>>>>>> s
>>>>>>>> r
>>>>>>>> fTokenValidateFilter.java:55) at
>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(S
>>>>>>>> erv
>>>>>>>> le
>>>>>>>> t
>>>>>>>> H
>>>>>>>> andler.java:1767) at
>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilte
>>>>>>>> r(C
>>>>>>>> sr
>>>>>>>> f
>>>>>>>> T
>>>>>>>> okenInjectFilter.java:54) at
>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(S
>>>>>>>> erv
>>>>>>>> le
>>>>>>>> t
>>>>>>>> H
>>>>>>>> andler.java:1767) at
>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>>>>> 583) at
>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(Sessio
>>>>>>>> nHa
>>>>>>>> nd
>>>>>>>> l
>>>>>>>> e
>>>>>>>> r.java:224) at
>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(Contex
>>>>>>>> tHa
>>>>>>>> nd
>>>>>>>> l
>>>>>>>> e
>>>>>>>> r.java:1180) at
>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>>>>> 5
>>>>>>>> 13) at
>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(Session
>>>>>>>> Han
>>>>>>>> dl
>>>>>>>> e
>>>>>>>> r
>>>>>>>> .java:185) at
>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(Context
>>>>>>>> Han
>>>>>>>> dl
>>>>>>>> e
>>>>>>>> r
>>>>>>>> .java:1112) at
>>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>>> j
>>>>>>>> a
>>>>>>>> va:141) at
>>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>>>>> java:134) at
>>>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>>>> at
>>>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:33
>>>>>>>> 3)
>>>>>>>> at
>>>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>>>>> ja
>>>>>>>> v
>>>>>>>> a
>>>>>>>> :251) at
>>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(
>>>>>>>> Abs
>>>>>>>> tr
>>>>>>>> a
>>>>>>>> c
>>>>>>>> tConnection.java:283) at
>>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:10
>>>>>>>> 8)
>>>>>>>> at
>>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelE
>>>>>>>> ndP
>>>>>>>> oi
>>>>>>>> n
>>>>>>>> t
>>>>>>>> .java:93) at
>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.ex
>>>>>>>> ecu
>>>>>>>> te
>>>>>>>> P
>>>>>>>> r
>>>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>>>>> at
>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.pr
>>>>>>>> odu
>>>>>>>> ce
>>>>>>>> C
>>>>>>>> o
>>>>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>>>>> at
>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.ru
>>>>>>>> n(E
>>>>>>>> xe
>>>>>>>> c
>>>>>>>> u
>>>>>>>> teProduceConsume.java:136) at
>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThr
>>>>>>>> ead
>>>>>>>> Po
>>>>>>>> o
>>>>>>>> l
>>>>>>>> .java:671) at
>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>>>>> at
>>>>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
>>>>>>>> ja
>>>>>>>> v
>>>>>>>> a
>>>>>>>> :78) at
>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConv
>>>>>>>> ert
>>>>>>>> er
>>>>>>>> R
>>>>>>>> u
>>>>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>>>>> at
>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcCon
>>>>>>>> ven
>>>>>>>> ti
>>>>>>>> o
>>>>>>>> n
>>>>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>>>>> at
>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcS
>>>>>>>> tor
>>>>>>>> ag
>>>>>>>> e
>>>>>>>> P
>>>>>>>> lugin.java:103) at
>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.ne
>>>>>>>> wIn
>>>>>>>> st
>>>>>>>> a
>>>>>>>> n
>>>>>>>> ce0(Native Method) at
>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.ne
>>>>>>>> wIn
>>>>>>>> st
>>>>>>>> a
>>>>>>>> n
>>>>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>>>>> at
>>>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImp
>>>>>>>> l.n
>>>>>>>> ew
>>>>>>>> I
>>>>>>>> n
>>>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>>>>> at
>>>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(C
>>>>>>>> ons
>>>>>>>> tr
>>>>>>>> u
>>>>>>>> c
>>>>>>>> tor.java:500) at
>>>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>>>>> 4
>>>>>>>> 81) at
>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(St
>>>>>>>> ora
>>>>>>>> ge
>>>>>>>> P
>>>>>>>> l
>>>>>>>> uginRegistryImpl.java:528)
>>>>>>>> ... 56 common frames omitted
>>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>>>>> To: user@drill.apache.org
>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>
>>>>>>>> One more thing...
>>>>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>>>>> Thanks,
>>>>>>>> -- C
>>>>>>>>
>>>>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>> Hi Chris,
>>>>>>>>>
>>>>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>>>>>
>>>>>>>>> You're right you might be onto something if you get the
>>>>>>>>> password failed message. Can you post the exact text (JSON) of
>>>>>>>>> the storage plugin config?
>>>>>>>>>
>>>>>>>>> -Rafael
>>>>>>>>>
>>>>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>>>
>>>>>>>>>> Hey Everyone,
>>>>>>>>>>
>>>>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>>>>>
>>>>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>>>>>
>>>>>>>>>> Christopher Kane
>>>>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>>>>> com>,
>>>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>>>>> c
>>>>>>>>>> o
>>>>>>>>>> m>,
>>>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fiser
>>>>>>>>>> m>v.c
>>>>>>>>>> m>om
>>>>>>>>>> m>>
>>>>>>>>>>
>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>
>>
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>

THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

Re: Initial Oracle Setup

Posted by Charles Givre <cg...@gmail.com>.
I looked this up… SQL Data Type 101 is a binary double. 

https://docs.oracle.com/database/121/SQLRF/sql_elements001.htm#SQLRF30020 <https://docs.oracle.com/database/121/SQLRF/sql_elements001.htm#SQLRF30020>




> On Jun 24, 2020, at 4:52 PM, Charles Givre <cg...@gmail.com> wrote:
> 
> Some more questions…
> 1.  Are there other tables you can query?  I want to see if we can at least get something to work ;-) (Although we can read the schema via SHOW TABLES)
> 2.  Can you try the following query:
> SELECT CAST(<some field> AS INT) 
> FROM merchant….  Basically I’m wondering if we force Drill to map the field to a type, if we can get it to read the data.
> 
> 
> 
>> On Jun 24, 2020, at 4:44 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>> 
>> Hey Charles,
>> 
>> I ran a couple of different queries selecting only a single column from the table and it seems multiple columns are all giving me the same unknown sql type -101 error.
>> The stacktrace also appears to be the same per column, so to me it appears that the issue is maybe with the format of the data itself coming from Oracle, I'm not too sure at this point.
>> 
>> -Chris
>> 
>> -----Original Message-----
>> From: Charles Givre <cg...@gmail.com>
>> Sent: Wednesday, June 24, 2020 3:30 PM
>> To: user <us...@drill.apache.org>
>> Subject: Re: Initial Oracle Setup
>> 
>> Hey Christopher,
>> Can you run a query with individual columns so we can see which column is causing the issue?
>> Thx,
>> --C
>> 
>> 
>> 
>>> On Jun 23, 2020, at 5:25 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>> 
>>> Rafael
>>> -Okay so doing "show schemas;" (I didn't include the semicolon before) resulted in all of the schemas I was expecting to see be listed, so it's awesome that Drill was actually able to make the connection. So I do think my issue might be with the data types of the columns in the table I'm trying to query.
>>> 
>>> Charles
>>> -here are the data types on the table "merchant": NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE.
>>> -if I had to take a guess, I would bet money that the problem child here is the timestamp data type.
>>> 
>>> -----Original Message-----
>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>> Sent: Tuesday, June 23, 2020 5:19 PM
>>> To: user@drill.apache.org
>>> Subject: RE: Initial Oracle Setup
>>> 
>>> Rafael
>>> -I am running this in embedded mode on my Windows Laptop and I believe I have access to the shell but I'm not too familiar with the syntax so I'll have to look that up and I'll let you know what I get.
>>> 
>>> Charles
>>> -I'm glad you were able to find something about that error because I was having a tough time finding something related to it. I actually thought something similar and actually changed my query to only return the merchant_id of the merchant because I thought maybe there was a column that Drill didn't know how to handle. I will take a look at the stackoverflow link that you sent me and will let you know what I come up with.
>>> -Here is the stacktrace for the VALIDATION ERROR:
>>> 2020-06-23 17:15:56,017 [qtp409347742-245] ERROR o.a.d.e.server.rest.QueryResources - Query from Web UI Failed: {}
>>> org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101
>>> 
>>> 
>>> [Error Id: def7533c-bb11-48da-b770-28c6730a1799 ] at org.apache.drill.exec.server.rest.RestQueryRunner.submitQuery(RestQueryRunner.java:181)
>>> at org.apache.drill.exec.server.rest.RestQueryRunner.run(RestQueryRunner.java:70)
>>> at org.apache.drill.exec.server.rest.QueryResources.submitQueryJSON(QueryResources.java:96)
>>> at org.apache.drill.exec.server.rest.QueryResources.submitQuery(QueryResources.java:114)
>>> at jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>> at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
>>> at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>> at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>> at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:205)
>>> at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>> at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
>>> at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
>>> at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
>>> at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>> at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
>>> at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
>>> at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
>>> at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
>>> at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
>>> at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
>>> at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
>>> at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
>>> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848)
>>> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1780)
>>> at org.apache.drill.exec.server.rest.header.ResponseHeadersSettingFilter.doFilter(ResponseHeadersSettingFilter.java:71)
>>> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767)
>>> at org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(CsrfTokenValidateFilter.java:55)
>>> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767)
>>> at org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(CsrfTokenInjectFilter.java:54)
>>> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767)
>>> at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
>>> at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:224)
>>> at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
>>> at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:513)
>>> at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
>>> at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
>>> at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>>> at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
>>> at org.eclipse.jetty.server.Server.handle(Server.java:539)
>>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>> at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
>>> at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
>>> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>> at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
>>> at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
>>> at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
>>> at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
>>> at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
>>> at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
>>> at java.base/java.lang.Thread.run(Thread.java:832)
>>> Caused by: java.lang.IllegalArgumentException: Unknown SQL type -101 at org.apache.calcite.avatica.SqlType.valueOf(SqlType.java:383)
>>> at org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchema.java:385)
>>> at org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchema.java:362)
>>> at org.apache.calcite.adapter.jdbc.JdbcTable.getRowType(JdbcTable.java:117)
>>> at org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:159)
>>> at org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.java:99)
>>> at org.apache.calcite.sql.validate.DelegatingScope.resolveTable(DelegatingScope.java:203)
>>> at org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(IdentifierNamespace.java:105)
>>> at org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(IdentifierNamespace.java:177)
>>> at org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:84)
>>> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1009)
>>> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:969)
>>> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3129)
>>> at org.apache.drill.exec.planner.sql.conversion.DrillValidator.validateFrom(DrillValidator.java:63)
>>> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3111)
>>> at org.apache.drill.exec.planner.sql.conversion.DrillValidator.validateFrom(DrillValidator.java:63)
>>> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:3383)
>>> at org.apache.calcite.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:60)
>>> at org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:84)
>>> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1009)
>>> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:969)
>>> at org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:216)
>>> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:944)
>>> at org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValidatorImpl.java:651)
>>> at org.apache.drill.exec.planner.sql.conversion.SqlConverter.validate(SqlConverter.java:189)
>>> at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateNode(DefaultSqlHandler.java:641)
>>> at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateAndConvert(DefaultSqlHandler.java:195)
>>> at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:169)
>>> at org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(DrillSqlWorker.java:283)
>>> at org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan(DrillSqlWorker.java:163)
>>> at org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillSqlWorker.java:128)
>>> at org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:93)
>>> at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:593)
>>> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:274)
>>> at .......(:0)
>>> 
>>> 
>>> 
>>> -----Original Message-----
>>> From: Charles Givre <cg...@gmail.com>
>>> Sent: Tuesday, June 23, 2020 4:35 PM
>>> To: user@drill.apache.org
>>> Subject: Re: Initial Oracle Setup
>>> 
>>> One more thing...
>>> 
>>> Could you run the query that is producing the VALIDATION ERROR and send the full stack trace?  I'm thinking that can be fixed on the Drill end of things, at least until Calcite fixes that.
>>> -- C
>>> 
>>>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>> 
>>>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
>>>> 
>>>> I think the only thing I'm having an issue with now I think is related
>>>> to this:
>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.org
>>>> _jira_browse_CALCITE-2D3533&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCB
>>>> lPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=g39OzDxVVrucBo3nnaZNaIqoh9SZZi
>>>> dthZ3H6QSOkWE&s=oVohCx-25EZLkSVY7yEV1FtFZ-nNDTnGvek4Sx67nYc&e=
>>>> 
>>>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
>>>> 
>>>> -----Original Message-----
>>>> From: Rafael Jaimes III <ra...@gmail.com>
>>>> Sent: Tuesday, June 23, 2020 3:43 PM
>>>> To: user@drill.apache.org
>>>> Subject: Re: Initial Oracle Setup
>>>> 
>>>> Glad you got it working with the new version regardless!
>>>> 
>>>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>>>>> 
>>>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>>>>> 
>>>>> -----Original Message-----
>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>> Sent: Tuesday, June 23, 2020 3:31 PM
>>>>> To: user@drill.apache.org
>>>>> Subject: RE: Initial Oracle Setup
>>>>> 
>>>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>>>>> 
>>>>> -----Original Message-----
>>>>> From: Charles Givre <cg...@gmail.com>
>>>>> Sent: Tuesday, June 23, 2020 3:23 PM
>>>>> To: user <us...@drill.apache.org>
>>>>> Subject: Re: Initial Oracle Setup
>>>>> 
>>>>> It hasn't been released yet, so you'd have to d/l from github
>>>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apac
>>>>> h
>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmV
>>>>> q
>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v
>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apac
>>>>> h
>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmV
>>>>> q
>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v
>>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from
>>>>> source.
>>>>> If you can't do that, I have a pre-release here:
>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivr
>>>>> e
>>>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-D
>>>>> P
>>>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM
>>>>> 5
>>>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0
>>>>> &
>>>>> e=
>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgiv
>>>>> r
>>>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-
>>>>> D
>>>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNlo
>>>>> M
>>>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY
>>>>> 0
>>>>> &e= >
>>>>> 
>>>>> 
>>>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>> 
>>>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>>>>> To: user@drill.apache.org
>>>>>> Subject: RE: Initial Oracle Setup
>>>>>> 
>>>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>>>>> To: user@drill.apache.org
>>>>>> Subject: Re: Initial Oracle Setup
>>>>>> 
>>>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>>>>> 
>>>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>> 
>>>>>>> On both the directory of drill and on startup I am running Apache
>>>>>>> Drill 1.17.0
>>>>>>> 
>>>>>>> -----Original Message-----
>>>>>>> From: Charles Givre <cgivre@gmail.com <ma...@gmail.com>>
>>>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>> 
>>>>>>> One more question.. what version of Drill are you using?
>>>>>>> 
>>>>>>> 
>>>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>> 
>>>>>>>> Rafael
>>>>>>>> -I did place it in the jars/3rdparty folder.
>>>>>>>> 
>>>>>>>> Storage Plugin Config:
>>>>>>>> {
>>>>>>>> "type": "jdbc",
>>>>>>>> "enabled": true,
>>>>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>>>>> }
>>>>>>>> (it's been modified to remove sensitive information)
>>>>>>>> 
>>>>>>>> Charles
>>>>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>>>>> 
>>>>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/ update
>>>>>>>> plugin: QA2 Oracle
>>>>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
>>>>>>>> Failure setting up new storage plugin configuration for config
>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>>>>> at
>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Stora
>>>>>>>> ge
>>>>>>>> P
>>>>>>>> l
>>>>>>>> uginRegistryImpl.java:536) at
>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpda
>>>>>>>> te
>>>>>>>> (
>>>>>>>> S
>>>>>>>> toragePluginRegistryImpl.java:132)
>>>>>>>> at
>>>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpda
>>>>>>>> te
>>>>>>>> I
>>>>>>>> n
>>>>>>>> Storage(PluginConfigWrapper.java:56)
>>>>>>>> at
>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdateP
>>>>>>>> lu
>>>>>>>> g
>>>>>>>> i
>>>>>>>> nJSON(StorageResources.java:212) at
>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdateP
>>>>>>>> lu
>>>>>>>> g
>>>>>>>> i
>>>>>>>> n(StorageResources.java:233) at
>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Na
>>>>>>>> ti
>>>>>>>> v
>>>>>>>> e
>>>>>>>> Method) at
>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Nat
>>>>>>>> iv
>>>>>>>> e
>>>>>>>> M
>>>>>>>> ethodAccessorImpl.java:62) at
>>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
>>>>>>>> (D
>>>>>>>> e
>>>>>>>> l
>>>>>>>> egatingMethodAccessorImpl.java:43)
>>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocatio
>>>>>>>> nH
>>>>>>>> a
>>>>>>>> n
>>>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:8
>>>>>>>> 1)
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>>>>> ho
>>>>>>>> d
>>>>>>>> D
>>>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>>>>> ho
>>>>>>>> d
>>>>>>>> D
>>>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispa
>>>>>>>> tc
>>>>>>>> h
>>>>>>>> e
>>>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherPr
>>>>>>>> ov
>>>>>>>> i
>>>>>>>> d
>>>>>>>> er.java:205) at
>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>>>>> ho
>>>>>>>> d
>>>>>>>> D
>>>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Res
>>>>>>>> ou
>>>>>>>> r
>>>>>>>> c
>>>>>>>> eMethodInvoker.java:389) at
>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Reso
>>>>>>>> ur
>>>>>>>> c
>>>>>>>> e
>>>>>>>> MethodInvoker.java:347) at
>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Reso
>>>>>>>> ur
>>>>>>>> c
>>>>>>>> e
>>>>>>>> MethodInvoker.java:102) at
>>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java
>>>>>>>> :3
>>>>>>>> 2
>>>>>>>> 6
>>>>>>>> ) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>>>> at
>>>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Requ
>>>>>>>> es
>>>>>>>> t
>>>>>>>> S
>>>>>>>> cope.java:317) at
>>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>>>>> 3
>>>>>>>> 05) at
>>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationH
>>>>>>>> an
>>>>>>>> d
>>>>>>>> l
>>>>>>>> er.java:1154) at
>>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent
>>>>>>>> .j
>>>>>>>> a
>>>>>>>> v
>>>>>>>> a:473) at
>>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>>> 4
>>>>>>>> 2
>>>>>>>> 7) at
>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>>>>> in
>>>>>>>> e
>>>>>>>> r
>>>>>>>> .java:388) at
>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>>>>> in
>>>>>>>> e
>>>>>>>> r
>>>>>>>> .java:341) at
>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>>>>> in
>>>>>>>> e
>>>>>>>> r
>>>>>>>> .java:228) at
>>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>>>>> 84
>>>>>>>> 8
>>>>>>>> )
>>>>>>>> at
>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>>>>> le
>>>>>>>> t
>>>>>>>> H
>>>>>>>> andler.java:1780) at
>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter
>>>>>>>> (C
>>>>>>>> s
>>>>>>>> r
>>>>>>>> fTokenValidateFilter.java:55) at
>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>>>>> le
>>>>>>>> t
>>>>>>>> H
>>>>>>>> andler.java:1767) at
>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(C
>>>>>>>> sr
>>>>>>>> f
>>>>>>>> T
>>>>>>>> okenInjectFilter.java:54) at
>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>>>>> le
>>>>>>>> t
>>>>>>>> H
>>>>>>>> andler.java:1767) at
>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>>>>> 583) at
>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHa
>>>>>>>> nd
>>>>>>>> l
>>>>>>>> e
>>>>>>>> r.java:224) at
>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHa
>>>>>>>> nd
>>>>>>>> l
>>>>>>>> e
>>>>>>>> r.java:1180) at
>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>>>>> 5
>>>>>>>> 13) at
>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHan
>>>>>>>> dl
>>>>>>>> e
>>>>>>>> r
>>>>>>>> .java:185) at
>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHan
>>>>>>>> dl
>>>>>>>> e
>>>>>>>> r
>>>>>>>> .java:1112) at
>>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>>> j
>>>>>>>> a
>>>>>>>> va:141) at
>>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>>>>> java:134) at
>>>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>>>> at
>>>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>>>>>>> at
>>>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>>>>> ja
>>>>>>>> v
>>>>>>>> a
>>>>>>>> :251) at
>>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abs
>>>>>>>> tr
>>>>>>>> a
>>>>>>>> c
>>>>>>>> tConnection.java:283) at
>>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>>>>>>> at
>>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndP
>>>>>>>> oi
>>>>>>>> n
>>>>>>>> t
>>>>>>>> .java:93) at
>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execu
>>>>>>>> te
>>>>>>>> P
>>>>>>>> r
>>>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>>>>> at
>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produ
>>>>>>>> ce
>>>>>>>> C
>>>>>>>> o
>>>>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>>>>> at
>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(E
>>>>>>>> xe
>>>>>>>> c
>>>>>>>> u
>>>>>>>> teProduceConsume.java:136) at
>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThread
>>>>>>>> Po
>>>>>>>> o
>>>>>>>> l
>>>>>>>> .java:671) at
>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>>>>> at
>>>>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
>>>>>>>> ja
>>>>>>>> v
>>>>>>>> a
>>>>>>>> :78) at
>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConvert
>>>>>>>> er
>>>>>>>> R
>>>>>>>> u
>>>>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>>>>> at
>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConven
>>>>>>>> ti
>>>>>>>> o
>>>>>>>> n
>>>>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>>>>> at
>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStor
>>>>>>>> ag
>>>>>>>> e
>>>>>>>> P
>>>>>>>> lugin.java:103) at
>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newIn
>>>>>>>> st
>>>>>>>> a
>>>>>>>> n
>>>>>>>> ce0(Native Method) at
>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newIn
>>>>>>>> st
>>>>>>>> a
>>>>>>>> n
>>>>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>>>>> at
>>>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.n
>>>>>>>> ew
>>>>>>>> I
>>>>>>>> n
>>>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>>>>> at
>>>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Cons
>>>>>>>> tr
>>>>>>>> u
>>>>>>>> c
>>>>>>>> tor.java:500) at
>>>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>>>>> 4
>>>>>>>> 81) at
>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Stora
>>>>>>>> ge
>>>>>>>> P
>>>>>>>> l
>>>>>>>> uginRegistryImpl.java:528)
>>>>>>>> ... 56 common frames omitted
>>>>>>>> 
>>>>>>>> -----Original Message-----
>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>>>>> To: user@drill.apache.org
>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>> 
>>>>>>>> One more thing...
>>>>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>>>>> Thanks,
>>>>>>>> -- C
>>>>>>>> 
>>>>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>>>>> 
>>>>>>>>> Hi Chris,
>>>>>>>>> 
>>>>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>>>>> 
>>>>>>>>> You're right you might be onto something if you get the password
>>>>>>>>> failed message. Can you post the exact text (JSON) of the storage
>>>>>>>>> plugin config?
>>>>>>>>> 
>>>>>>>>> -Rafael
>>>>>>>>> 
>>>>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>>> 
>>>>>>>>>> Hey Everyone,
>>>>>>>>>> 
>>>>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>>>>> 
>>>>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>>>>> 
>>>>>>>>>> Christopher Kane
>>>>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>>>>> com>,
>>>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>>>>> c
>>>>>>>>>> o
>>>>>>>>>> m>,
>>>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fiserv.c
>>>>>>>>>> m>om
>>>>>>>>>> m>>
>>>>>>>>>> 
>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>> 
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>> 
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>> 
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>> 
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>> 
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> 
>> 
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> 


Re: Initial Oracle Setup

Posted by Charles Givre <cg...@gmail.com>.
Some more questions…
1.  Are there other tables you can query?  I want to see if we can at least get something to work ;-) (Although we can read the schema via SHOW TABLES)
2.  Can you try the following query:
SELECT CAST(<some field> AS INT) 
FROM merchant….  Basically I’m wondering if we force Drill to map the field to a type, if we can get it to read the data.



> On Jun 24, 2020, at 4:44 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> 
> Hey Charles,
> 
> I ran a couple of different queries selecting only a single column from the table and it seems multiple columns are all giving me the same unknown sql type -101 error.
> The stacktrace also appears to be the same per column, so to me it appears that the issue is maybe with the format of the data itself coming from Oracle, I'm not too sure at this point.
> 
> -Chris
> 
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Wednesday, June 24, 2020 3:30 PM
> To: user <us...@drill.apache.org>
> Subject: Re: Initial Oracle Setup
> 
> Hey Christopher,
> Can you run a query with individual columns so we can see which column is causing the issue?
> Thx,
> --C
> 
> 
> 
>> On Jun 23, 2020, at 5:25 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>> 
>> Rafael
>> -Okay so doing "show schemas;" (I didn't include the semicolon before) resulted in all of the schemas I was expecting to see be listed, so it's awesome that Drill was actually able to make the connection. So I do think my issue might be with the data types of the columns in the table I'm trying to query.
>> 
>> Charles
>> -here are the data types on the table "merchant": NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE.
>> -if I had to take a guess, I would bet money that the problem child here is the timestamp data type.
>> 
>> -----Original Message-----
>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>> Sent: Tuesday, June 23, 2020 5:19 PM
>> To: user@drill.apache.org
>> Subject: RE: Initial Oracle Setup
>> 
>> Rafael
>> -I am running this in embedded mode on my Windows Laptop and I believe I have access to the shell but I'm not too familiar with the syntax so I'll have to look that up and I'll let you know what I get.
>> 
>> Charles
>> -I'm glad you were able to find something about that error because I was having a tough time finding something related to it. I actually thought something similar and actually changed my query to only return the merchant_id of the merchant because I thought maybe there was a column that Drill didn't know how to handle. I will take a look at the stackoverflow link that you sent me and will let you know what I come up with.
>> -Here is the stacktrace for the VALIDATION ERROR:
>> 2020-06-23 17:15:56,017 [qtp409347742-245] ERROR o.a.d.e.server.rest.QueryResources - Query from Web UI Failed: {}
>> org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101
>> 
>> 
>> [Error Id: def7533c-bb11-48da-b770-28c6730a1799 ] at org.apache.drill.exec.server.rest.RestQueryRunner.submitQuery(RestQueryRunner.java:181)
>> at org.apache.drill.exec.server.rest.RestQueryRunner.run(RestQueryRunner.java:70)
>> at org.apache.drill.exec.server.rest.QueryResources.submitQueryJSON(QueryResources.java:96)
>> at org.apache.drill.exec.server.rest.QueryResources.submitQuery(QueryResources.java:114)
>> at jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>> at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
>> at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>> at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>> at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:205)
>> at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>> at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
>> at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
>> at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
>> at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>> at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
>> at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
>> at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
>> at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
>> at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
>> at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
>> at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
>> at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
>> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848)
>> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1780)
>> at org.apache.drill.exec.server.rest.header.ResponseHeadersSettingFilter.doFilter(ResponseHeadersSettingFilter.java:71)
>> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767)
>> at org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(CsrfTokenValidateFilter.java:55)
>> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767)
>> at org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(CsrfTokenInjectFilter.java:54)
>> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767)
>> at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
>> at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:224)
>> at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
>> at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:513)
>> at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
>> at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
>> at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>> at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
>> at org.eclipse.jetty.server.Server.handle(Server.java:539)
>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>> at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
>> at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
>> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>> at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
>> at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
>> at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
>> at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
>> at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
>> at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
>> at java.base/java.lang.Thread.run(Thread.java:832)
>> Caused by: java.lang.IllegalArgumentException: Unknown SQL type -101 at org.apache.calcite.avatica.SqlType.valueOf(SqlType.java:383)
>> at org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchema.java:385)
>> at org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchema.java:362)
>> at org.apache.calcite.adapter.jdbc.JdbcTable.getRowType(JdbcTable.java:117)
>> at org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:159)
>> at org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.java:99)
>> at org.apache.calcite.sql.validate.DelegatingScope.resolveTable(DelegatingScope.java:203)
>> at org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(IdentifierNamespace.java:105)
>> at org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(IdentifierNamespace.java:177)
>> at org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:84)
>> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1009)
>> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:969)
>> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3129)
>> at org.apache.drill.exec.planner.sql.conversion.DrillValidator.validateFrom(DrillValidator.java:63)
>> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3111)
>> at org.apache.drill.exec.planner.sql.conversion.DrillValidator.validateFrom(DrillValidator.java:63)
>> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:3383)
>> at org.apache.calcite.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:60)
>> at org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:84)
>> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1009)
>> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:969)
>> at org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:216)
>> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:944)
>> at org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValidatorImpl.java:651)
>> at org.apache.drill.exec.planner.sql.conversion.SqlConverter.validate(SqlConverter.java:189)
>> at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateNode(DefaultSqlHandler.java:641)
>> at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateAndConvert(DefaultSqlHandler.java:195)
>> at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:169)
>> at org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(DrillSqlWorker.java:283)
>> at org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan(DrillSqlWorker.java:163)
>> at org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillSqlWorker.java:128)
>> at org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:93)
>> at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:593)
>> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:274)
>> at .......(:0)
>> 
>> 
>> 
>> -----Original Message-----
>> From: Charles Givre <cg...@gmail.com>
>> Sent: Tuesday, June 23, 2020 4:35 PM
>> To: user@drill.apache.org
>> Subject: Re: Initial Oracle Setup
>> 
>> One more thing...
>> 
>> Could you run the query that is producing the VALIDATION ERROR and send the full stack trace?  I'm thinking that can be fixed on the Drill end of things, at least until Calcite fixes that.
>> -- C
>> 
>>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>> 
>>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
>>> 
>>> I think the only thing I'm having an issue with now I think is related
>>> to this:
>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.org
>>> _jira_browse_CALCITE-2D3533&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCB
>>> lPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=g39OzDxVVrucBo3nnaZNaIqoh9SZZi
>>> dthZ3H6QSOkWE&s=oVohCx-25EZLkSVY7yEV1FtFZ-nNDTnGvek4Sx67nYc&e=
>>> 
>>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
>>> 
>>> -----Original Message-----
>>> From: Rafael Jaimes III <ra...@gmail.com>
>>> Sent: Tuesday, June 23, 2020 3:43 PM
>>> To: user@drill.apache.org
>>> Subject: Re: Initial Oracle Setup
>>> 
>>> Glad you got it working with the new version regardless!
>>> 
>>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>>>> 
>>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>>>> 
>>>> -----Original Message-----
>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>> Sent: Tuesday, June 23, 2020 3:31 PM
>>>> To: user@drill.apache.org
>>>> Subject: RE: Initial Oracle Setup
>>>> 
>>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>>>> 
>>>> -----Original Message-----
>>>> From: Charles Givre <cg...@gmail.com>
>>>> Sent: Tuesday, June 23, 2020 3:23 PM
>>>> To: user <us...@drill.apache.org>
>>>> Subject: Re: Initial Oracle Setup
>>>> 
>>>> It hasn't been released yet, so you'd have to d/l from github
>>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apac
>>>> h
>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmV
>>>> q
>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v
>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apac
>>>> h
>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmV
>>>> q
>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v
>>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from
>>>> source.
>>>> If you can't do that, I have a pre-release here:
>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivr
>>>> e
>>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-D
>>>> P
>>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM
>>>> 5
>>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0
>>>> &
>>>> e=
>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgiv
>>>> r
>>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-
>>>> D
>>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNlo
>>>> M
>>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY
>>>> 0
>>>> &e= >
>>>> 
>>>> 
>>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>> 
>>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>>>> 
>>>>> -----Original Message-----
>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>>>> To: user@drill.apache.org
>>>>> Subject: RE: Initial Oracle Setup
>>>>> 
>>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>>>> 
>>>>> -----Original Message-----
>>>>> From: Charles Givre <cg...@gmail.com>
>>>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>>>> To: user@drill.apache.org
>>>>> Subject: Re: Initial Oracle Setup
>>>>> 
>>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>>>> 
>>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>> 
>>>>>> On both the directory of drill and on startup I am running Apache
>>>>>> Drill 1.17.0
>>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: Charles Givre <cgivre@gmail.com <ma...@gmail.com>>
>>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>>>> Subject: Re: Initial Oracle Setup
>>>>>> 
>>>>>> One more question.. what version of Drill are you using?
>>>>>> 
>>>>>> 
>>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>> 
>>>>>>> Rafael
>>>>>>> -I did place it in the jars/3rdparty folder.
>>>>>>> 
>>>>>>> Storage Plugin Config:
>>>>>>> {
>>>>>>> "type": "jdbc",
>>>>>>> "enabled": true,
>>>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>>>> }
>>>>>>> (it's been modified to remove sensitive information)
>>>>>>> 
>>>>>>> Charles
>>>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>>>> 
>>>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/ update
>>>>>>> plugin: QA2 Oracle
>>>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
>>>>>>> Failure setting up new storage plugin configuration for config
>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>>>> at
>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Stora
>>>>>>> ge
>>>>>>> P
>>>>>>> l
>>>>>>> uginRegistryImpl.java:536) at
>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpda
>>>>>>> te
>>>>>>> (
>>>>>>> S
>>>>>>> toragePluginRegistryImpl.java:132)
>>>>>>> at
>>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpda
>>>>>>> te
>>>>>>> I
>>>>>>> n
>>>>>>> Storage(PluginConfigWrapper.java:56)
>>>>>>> at
>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdateP
>>>>>>> lu
>>>>>>> g
>>>>>>> i
>>>>>>> nJSON(StorageResources.java:212) at
>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdateP
>>>>>>> lu
>>>>>>> g
>>>>>>> i
>>>>>>> n(StorageResources.java:233) at
>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Na
>>>>>>> ti
>>>>>>> v
>>>>>>> e
>>>>>>> Method) at
>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Nat
>>>>>>> iv
>>>>>>> e
>>>>>>> M
>>>>>>> ethodAccessorImpl.java:62) at
>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
>>>>>>> (D
>>>>>>> e
>>>>>>> l
>>>>>>> egatingMethodAccessorImpl.java:43)
>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocatio
>>>>>>> nH
>>>>>>> a
>>>>>>> n
>>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:8
>>>>>>> 1)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>>>> ho
>>>>>>> d
>>>>>>> D
>>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>>>> ho
>>>>>>> d
>>>>>>> D
>>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispa
>>>>>>> tc
>>>>>>> h
>>>>>>> e
>>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherPr
>>>>>>> ov
>>>>>>> i
>>>>>>> d
>>>>>>> er.java:205) at
>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>>>> ho
>>>>>>> d
>>>>>>> D
>>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Res
>>>>>>> ou
>>>>>>> r
>>>>>>> c
>>>>>>> eMethodInvoker.java:389) at
>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Reso
>>>>>>> ur
>>>>>>> c
>>>>>>> e
>>>>>>> MethodInvoker.java:347) at
>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Reso
>>>>>>> ur
>>>>>>> c
>>>>>>> e
>>>>>>> MethodInvoker.java:102) at
>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java
>>>>>>> :3
>>>>>>> 2
>>>>>>> 6
>>>>>>> ) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>>> at
>>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Requ
>>>>>>> es
>>>>>>> t
>>>>>>> S
>>>>>>> cope.java:317) at
>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>>>> 3
>>>>>>> 05) at
>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationH
>>>>>>> an
>>>>>>> d
>>>>>>> l
>>>>>>> er.java:1154) at
>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent
>>>>>>> .j
>>>>>>> a
>>>>>>> v
>>>>>>> a:473) at
>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>> 4
>>>>>>> 2
>>>>>>> 7) at
>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>>>> in
>>>>>>> e
>>>>>>> r
>>>>>>> .java:388) at
>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>>>> in
>>>>>>> e
>>>>>>> r
>>>>>>> .java:341) at
>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>>>> in
>>>>>>> e
>>>>>>> r
>>>>>>> .java:228) at
>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>>>> 84
>>>>>>> 8
>>>>>>> )
>>>>>>> at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>>>> le
>>>>>>> t
>>>>>>> H
>>>>>>> andler.java:1780) at
>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter
>>>>>>> (C
>>>>>>> s
>>>>>>> r
>>>>>>> fTokenValidateFilter.java:55) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>>>> le
>>>>>>> t
>>>>>>> H
>>>>>>> andler.java:1767) at
>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(C
>>>>>>> sr
>>>>>>> f
>>>>>>> T
>>>>>>> okenInjectFilter.java:54) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>>>> le
>>>>>>> t
>>>>>>> H
>>>>>>> andler.java:1767) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>>>> 583) at
>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHa
>>>>>>> nd
>>>>>>> l
>>>>>>> e
>>>>>>> r.java:224) at
>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHa
>>>>>>> nd
>>>>>>> l
>>>>>>> e
>>>>>>> r.java:1180) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>>>> 5
>>>>>>> 13) at
>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHan
>>>>>>> dl
>>>>>>> e
>>>>>>> r
>>>>>>> .java:185) at
>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHan
>>>>>>> dl
>>>>>>> e
>>>>>>> r
>>>>>>> .java:1112) at
>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>> j
>>>>>>> a
>>>>>>> va:141) at
>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>>>> java:134) at
>>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>>> at
>>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>>>>>> at
>>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>>>> ja
>>>>>>> v
>>>>>>> a
>>>>>>> :251) at
>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abs
>>>>>>> tr
>>>>>>> a
>>>>>>> c
>>>>>>> tConnection.java:283) at
>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>>>>>> at
>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndP
>>>>>>> oi
>>>>>>> n
>>>>>>> t
>>>>>>> .java:93) at
>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execu
>>>>>>> te
>>>>>>> P
>>>>>>> r
>>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>>>> at
>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produ
>>>>>>> ce
>>>>>>> C
>>>>>>> o
>>>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>>>> at
>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(E
>>>>>>> xe
>>>>>>> c
>>>>>>> u
>>>>>>> teProduceConsume.java:136) at
>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThread
>>>>>>> Po
>>>>>>> o
>>>>>>> l
>>>>>>> .java:671) at
>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>>>> at
>>>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
>>>>>>> ja
>>>>>>> v
>>>>>>> a
>>>>>>> :78) at
>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConvert
>>>>>>> er
>>>>>>> R
>>>>>>> u
>>>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>>>> at
>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConven
>>>>>>> ti
>>>>>>> o
>>>>>>> n
>>>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>>>> at
>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStor
>>>>>>> ag
>>>>>>> e
>>>>>>> P
>>>>>>> lugin.java:103) at
>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newIn
>>>>>>> st
>>>>>>> a
>>>>>>> n
>>>>>>> ce0(Native Method) at
>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newIn
>>>>>>> st
>>>>>>> a
>>>>>>> n
>>>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>>>> at
>>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.n
>>>>>>> ew
>>>>>>> I
>>>>>>> n
>>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>>>> at
>>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Cons
>>>>>>> tr
>>>>>>> u
>>>>>>> c
>>>>>>> tor.java:500) at
>>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>>>> 4
>>>>>>> 81) at
>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Stora
>>>>>>> ge
>>>>>>> P
>>>>>>> l
>>>>>>> uginRegistryImpl.java:528)
>>>>>>> ... 56 common frames omitted
>>>>>>> 
>>>>>>> -----Original Message-----
>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>>>> To: user@drill.apache.org
>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>> 
>>>>>>> One more thing...
>>>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>>>> Thanks,
>>>>>>> -- C
>>>>>>> 
>>>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>>>> 
>>>>>>>> Hi Chris,
>>>>>>>> 
>>>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>>>> 
>>>>>>>> You're right you might be onto something if you get the password
>>>>>>>> failed message. Can you post the exact text (JSON) of the storage
>>>>>>>> plugin config?
>>>>>>>> 
>>>>>>>> -Rafael
>>>>>>>> 
>>>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>> 
>>>>>>>>> Hey Everyone,
>>>>>>>>> 
>>>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>>>> 
>>>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>>>> 
>>>>>>>>> Christopher Kane
>>>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>>>> com>,
>>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>>>> c
>>>>>>>>> o
>>>>>>>>> m>,
>>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fiserv.c
>>>>>>>>> m>om
>>>>>>>>> m>>
>>>>>>>>> 
>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>> 
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>> 
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>> 
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>> 
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> 
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> 
> 
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.



RE: Initial Oracle Setup

Posted by Christopher Kane <ch...@cardconnect.com.INVALID>.
Hey Charles,

I ran a couple of different queries selecting only a single column from the table and it seems multiple columns are all giving me the same unknown sql type -101 error.
The stacktrace also appears to be the same per column, so to me it appears that the issue is maybe with the format of the data itself coming from Oracle, I'm not too sure at this point.

-Chris

-----Original Message-----
From: Charles Givre <cg...@gmail.com>
Sent: Wednesday, June 24, 2020 3:30 PM
To: user <us...@drill.apache.org>
Subject: Re: Initial Oracle Setup

Hey Christopher,
Can you run a query with individual columns so we can see which column is causing the issue?
Thx,
--C



> On Jun 23, 2020, at 5:25 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>
> Rafael
> -Okay so doing "show schemas;" (I didn't include the semicolon before) resulted in all of the schemas I was expecting to see be listed, so it's awesome that Drill was actually able to make the connection. So I do think my issue might be with the data types of the columns in the table I'm trying to query.
>
> Charles
> -here are the data types on the table "merchant": NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE.
> -if I had to take a guess, I would bet money that the problem child here is the timestamp data type.
>
> -----Original Message-----
> From: Christopher Kane <ch...@cardconnect.com.INVALID>
> Sent: Tuesday, June 23, 2020 5:19 PM
> To: user@drill.apache.org
> Subject: RE: Initial Oracle Setup
>
> Rafael
> -I am running this in embedded mode on my Windows Laptop and I believe I have access to the shell but I'm not too familiar with the syntax so I'll have to look that up and I'll let you know what I get.
>
> Charles
> -I'm glad you were able to find something about that error because I was having a tough time finding something related to it. I actually thought something similar and actually changed my query to only return the merchant_id of the merchant because I thought maybe there was a column that Drill didn't know how to handle. I will take a look at the stackoverflow link that you sent me and will let you know what I come up with.
> -Here is the stacktrace for the VALIDATION ERROR:
> 2020-06-23 17:15:56,017 [qtp409347742-245] ERROR o.a.d.e.server.rest.QueryResources - Query from Web UI Failed: {}
> org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101
>
>
> [Error Id: def7533c-bb11-48da-b770-28c6730a1799 ] at org.apache.drill.exec.server.rest.RestQueryRunner.submitQuery(RestQueryRunner.java:181)
> at org.apache.drill.exec.server.rest.RestQueryRunner.run(RestQueryRunner.java:70)
> at org.apache.drill.exec.server.rest.QueryResources.submitQueryJSON(QueryResources.java:96)
> at org.apache.drill.exec.server.rest.QueryResources.submitQuery(QueryResources.java:114)
> at jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
> at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
> at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
> at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
> at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:205)
> at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
> at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
> at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
> at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
> at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
> at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
> at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
> at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
> at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
> at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
> at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
> at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
> at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848)
> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1780)
> at org.apache.drill.exec.server.rest.header.ResponseHeadersSettingFilter.doFilter(ResponseHeadersSettingFilter.java:71)
> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767)
> at org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(CsrfTokenValidateFilter.java:55)
> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767)
> at org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(CsrfTokenInjectFilter.java:54)
> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767)
> at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
> at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:224)
> at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
> at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:513)
> at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
> at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
> at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
> at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
> at org.eclipse.jetty.server.Server.handle(Server.java:539)
> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
> at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
> at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
> at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
> at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
> at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
> at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
> at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
> at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
> at java.base/java.lang.Thread.run(Thread.java:832)
> Caused by: java.lang.IllegalArgumentException: Unknown SQL type -101 at org.apache.calcite.avatica.SqlType.valueOf(SqlType.java:383)
> at org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchema.java:385)
> at org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchema.java:362)
> at org.apache.calcite.adapter.jdbc.JdbcTable.getRowType(JdbcTable.java:117)
> at org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:159)
> at org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.java:99)
> at org.apache.calcite.sql.validate.DelegatingScope.resolveTable(DelegatingScope.java:203)
> at org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(IdentifierNamespace.java:105)
> at org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(IdentifierNamespace.java:177)
> at org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:84)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1009)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:969)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3129)
> at org.apache.drill.exec.planner.sql.conversion.DrillValidator.validateFrom(DrillValidator.java:63)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3111)
> at org.apache.drill.exec.planner.sql.conversion.DrillValidator.validateFrom(DrillValidator.java:63)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:3383)
> at org.apache.calcite.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:60)
> at org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:84)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1009)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:969)
> at org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:216)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:944)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValidatorImpl.java:651)
> at org.apache.drill.exec.planner.sql.conversion.SqlConverter.validate(SqlConverter.java:189)
> at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateNode(DefaultSqlHandler.java:641)
> at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateAndConvert(DefaultSqlHandler.java:195)
> at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:169)
> at org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(DrillSqlWorker.java:283)
> at org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan(DrillSqlWorker.java:163)
> at org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillSqlWorker.java:128)
> at org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:93)
> at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:593)
> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:274)
> at .......(:0)
>
>
>
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Tuesday, June 23, 2020 4:35 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
>
> One more thing...
>
> Could you run the query that is producing the VALIDATION ERROR and send the full stack trace?  I'm thinking that can be fixed on the Drill end of things, at least until Calcite fixes that.
> -- C
>
>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>
>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
>>
>> I think the only thing I'm having an issue with now I think is related
>> to this:
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.org
>> _jira_browse_CALCITE-2D3533&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCB
>> lPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=g39OzDxVVrucBo3nnaZNaIqoh9SZZi
>> dthZ3H6QSOkWE&s=oVohCx-25EZLkSVY7yEV1FtFZ-nNDTnGvek4Sx67nYc&e=
>>
>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
>>
>> -----Original Message-----
>> From: Rafael Jaimes III <ra...@gmail.com>
>> Sent: Tuesday, June 23, 2020 3:43 PM
>> To: user@drill.apache.org
>> Subject: Re: Initial Oracle Setup
>>
>> Glad you got it working with the new version regardless!
>>
>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>>>
>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>>>
>>> -----Original Message-----
>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>> Sent: Tuesday, June 23, 2020 3:31 PM
>>> To: user@drill.apache.org
>>> Subject: RE: Initial Oracle Setup
>>>
>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>>>
>>> -----Original Message-----
>>> From: Charles Givre <cg...@gmail.com>
>>> Sent: Tuesday, June 23, 2020 3:23 PM
>>> To: user <us...@drill.apache.org>
>>> Subject: Re: Initial Oracle Setup
>>>
>>> It hasn't been released yet, so you'd have to d/l from github
>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apac
>>> h
>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmV
>>> q
>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v
>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apac
>>> h
>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmV
>>> q
>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v
>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from
>>> source.
>>> If you can't do that, I have a pre-release here:
>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivr
>>> e
>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-D
>>> P
>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM
>>> 5
>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0
>>> &
>>> e=
>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgiv
>>> r
>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-
>>> D
>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNlo
>>> M
>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY
>>> 0
>>> &e= >
>>>
>>>
>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>
>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>>>
>>>> -----Original Message-----
>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>>> To: user@drill.apache.org
>>>> Subject: RE: Initial Oracle Setup
>>>>
>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>>>
>>>> -----Original Message-----
>>>> From: Charles Givre <cg...@gmail.com>
>>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>>> To: user@drill.apache.org
>>>> Subject: Re: Initial Oracle Setup
>>>>
>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>>>
>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>
>>>>> On both the directory of drill and on startup I am running Apache
>>>>> Drill 1.17.0
>>>>>
>>>>> -----Original Message-----
>>>>> From: Charles Givre <cgivre@gmail.com <ma...@gmail.com>>
>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>>> Subject: Re: Initial Oracle Setup
>>>>>
>>>>> One more question.. what version of Drill are you using?
>>>>>
>>>>>
>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>
>>>>>> Rafael
>>>>>> -I did place it in the jars/3rdparty folder.
>>>>>>
>>>>>> Storage Plugin Config:
>>>>>> {
>>>>>> "type": "jdbc",
>>>>>> "enabled": true,
>>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>>> }
>>>>>> (it's been modified to remove sensitive information)
>>>>>>
>>>>>> Charles
>>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>>>
>>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/ update
>>>>>> plugin: QA2 Oracle
>>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
>>>>>> Failure setting up new storage plugin configuration for config
>>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>>> at
>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Stora
>>>>>> ge
>>>>>> P
>>>>>> l
>>>>>> uginRegistryImpl.java:536) at
>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpda
>>>>>> te
>>>>>> (
>>>>>> S
>>>>>> toragePluginRegistryImpl.java:132)
>>>>>> at
>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpda
>>>>>> te
>>>>>> I
>>>>>> n
>>>>>> Storage(PluginConfigWrapper.java:56)
>>>>>> at
>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdateP
>>>>>> lu
>>>>>> g
>>>>>> i
>>>>>> nJSON(StorageResources.java:212) at
>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdateP
>>>>>> lu
>>>>>> g
>>>>>> i
>>>>>> n(StorageResources.java:233) at
>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Na
>>>>>> ti
>>>>>> v
>>>>>> e
>>>>>> Method) at
>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Nat
>>>>>> iv
>>>>>> e
>>>>>> M
>>>>>> ethodAccessorImpl.java:62) at
>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
>>>>>> (D
>>>>>> e
>>>>>> l
>>>>>> egatingMethodAccessorImpl.java:43)
>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>> at
>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocatio
>>>>>> nH
>>>>>> a
>>>>>> n
>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:8
>>>>>> 1)
>>>>>> at
>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>>> ho
>>>>>> d
>>>>>> D
>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>> at
>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>>> ho
>>>>>> d
>>>>>> D
>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>>>> at
>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispa
>>>>>> tc
>>>>>> h
>>>>>> e
>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherPr
>>>>>> ov
>>>>>> i
>>>>>> d
>>>>>> er.java:205) at
>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>>> ho
>>>>>> d
>>>>>> D
>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>>>>> at
>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Res
>>>>>> ou
>>>>>> r
>>>>>> c
>>>>>> eMethodInvoker.java:389) at
>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Reso
>>>>>> ur
>>>>>> c
>>>>>> e
>>>>>> MethodInvoker.java:347) at
>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Reso
>>>>>> ur
>>>>>> c
>>>>>> e
>>>>>> MethodInvoker.java:102) at
>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java
>>>>>> :3
>>>>>> 2
>>>>>> 6
>>>>>> ) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>> at
>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Requ
>>>>>> es
>>>>>> t
>>>>>> S
>>>>>> cope.java:317) at
>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>>> 3
>>>>>> 05) at
>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationH
>>>>>> an
>>>>>> d
>>>>>> l
>>>>>> er.java:1154) at
>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent
>>>>>> .j
>>>>>> a
>>>>>> v
>>>>>> a:473) at
>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>> 4
>>>>>> 2
>>>>>> 7) at
>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>>> in
>>>>>> e
>>>>>> r
>>>>>> .java:388) at
>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>>> in
>>>>>> e
>>>>>> r
>>>>>> .java:341) at
>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>>> in
>>>>>> e
>>>>>> r
>>>>>> .java:228) at
>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>>> 84
>>>>>> 8
>>>>>> )
>>>>>> at
>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>>> le
>>>>>> t
>>>>>> H
>>>>>> andler.java:1780) at
>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter
>>>>>> (C
>>>>>> s
>>>>>> r
>>>>>> fTokenValidateFilter.java:55) at
>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>>> le
>>>>>> t
>>>>>> H
>>>>>> andler.java:1767) at
>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(C
>>>>>> sr
>>>>>> f
>>>>>> T
>>>>>> okenInjectFilter.java:54) at
>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>>> le
>>>>>> t
>>>>>> H
>>>>>> andler.java:1767) at
>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>>> 583) at
>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHa
>>>>>> nd
>>>>>> l
>>>>>> e
>>>>>> r.java:224) at
>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHa
>>>>>> nd
>>>>>> l
>>>>>> e
>>>>>> r.java:1180) at
>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>>> 5
>>>>>> 13) at
>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHan
>>>>>> dl
>>>>>> e
>>>>>> r
>>>>>> .java:185) at
>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHan
>>>>>> dl
>>>>>> e
>>>>>> r
>>>>>> .java:1112) at
>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>> j
>>>>>> a
>>>>>> va:141) at
>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>>> java:134) at
>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>> at
>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>>>>> at
>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>>> ja
>>>>>> v
>>>>>> a
>>>>>> :251) at
>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abs
>>>>>> tr
>>>>>> a
>>>>>> c
>>>>>> tConnection.java:283) at
>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>>>>> at
>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndP
>>>>>> oi
>>>>>> n
>>>>>> t
>>>>>> .java:93) at
>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execu
>>>>>> te
>>>>>> P
>>>>>> r
>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>>> at
>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produ
>>>>>> ce
>>>>>> C
>>>>>> o
>>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>>> at
>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(E
>>>>>> xe
>>>>>> c
>>>>>> u
>>>>>> teProduceConsume.java:136) at
>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThread
>>>>>> Po
>>>>>> o
>>>>>> l
>>>>>> .java:671) at
>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>>> at
>>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
>>>>>> ja
>>>>>> v
>>>>>> a
>>>>>> :78) at
>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConvert
>>>>>> er
>>>>>> R
>>>>>> u
>>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>>> at
>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConven
>>>>>> ti
>>>>>> o
>>>>>> n
>>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>>> at
>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStor
>>>>>> ag
>>>>>> e
>>>>>> P
>>>>>> lugin.java:103) at
>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newIn
>>>>>> st
>>>>>> a
>>>>>> n
>>>>>> ce0(Native Method) at
>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newIn
>>>>>> st
>>>>>> a
>>>>>> n
>>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>>> at
>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.n
>>>>>> ew
>>>>>> I
>>>>>> n
>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>>> at
>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Cons
>>>>>> tr
>>>>>> u
>>>>>> c
>>>>>> tor.java:500) at
>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>>> 4
>>>>>> 81) at
>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Stora
>>>>>> ge
>>>>>> P
>>>>>> l
>>>>>> uginRegistryImpl.java:528)
>>>>>> ... 56 common frames omitted
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>>> To: user@drill.apache.org
>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>
>>>>>> One more thing...
>>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>>> Thanks,
>>>>>> -- C
>>>>>>
>>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>>>
>>>>>>> Hi Chris,
>>>>>>>
>>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>>>
>>>>>>> You're right you might be onto something if you get the password
>>>>>>> failed message. Can you post the exact text (JSON) of the storage
>>>>>>> plugin config?
>>>>>>>
>>>>>>> -Rafael
>>>>>>>
>>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>
>>>>>>>> Hey Everyone,
>>>>>>>>
>>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>>>
>>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>>>
>>>>>>>> Christopher Kane
>>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>>> com>,
>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>>> c
>>>>>>>> o
>>>>>>>> m>,
>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fiserv.c
>>>>>>>> m>om
>>>>>>>> m>>
>>>>>>>>
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.


THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

Re: Initial Oracle Setup

Posted by Charles Givre <cg...@gmail.com>.
Hey Christopher, 
Can you run a query with individual columns so we can see which column is causing the issue?  
Thx,
--C 



> On Jun 23, 2020, at 5:25 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> 
> Rafael
> -Okay so doing "show schemas;" (I didn't include the semicolon before) resulted in all of the schemas I was expecting to see be listed, so it's awesome that Drill was actually able to make the connection. So I do think my issue might be with the data types of the columns in the table I'm trying to query.
> 
> Charles
> -here are the data types on the table "merchant": NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE.
> -if I had to take a guess, I would bet money that the problem child here is the timestamp data type.
> 
> -----Original Message-----
> From: Christopher Kane <ch...@cardconnect.com.INVALID>
> Sent: Tuesday, June 23, 2020 5:19 PM
> To: user@drill.apache.org
> Subject: RE: Initial Oracle Setup
> 
> Rafael
> -I am running this in embedded mode on my Windows Laptop and I believe I have access to the shell but I'm not too familiar with the syntax so I'll have to look that up and I'll let you know what I get.
> 
> Charles
> -I'm glad you were able to find something about that error because I was having a tough time finding something related to it. I actually thought something similar and actually changed my query to only return the merchant_id of the merchant because I thought maybe there was a column that Drill didn't know how to handle. I will take a look at the stackoverflow link that you sent me and will let you know what I come up with.
> -Here is the stacktrace for the VALIDATION ERROR:
> 2020-06-23 17:15:56,017 [qtp409347742-245] ERROR o.a.d.e.server.rest.QueryResources - Query from Web UI Failed: {}
> org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101
> 
> 
> [Error Id: def7533c-bb11-48da-b770-28c6730a1799 ] at org.apache.drill.exec.server.rest.RestQueryRunner.submitQuery(RestQueryRunner.java:181)
> at org.apache.drill.exec.server.rest.RestQueryRunner.run(RestQueryRunner.java:70)
> at org.apache.drill.exec.server.rest.QueryResources.submitQueryJSON(QueryResources.java:96)
> at org.apache.drill.exec.server.rest.QueryResources.submitQuery(QueryResources.java:114)
> at jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
> at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
> at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
> at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
> at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:205)
> at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
> at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
> at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
> at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
> at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
> at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
> at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
> at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
> at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
> at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
> at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
> at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
> at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848)
> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1780)
> at org.apache.drill.exec.server.rest.header.ResponseHeadersSettingFilter.doFilter(ResponseHeadersSettingFilter.java:71)
> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767)
> at org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(CsrfTokenValidateFilter.java:55)
> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767)
> at org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(CsrfTokenInjectFilter.java:54)
> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767)
> at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
> at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:224)
> at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
> at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:513)
> at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
> at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
> at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
> at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
> at org.eclipse.jetty.server.Server.handle(Server.java:539)
> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
> at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
> at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
> at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
> at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
> at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
> at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
> at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
> at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
> at java.base/java.lang.Thread.run(Thread.java:832)
> Caused by: java.lang.IllegalArgumentException: Unknown SQL type -101 at org.apache.calcite.avatica.SqlType.valueOf(SqlType.java:383)
> at org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchema.java:385)
> at org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchema.java:362)
> at org.apache.calcite.adapter.jdbc.JdbcTable.getRowType(JdbcTable.java:117)
> at org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:159)
> at org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.java:99)
> at org.apache.calcite.sql.validate.DelegatingScope.resolveTable(DelegatingScope.java:203)
> at org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(IdentifierNamespace.java:105)
> at org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(IdentifierNamespace.java:177)
> at org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:84)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1009)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:969)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3129)
> at org.apache.drill.exec.planner.sql.conversion.DrillValidator.validateFrom(DrillValidator.java:63)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3111)
> at org.apache.drill.exec.planner.sql.conversion.DrillValidator.validateFrom(DrillValidator.java:63)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:3383)
> at org.apache.calcite.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:60)
> at org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:84)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1009)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:969)
> at org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:216)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:944)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValidatorImpl.java:651)
> at org.apache.drill.exec.planner.sql.conversion.SqlConverter.validate(SqlConverter.java:189)
> at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateNode(DefaultSqlHandler.java:641)
> at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateAndConvert(DefaultSqlHandler.java:195)
> at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:169)
> at org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(DrillSqlWorker.java:283)
> at org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan(DrillSqlWorker.java:163)
> at org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillSqlWorker.java:128)
> at org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:93)
> at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:593)
> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:274)
> at .......(:0)
> 
> 
> 
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Tuesday, June 23, 2020 4:35 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
> 
> One more thing...
> 
> Could you run the query that is producing the VALIDATION ERROR and send the full stack trace?  I'm thinking that can be fixed on the Drill end of things, at least until Calcite fixes that.
> -- C
> 
>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>> 
>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
>> 
>> I think the only thing I'm having an issue with now I think is related
>> to this:
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.org
>> _jira_browse_CALCITE-2D3533&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCB
>> lPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=g39OzDxVVrucBo3nnaZNaIqoh9SZZi
>> dthZ3H6QSOkWE&s=oVohCx-25EZLkSVY7yEV1FtFZ-nNDTnGvek4Sx67nYc&e=
>> 
>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
>> 
>> -----Original Message-----
>> From: Rafael Jaimes III <ra...@gmail.com>
>> Sent: Tuesday, June 23, 2020 3:43 PM
>> To: user@drill.apache.org
>> Subject: Re: Initial Oracle Setup
>> 
>> Glad you got it working with the new version regardless!
>> 
>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>>> 
>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>>> 
>>> -----Original Message-----
>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>> Sent: Tuesday, June 23, 2020 3:31 PM
>>> To: user@drill.apache.org
>>> Subject: RE: Initial Oracle Setup
>>> 
>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>>> 
>>> -----Original Message-----
>>> From: Charles Givre <cg...@gmail.com>
>>> Sent: Tuesday, June 23, 2020 3:23 PM
>>> To: user <us...@drill.apache.org>
>>> Subject: Re: Initial Oracle Setup
>>> 
>>> It hasn't been released yet, so you'd have to d/l from github
>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apac
>>> h
>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmV
>>> q
>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v
>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apac
>>> h
>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmV
>>> q
>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v
>>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from
>>> source.
>>> If you can't do that, I have a pre-release here:
>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivr
>>> e
>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-D
>>> P
>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM
>>> 5
>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0
>>> &
>>> e=
>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgiv
>>> r
>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-
>>> D
>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNlo
>>> M
>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY
>>> 0
>>> &e= >
>>> 
>>> 
>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>> 
>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>>> 
>>>> -----Original Message-----
>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>>> To: user@drill.apache.org
>>>> Subject: RE: Initial Oracle Setup
>>>> 
>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>>> 
>>>> -----Original Message-----
>>>> From: Charles Givre <cg...@gmail.com>
>>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>>> To: user@drill.apache.org
>>>> Subject: Re: Initial Oracle Setup
>>>> 
>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>>> 
>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>> 
>>>>> On both the directory of drill and on startup I am running Apache
>>>>> Drill 1.17.0
>>>>> 
>>>>> -----Original Message-----
>>>>> From: Charles Givre <cgivre@gmail.com <ma...@gmail.com>>
>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>>> Subject: Re: Initial Oracle Setup
>>>>> 
>>>>> One more question.. what version of Drill are you using?
>>>>> 
>>>>> 
>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>> 
>>>>>> Rafael
>>>>>> -I did place it in the jars/3rdparty folder.
>>>>>> 
>>>>>> Storage Plugin Config:
>>>>>> {
>>>>>> "type": "jdbc",
>>>>>> "enabled": true,
>>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>>> }
>>>>>> (it's been modified to remove sensitive information)
>>>>>> 
>>>>>> Charles
>>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>>> 
>>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/ update
>>>>>> plugin: QA2 Oracle
>>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
>>>>>> Failure setting up new storage plugin configuration for config
>>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>>> at
>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Stora
>>>>>> ge
>>>>>> P
>>>>>> l
>>>>>> uginRegistryImpl.java:536) at
>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpda
>>>>>> te
>>>>>> (
>>>>>> S
>>>>>> toragePluginRegistryImpl.java:132)
>>>>>> at
>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpda
>>>>>> te
>>>>>> I
>>>>>> n
>>>>>> Storage(PluginConfigWrapper.java:56)
>>>>>> at
>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdateP
>>>>>> lu
>>>>>> g
>>>>>> i
>>>>>> nJSON(StorageResources.java:212) at
>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdateP
>>>>>> lu
>>>>>> g
>>>>>> i
>>>>>> n(StorageResources.java:233) at
>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Na
>>>>>> ti
>>>>>> v
>>>>>> e
>>>>>> Method) at
>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Nat
>>>>>> iv
>>>>>> e
>>>>>> M
>>>>>> ethodAccessorImpl.java:62) at
>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
>>>>>> (D
>>>>>> e
>>>>>> l
>>>>>> egatingMethodAccessorImpl.java:43)
>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>> at
>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocatio
>>>>>> nH
>>>>>> a
>>>>>> n
>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:8
>>>>>> 1)
>>>>>> at
>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>>> ho
>>>>>> d
>>>>>> D
>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>> at
>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>>> ho
>>>>>> d
>>>>>> D
>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>>>> at
>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispa
>>>>>> tc
>>>>>> h
>>>>>> e
>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherPr
>>>>>> ov
>>>>>> i
>>>>>> d
>>>>>> er.java:205) at
>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>>> ho
>>>>>> d
>>>>>> D
>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>>>>> at
>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Res
>>>>>> ou
>>>>>> r
>>>>>> c
>>>>>> eMethodInvoker.java:389) at
>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Reso
>>>>>> ur
>>>>>> c
>>>>>> e
>>>>>> MethodInvoker.java:347) at
>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Reso
>>>>>> ur
>>>>>> c
>>>>>> e
>>>>>> MethodInvoker.java:102) at
>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java
>>>>>> :3
>>>>>> 2
>>>>>> 6
>>>>>> ) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>> at
>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Requ
>>>>>> es
>>>>>> t
>>>>>> S
>>>>>> cope.java:317) at
>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>>> 3
>>>>>> 05) at
>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationH
>>>>>> an
>>>>>> d
>>>>>> l
>>>>>> er.java:1154) at
>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent
>>>>>> .j
>>>>>> a
>>>>>> v
>>>>>> a:473) at
>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>> 4
>>>>>> 2
>>>>>> 7) at
>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>>> in
>>>>>> e
>>>>>> r
>>>>>> .java:388) at
>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>>> in
>>>>>> e
>>>>>> r
>>>>>> .java:341) at
>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>>> in
>>>>>> e
>>>>>> r
>>>>>> .java:228) at
>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>>> 84
>>>>>> 8
>>>>>> )
>>>>>> at
>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>>> le
>>>>>> t
>>>>>> H
>>>>>> andler.java:1780) at
>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter
>>>>>> (C
>>>>>> s
>>>>>> r
>>>>>> fTokenValidateFilter.java:55) at
>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>>> le
>>>>>> t
>>>>>> H
>>>>>> andler.java:1767) at
>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(C
>>>>>> sr
>>>>>> f
>>>>>> T
>>>>>> okenInjectFilter.java:54) at
>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>>> le
>>>>>> t
>>>>>> H
>>>>>> andler.java:1767) at
>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>>> 583) at
>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHa
>>>>>> nd
>>>>>> l
>>>>>> e
>>>>>> r.java:224) at
>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHa
>>>>>> nd
>>>>>> l
>>>>>> e
>>>>>> r.java:1180) at
>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>>> 5
>>>>>> 13) at
>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHan
>>>>>> dl
>>>>>> e
>>>>>> r
>>>>>> .java:185) at
>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHan
>>>>>> dl
>>>>>> e
>>>>>> r
>>>>>> .java:1112) at
>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>> j
>>>>>> a
>>>>>> va:141) at
>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>>> java:134) at
>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>> at
>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>>>>> at
>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>>> ja
>>>>>> v
>>>>>> a
>>>>>> :251) at
>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abs
>>>>>> tr
>>>>>> a
>>>>>> c
>>>>>> tConnection.java:283) at
>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>>>>> at
>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndP
>>>>>> oi
>>>>>> n
>>>>>> t
>>>>>> .java:93) at
>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execu
>>>>>> te
>>>>>> P
>>>>>> r
>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>>> at
>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produ
>>>>>> ce
>>>>>> C
>>>>>> o
>>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>>> at
>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(E
>>>>>> xe
>>>>>> c
>>>>>> u
>>>>>> teProduceConsume.java:136) at
>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThread
>>>>>> Po
>>>>>> o
>>>>>> l
>>>>>> .java:671) at
>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>>> at
>>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
>>>>>> ja
>>>>>> v
>>>>>> a
>>>>>> :78) at
>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConvert
>>>>>> er
>>>>>> R
>>>>>> u
>>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>>> at
>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConven
>>>>>> ti
>>>>>> o
>>>>>> n
>>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>>> at
>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStor
>>>>>> ag
>>>>>> e
>>>>>> P
>>>>>> lugin.java:103) at
>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newIn
>>>>>> st
>>>>>> a
>>>>>> n
>>>>>> ce0(Native Method) at
>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newIn
>>>>>> st
>>>>>> a
>>>>>> n
>>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>>> at
>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.n
>>>>>> ew
>>>>>> I
>>>>>> n
>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>>> at
>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Cons
>>>>>> tr
>>>>>> u
>>>>>> c
>>>>>> tor.java:500) at
>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>>> 4
>>>>>> 81) at
>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Stora
>>>>>> ge
>>>>>> P
>>>>>> l
>>>>>> uginRegistryImpl.java:528)
>>>>>> ... 56 common frames omitted
>>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>>> To: user@drill.apache.org
>>>>>> Subject: Re: Initial Oracle Setup
>>>>>> 
>>>>>> One more thing...
>>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>>> Thanks,
>>>>>> -- C
>>>>>> 
>>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>>> 
>>>>>>> Hi Chris,
>>>>>>> 
>>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>>> 
>>>>>>> You're right you might be onto something if you get the password
>>>>>>> failed message. Can you post the exact text (JSON) of the storage
>>>>>>> plugin config?
>>>>>>> 
>>>>>>> -Rafael
>>>>>>> 
>>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>>> 
>>>>>>>> Hey Everyone,
>>>>>>>> 
>>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>>> 
>>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>>> 
>>>>>>>> Christopher Kane
>>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>>> com>,
>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>>> c
>>>>>>>> o
>>>>>>>> m>,
>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fiserv.c
>>>>>>>> m>om
>>>>>>>> m>>
>>>>>>>> 
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>> 
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>> 
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>> 
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>> 
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> 
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.



RE: Initial Oracle Setup

Posted by Christopher Kane <ch...@cardconnect.com.INVALID>.
Rafael
-Okay so doing "show schemas;" (I didn't include the semicolon before) resulted in all of the schemas I was expecting to see be listed, so it's awesome that Drill was actually able to make the connection. So I do think my issue might be with the data types of the columns in the table I'm trying to query.

Charles
-here are the data types on the table "merchant": NUMBER, VARCHAR2, DATE, TIMESTAMP(6) WITH TIME ZONE.
-if I had to take a guess, I would bet money that the problem child here is the timestamp data type.

-----Original Message-----
From: Christopher Kane <ch...@cardconnect.com.INVALID>
Sent: Tuesday, June 23, 2020 5:19 PM
To: user@drill.apache.org
Subject: RE: Initial Oracle Setup

Rafael
-I am running this in embedded mode on my Windows Laptop and I believe I have access to the shell but I'm not too familiar with the syntax so I'll have to look that up and I'll let you know what I get.

Charles
-I'm glad you were able to find something about that error because I was having a tough time finding something related to it. I actually thought something similar and actually changed my query to only return the merchant_id of the merchant because I thought maybe there was a column that Drill didn't know how to handle. I will take a look at the stackoverflow link that you sent me and will let you know what I come up with.
-Here is the stacktrace for the VALIDATION ERROR:
2020-06-23 17:15:56,017 [qtp409347742-245] ERROR o.a.d.e.server.rest.QueryResources - Query from Web UI Failed: {}
org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101


[Error Id: def7533c-bb11-48da-b770-28c6730a1799 ] at org.apache.drill.exec.server.rest.RestQueryRunner.submitQuery(RestQueryRunner.java:181)
at org.apache.drill.exec.server.rest.RestQueryRunner.run(RestQueryRunner.java:70)
at org.apache.drill.exec.server.rest.QueryResources.submitQueryJSON(QueryResources.java:96)
at org.apache.drill.exec.server.rest.QueryResources.submitQuery(QueryResources.java:114)
at jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:205)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1780)
at org.apache.drill.exec.server.rest.header.ResponseHeadersSettingFilter.doFilter(ResponseHeadersSettingFilter.java:71)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767)
at org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(CsrfTokenValidateFilter.java:55)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767)
at org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(CsrfTokenInjectFilter.java:54)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:224)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:513)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
at org.eclipse.jetty.server.Server.handle(Server.java:539)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.lang.IllegalArgumentException: Unknown SQL type -101 at org.apache.calcite.avatica.SqlType.valueOf(SqlType.java:383)
at org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchema.java:385)
at org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchema.java:362)
at org.apache.calcite.adapter.jdbc.JdbcTable.getRowType(JdbcTable.java:117)
at org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:159)
at org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.java:99)
at org.apache.calcite.sql.validate.DelegatingScope.resolveTable(DelegatingScope.java:203)
at org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(IdentifierNamespace.java:105)
at org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(IdentifierNamespace.java:177)
at org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:84)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1009)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:969)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3129)
at org.apache.drill.exec.planner.sql.conversion.DrillValidator.validateFrom(DrillValidator.java:63)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3111)
at org.apache.drill.exec.planner.sql.conversion.DrillValidator.validateFrom(DrillValidator.java:63)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:3383)
at org.apache.calcite.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:60)
at org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:84)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1009)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:969)
at org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:216)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:944)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValidatorImpl.java:651)
at org.apache.drill.exec.planner.sql.conversion.SqlConverter.validate(SqlConverter.java:189)
at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateNode(DefaultSqlHandler.java:641)
at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateAndConvert(DefaultSqlHandler.java:195)
at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:169)
at org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(DrillSqlWorker.java:283)
at org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan(DrillSqlWorker.java:163)
at org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillSqlWorker.java:128)
at org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:93)
at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:593)
at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:274)
at .......(:0)



-----Original Message-----
From: Charles Givre <cg...@gmail.com>
Sent: Tuesday, June 23, 2020 4:35 PM
To: user@drill.apache.org
Subject: Re: Initial Oracle Setup

One more thing...

Could you run the query that is producing the VALIDATION ERROR and send the full stack trace?  I'm thinking that can be fixed on the Drill end of things, at least until Calcite fixes that.
-- C

> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>
> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
>
> I think the only thing I'm having an issue with now I think is related
> to this:
> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.org
> _jira_browse_CALCITE-2D3533&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCB
> lPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=g39OzDxVVrucBo3nnaZNaIqoh9SZZi
> dthZ3H6QSOkWE&s=oVohCx-25EZLkSVY7yEV1FtFZ-nNDTnGvek4Sx67nYc&e=
>
> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
>
> -----Original Message-----
> From: Rafael Jaimes III <ra...@gmail.com>
> Sent: Tuesday, June 23, 2020 3:43 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
>
> Glad you got it working with the new version regardless!
>
> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>>
>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>>
>> -----Original Message-----
>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>> Sent: Tuesday, June 23, 2020 3:31 PM
>> To: user@drill.apache.org
>> Subject: RE: Initial Oracle Setup
>>
>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>>
>> -----Original Message-----
>> From: Charles Givre <cg...@gmail.com>
>> Sent: Tuesday, June 23, 2020 3:23 PM
>> To: user <us...@drill.apache.org>
>> Subject: Re: Initial Oracle Setup
>>
>> It hasn't been released yet, so you'd have to d/l from github
>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apac
>> h
>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmV
>> q
>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v
>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apac
>> h
>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmV
>> q
>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v
>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from
>> source.
>> If you can't do that, I have a pre-release here:
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivr
>> e
>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-D
>> P
>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM
>> 5
>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0
>> &
>> e=
>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgiv
>> r
>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-
>> D
>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNlo
>> M
>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY
>> 0
>> &e= >
>>
>>
>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>
>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>>
>>> -----Original Message-----
>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>> To: user@drill.apache.org
>>> Subject: RE: Initial Oracle Setup
>>>
>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>>
>>> -----Original Message-----
>>> From: Charles Givre <cg...@gmail.com>
>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>> To: user@drill.apache.org
>>> Subject: Re: Initial Oracle Setup
>>>
>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>>
>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>
>>>> On both the directory of drill and on startup I am running Apache
>>>> Drill 1.17.0
>>>>
>>>> -----Original Message-----
>>>> From: Charles Givre <cgivre@gmail.com <ma...@gmail.com>>
>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>> Subject: Re: Initial Oracle Setup
>>>>
>>>> One more question.. what version of Drill are you using?
>>>>
>>>>
>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>
>>>>> Rafael
>>>>> -I did place it in the jars/3rdparty folder.
>>>>>
>>>>> Storage Plugin Config:
>>>>> {
>>>>> "type": "jdbc",
>>>>> "enabled": true,
>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>> }
>>>>> (it's been modified to remove sensitive information)
>>>>>
>>>>> Charles
>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>>
>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/ update
>>>>> plugin: QA2 Oracle
>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
>>>>> Failure setting up new storage plugin configuration for config
>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>> at
>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Stora
>>>>> ge
>>>>> P
>>>>> l
>>>>> uginRegistryImpl.java:536) at
>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpda
>>>>> te
>>>>> (
>>>>> S
>>>>> toragePluginRegistryImpl.java:132)
>>>>> at
>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpda
>>>>> te
>>>>> I
>>>>> n
>>>>> Storage(PluginConfigWrapper.java:56)
>>>>> at
>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdateP
>>>>> lu
>>>>> g
>>>>> i
>>>>> nJSON(StorageResources.java:212) at
>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdateP
>>>>> lu
>>>>> g
>>>>> i
>>>>> n(StorageResources.java:233) at
>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Na
>>>>> ti
>>>>> v
>>>>> e
>>>>> Method) at
>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Nat
>>>>> iv
>>>>> e
>>>>> M
>>>>> ethodAccessorImpl.java:62) at
>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
>>>>> (D
>>>>> e
>>>>> l
>>>>> egatingMethodAccessorImpl.java:43)
>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocatio
>>>>> nH
>>>>> a
>>>>> n
>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:8
>>>>> 1)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>> ho
>>>>> d
>>>>> D
>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>> ho
>>>>> d
>>>>> D
>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispa
>>>>> tc
>>>>> h
>>>>> e
>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherPr
>>>>> ov
>>>>> i
>>>>> d
>>>>> er.java:205) at
>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>> ho
>>>>> d
>>>>> D
>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>>>> at
>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Res
>>>>> ou
>>>>> r
>>>>> c
>>>>> eMethodInvoker.java:389) at
>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Reso
>>>>> ur
>>>>> c
>>>>> e
>>>>> MethodInvoker.java:347) at
>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Reso
>>>>> ur
>>>>> c
>>>>> e
>>>>> MethodInvoker.java:102) at
>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java
>>>>> :3
>>>>> 2
>>>>> 6
>>>>> ) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>> at
>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Requ
>>>>> es
>>>>> t
>>>>> S
>>>>> cope.java:317) at
>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>> 3
>>>>> 05) at
>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationH
>>>>> an
>>>>> d
>>>>> l
>>>>> er.java:1154) at
>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent
>>>>> .j
>>>>> a
>>>>> v
>>>>> a:473) at
>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>> 4
>>>>> 2
>>>>> 7) at
>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>> in
>>>>> e
>>>>> r
>>>>> .java:388) at
>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>> in
>>>>> e
>>>>> r
>>>>> .java:341) at
>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>> in
>>>>> e
>>>>> r
>>>>> .java:228) at
>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>> 84
>>>>> 8
>>>>> )
>>>>> at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>> le
>>>>> t
>>>>> H
>>>>> andler.java:1780) at
>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter
>>>>> (C
>>>>> s
>>>>> r
>>>>> fTokenValidateFilter.java:55) at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>> le
>>>>> t
>>>>> H
>>>>> andler.java:1767) at
>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(C
>>>>> sr
>>>>> f
>>>>> T
>>>>> okenInjectFilter.java:54) at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>> le
>>>>> t
>>>>> H
>>>>> andler.java:1767) at
>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>> 583) at
>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHa
>>>>> nd
>>>>> l
>>>>> e
>>>>> r.java:224) at
>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHa
>>>>> nd
>>>>> l
>>>>> e
>>>>> r.java:1180) at
>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>> 5
>>>>> 13) at
>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHan
>>>>> dl
>>>>> e
>>>>> r
>>>>> .java:185) at
>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHan
>>>>> dl
>>>>> e
>>>>> r
>>>>> .java:1112) at
>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>> j
>>>>> a
>>>>> va:141) at
>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>> java:134) at
>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>> at
>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>>>> at
>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>> ja
>>>>> v
>>>>> a
>>>>> :251) at
>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abs
>>>>> tr
>>>>> a
>>>>> c
>>>>> tConnection.java:283) at
>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>>>> at
>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndP
>>>>> oi
>>>>> n
>>>>> t
>>>>> .java:93) at
>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execu
>>>>> te
>>>>> P
>>>>> r
>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>> at
>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produ
>>>>> ce
>>>>> C
>>>>> o
>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>> at
>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(E
>>>>> xe
>>>>> c
>>>>> u
>>>>> teProduceConsume.java:136) at
>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThread
>>>>> Po
>>>>> o
>>>>> l
>>>>> .java:671) at
>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>> at
>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
>>>>> ja
>>>>> v
>>>>> a
>>>>> :78) at
>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConvert
>>>>> er
>>>>> R
>>>>> u
>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>> at
>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConven
>>>>> ti
>>>>> o
>>>>> n
>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>> at
>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStor
>>>>> ag
>>>>> e
>>>>> P
>>>>> lugin.java:103) at
>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newIn
>>>>> st
>>>>> a
>>>>> n
>>>>> ce0(Native Method) at
>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newIn
>>>>> st
>>>>> a
>>>>> n
>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>> at
>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.n
>>>>> ew
>>>>> I
>>>>> n
>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>> at
>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Cons
>>>>> tr
>>>>> u
>>>>> c
>>>>> tor.java:500) at
>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>> 4
>>>>> 81) at
>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Stora
>>>>> ge
>>>>> P
>>>>> l
>>>>> uginRegistryImpl.java:528)
>>>>> ... 56 common frames omitted
>>>>>
>>>>> -----Original Message-----
>>>>> From: Charles Givre <cg...@gmail.com>
>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>> To: user@drill.apache.org
>>>>> Subject: Re: Initial Oracle Setup
>>>>>
>>>>> One more thing...
>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>> Thanks,
>>>>> -- C
>>>>>
>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>>
>>>>>> Hi Chris,
>>>>>>
>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>>
>>>>>> You're right you might be onto something if you get the password
>>>>>> failed message. Can you post the exact text (JSON) of the storage
>>>>>> plugin config?
>>>>>>
>>>>>> -Rafael
>>>>>>
>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>>
>>>>>>> Hey Everyone,
>>>>>>>
>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>>
>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>>
>>>>>>> Christopher Kane
>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>> com>,
>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>> c
>>>>>>> o
>>>>>>> m>,
>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fiserv.c
>>>>>>> m>om
>>>>>>> m>>
>>>>>>>
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

RE: Initial Oracle Setup

Posted by Christopher Kane <ch...@cardconnect.com.INVALID>.
Rafael
-I am running this in embedded mode on my Windows Laptop and I believe I have access to the shell but I'm not too familiar with the syntax so I'll have to look that up and I'll let you know what I get.

Charles
-I'm glad you were able to find something about that error because I was having a tough time finding something related to it. I actually thought something similar and actually changed my query to only return the merchant_id of the merchant because I thought maybe there was a column that Drill didn't know how to handle. I will take a look at the stackoverflow link that you sent me and will let you know what I come up with.
-Here is the stacktrace for the VALIDATION ERROR:
2020-06-23 17:15:56,017 [qtp409347742-245] ERROR o.a.d.e.server.rest.QueryResources - Query from Web UI Failed: {}
org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101


[Error Id: def7533c-bb11-48da-b770-28c6730a1799 ]
at org.apache.drill.exec.server.rest.RestQueryRunner.submitQuery(RestQueryRunner.java:181)
at org.apache.drill.exec.server.rest.RestQueryRunner.run(RestQueryRunner.java:70)
at org.apache.drill.exec.server.rest.QueryResources.submitQueryJSON(QueryResources.java:96)
at org.apache.drill.exec.server.rest.QueryResources.submitQuery(QueryResources.java:114)
at jdk.internal.reflect.GeneratedMethodAccessor16.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:205)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1780)
at org.apache.drill.exec.server.rest.header.ResponseHeadersSettingFilter.doFilter(ResponseHeadersSettingFilter.java:71)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767)
at org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(CsrfTokenValidateFilter.java:55)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767)
at org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(CsrfTokenInjectFilter.java:54)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:224)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:513)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
at org.eclipse.jetty.server.Server.handle(Server.java:539)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.lang.IllegalArgumentException: Unknown SQL type -101
at org.apache.calcite.avatica.SqlType.valueOf(SqlType.java:383)
at org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchema.java:385)
at org.apache.calcite.adapter.jdbc.JdbcSchema.getRelDataType(JdbcSchema.java:362)
at org.apache.calcite.adapter.jdbc.JdbcTable.getRowType(JdbcTable.java:117)
at org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:159)
at org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.java:99)
at org.apache.calcite.sql.validate.DelegatingScope.resolveTable(DelegatingScope.java:203)
at org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(IdentifierNamespace.java:105)
at org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(IdentifierNamespace.java:177)
at org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:84)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1009)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:969)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3129)
at org.apache.drill.exec.planner.sql.conversion.DrillValidator.validateFrom(DrillValidator.java:63)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3111)
at org.apache.drill.exec.planner.sql.conversion.DrillValidator.validateFrom(DrillValidator.java:63)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:3383)
at org.apache.calcite.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:60)
at org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:84)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1009)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:969)
at org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:216)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:944)
at org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValidatorImpl.java:651)
at org.apache.drill.exec.planner.sql.conversion.SqlConverter.validate(SqlConverter.java:189)
at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateNode(DefaultSqlHandler.java:641)
at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateAndConvert(DefaultSqlHandler.java:195)
at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:169)
at org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(DrillSqlWorker.java:283)
at org.apache.drill.exec.planner.sql.DrillSqlWorker.getPhysicalPlan(DrillSqlWorker.java:163)
at org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillSqlWorker.java:128)
at org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:93)
at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:593)
at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:274)
at .......(:0)



-----Original Message-----
From: Charles Givre <cg...@gmail.com>
Sent: Tuesday, June 23, 2020 4:35 PM
To: user@drill.apache.org
Subject: Re: Initial Oracle Setup

One more thing...

Could you run the query that is producing the VALIDATION ERROR and send the full stack trace?  I'm thinking that can be fixed on the Drill end of things, at least until Calcite fixes that.
-- C

> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>
> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
>
> I think the only thing I'm having an issue with now I think is related
> to this:
> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.org
> _jira_browse_CALCITE-2D3533&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCB
> lPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=g39OzDxVVrucBo3nnaZNaIqoh9SZZi
> dthZ3H6QSOkWE&s=oVohCx-25EZLkSVY7yEV1FtFZ-nNDTnGvek4Sx67nYc&e=
>
> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
>
> -----Original Message-----
> From: Rafael Jaimes III <ra...@gmail.com>
> Sent: Tuesday, June 23, 2020 3:43 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
>
> Glad you got it working with the new version regardless!
>
> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>>
>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>>
>> -----Original Message-----
>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>> Sent: Tuesday, June 23, 2020 3:31 PM
>> To: user@drill.apache.org
>> Subject: RE: Initial Oracle Setup
>>
>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>>
>> -----Original Message-----
>> From: Charles Givre <cg...@gmail.com>
>> Sent: Tuesday, June 23, 2020 3:23 PM
>> To: user <us...@drill.apache.org>
>> Subject: Re: Initial Oracle Setup
>>
>> It hasn't been released yet, so you'd have to d/l from github
>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apac
>> h
>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmV
>> q
>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v
>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apac
>> h
>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmV
>> q
>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v
>> 5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from
>> source.
>> If you can't do that, I have a pre-release here:
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivr
>> e
>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-D
>> P
>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM
>> 5
>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0
>> &
>> e=
>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgiv
>> r
>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-
>> D
>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNlo
>> M
>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY
>> 0
>> &e= >
>>
>>
>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>
>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>>
>>> -----Original Message-----
>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>> To: user@drill.apache.org
>>> Subject: RE: Initial Oracle Setup
>>>
>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>>
>>> -----Original Message-----
>>> From: Charles Givre <cg...@gmail.com>
>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>> To: user@drill.apache.org
>>> Subject: Re: Initial Oracle Setup
>>>
>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>>
>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>
>>>> On both the directory of drill and on startup I am running Apache
>>>> Drill 1.17.0
>>>>
>>>> -----Original Message-----
>>>> From: Charles Givre <cgivre@gmail.com <ma...@gmail.com>>
>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>> Subject: Re: Initial Oracle Setup
>>>>
>>>> One more question.. what version of Drill are you using?
>>>>
>>>>
>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>
>>>>> Rafael
>>>>> -I did place it in the jars/3rdparty folder.
>>>>>
>>>>> Storage Plugin Config:
>>>>> {
>>>>> "type": "jdbc",
>>>>> "enabled": true,
>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>> }
>>>>> (it's been modified to remove sensitive information)
>>>>>
>>>>> Charles
>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>>
>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/ update
>>>>> plugin: QA2 Oracle
>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
>>>>> Failure setting up new storage plugin configuration for config
>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>> at
>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Stora
>>>>> ge
>>>>> P
>>>>> l
>>>>> uginRegistryImpl.java:536) at
>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpda
>>>>> te
>>>>> (
>>>>> S
>>>>> toragePluginRegistryImpl.java:132)
>>>>> at
>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpda
>>>>> te
>>>>> I
>>>>> n
>>>>> Storage(PluginConfigWrapper.java:56)
>>>>> at
>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdateP
>>>>> lu
>>>>> g
>>>>> i
>>>>> nJSON(StorageResources.java:212) at
>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdateP
>>>>> lu
>>>>> g
>>>>> i
>>>>> n(StorageResources.java:233) at
>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Na
>>>>> ti
>>>>> v
>>>>> e
>>>>> Method) at
>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Nat
>>>>> iv
>>>>> e
>>>>> M
>>>>> ethodAccessorImpl.java:62) at
>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
>>>>> (D
>>>>> e
>>>>> l
>>>>> egatingMethodAccessorImpl.java:43)
>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocatio
>>>>> nH
>>>>> a
>>>>> n
>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:8
>>>>> 1)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>> ho
>>>>> d
>>>>> D
>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>> ho
>>>>> d
>>>>> D
>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispa
>>>>> tc
>>>>> h
>>>>> e
>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherPr
>>>>> ov
>>>>> i
>>>>> d
>>>>> er.java:205) at
>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>> ho
>>>>> d
>>>>> D
>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>>>> at
>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Res
>>>>> ou
>>>>> r
>>>>> c
>>>>> eMethodInvoker.java:389) at
>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Reso
>>>>> ur
>>>>> c
>>>>> e
>>>>> MethodInvoker.java:347) at
>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Reso
>>>>> ur
>>>>> c
>>>>> e
>>>>> MethodInvoker.java:102) at
>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java
>>>>> :3
>>>>> 2
>>>>> 6
>>>>> ) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>> at
>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Requ
>>>>> es
>>>>> t
>>>>> S
>>>>> cope.java:317) at
>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>> 3
>>>>> 05) at
>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationH
>>>>> an
>>>>> d
>>>>> l
>>>>> er.java:1154) at
>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent
>>>>> .j
>>>>> a
>>>>> v
>>>>> a:473) at
>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>> 4
>>>>> 2
>>>>> 7) at
>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>> in
>>>>> e
>>>>> r
>>>>> .java:388) at
>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>> in
>>>>> e
>>>>> r
>>>>> .java:341) at
>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>> in
>>>>> e
>>>>> r
>>>>> .java:228) at
>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>> 84
>>>>> 8
>>>>> )
>>>>> at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>> le
>>>>> t
>>>>> H
>>>>> andler.java:1780) at
>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter
>>>>> (C
>>>>> s
>>>>> r
>>>>> fTokenValidateFilter.java:55) at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>> le
>>>>> t
>>>>> H
>>>>> andler.java:1767) at
>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(C
>>>>> sr
>>>>> f
>>>>> T
>>>>> okenInjectFilter.java:54) at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>> le
>>>>> t
>>>>> H
>>>>> andler.java:1767) at
>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>> 583) at
>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHa
>>>>> nd
>>>>> l
>>>>> e
>>>>> r.java:224) at
>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHa
>>>>> nd
>>>>> l
>>>>> e
>>>>> r.java:1180) at
>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>> 5
>>>>> 13) at
>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHan
>>>>> dl
>>>>> e
>>>>> r
>>>>> .java:185) at
>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHan
>>>>> dl
>>>>> e
>>>>> r
>>>>> .java:1112) at
>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>> j
>>>>> a
>>>>> va:141) at
>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>> java:134) at
>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>> at
>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>>>> at
>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>> ja
>>>>> v
>>>>> a
>>>>> :251) at
>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abs
>>>>> tr
>>>>> a
>>>>> c
>>>>> tConnection.java:283) at
>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>>>> at
>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndP
>>>>> oi
>>>>> n
>>>>> t
>>>>> .java:93) at
>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execu
>>>>> te
>>>>> P
>>>>> r
>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>> at
>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produ
>>>>> ce
>>>>> C
>>>>> o
>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>> at
>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(E
>>>>> xe
>>>>> c
>>>>> u
>>>>> teProduceConsume.java:136) at
>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThread
>>>>> Po
>>>>> o
>>>>> l
>>>>> .java:671) at
>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>> at
>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
>>>>> ja
>>>>> v
>>>>> a
>>>>> :78) at
>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConvert
>>>>> er
>>>>> R
>>>>> u
>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>> at
>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConven
>>>>> ti
>>>>> o
>>>>> n
>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>> at
>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStor
>>>>> ag
>>>>> e
>>>>> P
>>>>> lugin.java:103) at
>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newIn
>>>>> st
>>>>> a
>>>>> n
>>>>> ce0(Native Method) at
>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newIn
>>>>> st
>>>>> a
>>>>> n
>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>> at
>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.n
>>>>> ew
>>>>> I
>>>>> n
>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>> at
>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Cons
>>>>> tr
>>>>> u
>>>>> c
>>>>> tor.java:500) at
>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>> 4
>>>>> 81) at
>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Stora
>>>>> ge
>>>>> P
>>>>> l
>>>>> uginRegistryImpl.java:528)
>>>>> ... 56 common frames omitted
>>>>>
>>>>> -----Original Message-----
>>>>> From: Charles Givre <cg...@gmail.com>
>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>> To: user@drill.apache.org
>>>>> Subject: Re: Initial Oracle Setup
>>>>>
>>>>> One more thing...
>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>> Thanks,
>>>>> -- C
>>>>>
>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>>
>>>>>> Hi Chris,
>>>>>>
>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>>
>>>>>> You're right you might be onto something if you get the password
>>>>>> failed message. Can you post the exact text (JSON) of the storage
>>>>>> plugin config?
>>>>>>
>>>>>> -Rafael
>>>>>>
>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>>
>>>>>>> Hey Everyone,
>>>>>>>
>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>>
>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>>
>>>>>>> Christopher Kane
>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>> com>,
>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>> c
>>>>>>> o
>>>>>>> m>,
>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fiserv.c
>>>>>>> m>om
>>>>>>> m>>
>>>>>>>
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

Re: Initial Oracle Setup

Posted by Charles Givre <cg...@gmail.com>.
One more thing...

Could you run the query that is producing the VALIDATION ERROR and send the full stack trace?  I'm thinking that can be fixed on the Drill end of things, at least until Calcite fixes that.
-- C

> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> 
> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
> 
> I think the only thing I'm having an issue with now I think is related to this: https://issues.apache.org/jira/browse/CALCITE-3533
> 
> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
> 
> -----Original Message-----
> From: Rafael Jaimes III <ra...@gmail.com>
> Sent: Tuesday, June 23, 2020 3:43 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
> 
> Glad you got it working with the new version regardless!
> 
> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>> 
>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>> 
>> -----Original Message-----
>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>> Sent: Tuesday, June 23, 2020 3:31 PM
>> To: user@drill.apache.org
>> Subject: RE: Initial Oracle Setup
>> 
>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>> 
>> -----Original Message-----
>> From: Charles Givre <cg...@gmail.com>
>> Sent: Tuesday, June 23, 2020 3:23 PM
>> To: user <us...@drill.apache.org>
>> Subject: Re: Initial Oracle Setup
>> 
>> It hasn't been released yet, so you'd have to d/l from github
>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apach
>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVq
>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v5
>> -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apach
>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVq
>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v5
>> -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from source.
>> If you can't do that, I have a pre-release here:
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivre
>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DP
>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5
>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0&
>> e=
>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivr
>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-D
>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM
>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0
>> &e= >
>> 
>> 
>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>> 
>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>> 
>>> -----Original Message-----
>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>> To: user@drill.apache.org
>>> Subject: RE: Initial Oracle Setup
>>> 
>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>> 
>>> -----Original Message-----
>>> From: Charles Givre <cg...@gmail.com>
>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>> To: user@drill.apache.org
>>> Subject: Re: Initial Oracle Setup
>>> 
>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>> 
>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>> 
>>>> On both the directory of drill and on startup I am running Apache
>>>> Drill 1.17.0
>>>> 
>>>> -----Original Message-----
>>>> From: Charles Givre <cgivre@gmail.com <ma...@gmail.com>>
>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>> Subject: Re: Initial Oracle Setup
>>>> 
>>>> One more question.. what version of Drill are you using?
>>>> 
>>>> 
>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>> 
>>>>> Rafael
>>>>> -I did place it in the jars/3rdparty folder.
>>>>> 
>>>>> Storage Plugin Config:
>>>>> {
>>>>> "type": "jdbc",
>>>>> "enabled": true,
>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>> }
>>>>> (it's been modified to remove sensitive information)
>>>>> 
>>>>> Charles
>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>> 
>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/ update
>>>>> plugin: QA2 Oracle
>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
>>>>> Failure setting up new storage plugin configuration for config
>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>> at
>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Stora
>>>>> ge
>>>>> P
>>>>> l
>>>>> uginRegistryImpl.java:536) at
>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpda
>>>>> te
>>>>> (
>>>>> S
>>>>> toragePluginRegistryImpl.java:132)
>>>>> at
>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpda
>>>>> te
>>>>> I
>>>>> n
>>>>> Storage(PluginConfigWrapper.java:56)
>>>>> at
>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdateP
>>>>> lu
>>>>> g
>>>>> i
>>>>> nJSON(StorageResources.java:212) at
>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdateP
>>>>> lu
>>>>> g
>>>>> i
>>>>> n(StorageResources.java:233) at
>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Na
>>>>> ti
>>>>> v
>>>>> e
>>>>> Method) at
>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Nat
>>>>> iv
>>>>> e
>>>>> M
>>>>> ethodAccessorImpl.java:62) at
>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
>>>>> (D
>>>>> e
>>>>> l
>>>>> egatingMethodAccessorImpl.java:43)
>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocatio
>>>>> nH
>>>>> a
>>>>> n
>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:8
>>>>> 1)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>> ho
>>>>> d
>>>>> D
>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>> ho
>>>>> d
>>>>> D
>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispa
>>>>> tc
>>>>> h
>>>>> e
>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherPr
>>>>> ov
>>>>> i
>>>>> d
>>>>> er.java:205) at
>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>> ho
>>>>> d
>>>>> D
>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>>>> at
>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Res
>>>>> ou
>>>>> r
>>>>> c
>>>>> eMethodInvoker.java:389) at
>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Reso
>>>>> ur
>>>>> c
>>>>> e
>>>>> MethodInvoker.java:347) at
>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Reso
>>>>> ur
>>>>> c
>>>>> e
>>>>> MethodInvoker.java:102) at
>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java
>>>>> :3
>>>>> 2
>>>>> 6
>>>>> ) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>> at
>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Requ
>>>>> es
>>>>> t
>>>>> S
>>>>> cope.java:317) at
>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>> 3
>>>>> 05) at
>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationH
>>>>> an
>>>>> d
>>>>> l
>>>>> er.java:1154) at
>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent
>>>>> .j
>>>>> a
>>>>> v
>>>>> a:473) at
>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>> 4
>>>>> 2
>>>>> 7) at
>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>> in
>>>>> e
>>>>> r
>>>>> .java:388) at
>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>> in
>>>>> e
>>>>> r
>>>>> .java:341) at
>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>> in
>>>>> e
>>>>> r
>>>>> .java:228) at
>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>> 84
>>>>> 8
>>>>> )
>>>>> at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>> le
>>>>> t
>>>>> H
>>>>> andler.java:1780) at
>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter
>>>>> (C
>>>>> s
>>>>> r
>>>>> fTokenValidateFilter.java:55) at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>> le
>>>>> t
>>>>> H
>>>>> andler.java:1767) at
>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(C
>>>>> sr
>>>>> f
>>>>> T
>>>>> okenInjectFilter.java:54) at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>> le
>>>>> t
>>>>> H
>>>>> andler.java:1767) at
>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>> 583) at
>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHa
>>>>> nd
>>>>> l
>>>>> e
>>>>> r.java:224) at
>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHa
>>>>> nd
>>>>> l
>>>>> e
>>>>> r.java:1180) at
>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>> 5
>>>>> 13) at
>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHan
>>>>> dl
>>>>> e
>>>>> r
>>>>> .java:185) at
>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHan
>>>>> dl
>>>>> e
>>>>> r
>>>>> .java:1112) at
>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>> j
>>>>> a
>>>>> va:141) at
>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>> java:134) at
>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>> at
>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>>>> at
>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>> ja
>>>>> v
>>>>> a
>>>>> :251) at
>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abs
>>>>> tr
>>>>> a
>>>>> c
>>>>> tConnection.java:283) at
>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>>>> at
>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndP
>>>>> oi
>>>>> n
>>>>> t
>>>>> .java:93) at
>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execu
>>>>> te
>>>>> P
>>>>> r
>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>> at
>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produ
>>>>> ce
>>>>> C
>>>>> o
>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>> at
>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(E
>>>>> xe
>>>>> c
>>>>> u
>>>>> teProduceConsume.java:136) at
>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThread
>>>>> Po
>>>>> o
>>>>> l
>>>>> .java:671) at
>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>> at
>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
>>>>> ja
>>>>> v
>>>>> a
>>>>> :78) at
>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConvert
>>>>> er
>>>>> R
>>>>> u
>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>> at
>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConven
>>>>> ti
>>>>> o
>>>>> n
>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>> at
>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStor
>>>>> ag
>>>>> e
>>>>> P
>>>>> lugin.java:103) at
>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newIn
>>>>> st
>>>>> a
>>>>> n
>>>>> ce0(Native Method) at
>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newIn
>>>>> st
>>>>> a
>>>>> n
>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>> at
>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.n
>>>>> ew
>>>>> I
>>>>> n
>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>> at
>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Cons
>>>>> tr
>>>>> u
>>>>> c
>>>>> tor.java:500) at
>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>> 4
>>>>> 81) at
>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Stora
>>>>> ge
>>>>> P
>>>>> l
>>>>> uginRegistryImpl.java:528)
>>>>> ... 56 common frames omitted
>>>>> 
>>>>> -----Original Message-----
>>>>> From: Charles Givre <cg...@gmail.com>
>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>> To: user@drill.apache.org
>>>>> Subject: Re: Initial Oracle Setup
>>>>> 
>>>>> One more thing...
>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>> Thanks,
>>>>> -- C
>>>>> 
>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>> 
>>>>>> Hi Chris,
>>>>>> 
>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>> 
>>>>>> You're right you might be onto something if you get the password
>>>>>> failed message. Can you post the exact text (JSON) of the storage
>>>>>> plugin config?
>>>>>> 
>>>>>> -Rafael
>>>>>> 
>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>> 
>>>>>>> Hey Everyone,
>>>>>>> 
>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>> 
>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>> 
>>>>>>> Christopher Kane
>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>> com>,
>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>> c
>>>>>>> o
>>>>>>> m>,
>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fiserv.c
>>>>>>> m>om
>>>>>>> m>>
>>>>>>> 
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>> 
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>> 
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>> 
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> 
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.


Re: Initial Oracle Setup

Posted by Rafael Jaimes III <ra...@gmail.com>.
How are you running Drill? Using the embedded drillbit on Linux? If
you started that from the shell then it should spit you out to a shell
where you can type in commands, I think it's SQLLine actually. It's
been a while since I used the Drill SQLLIne shell but you should be
able to type something like 'show schemas;' then 'use <schema>;' and
'show tables;' then you can do SELECT from that table.

In your example, if biz is the schema named for the JDBC plugin and
merchants is the name of the table, you're likely doing it correct
already. There's not much difference between ANSI and ORACLE SQL with
a simple query like that.

On Tue, Jun 23, 2020 at 4:24 PM Christopher Kane
<ch...@cardconnect.com.invalid> wrote:
>
> Alright so I did a bit of googling and I saw SELECT 1 should work across most database implementations. Select 1 against my data source resulted in a query profile being generated with a Completed tag next to it, and a result with a heading of EXPR$0 and then under that a 1. So I guess that would at least validate that I can get something back from Oracle?
>
> -----Original Message-----
> From: Christopher Kane
> Sent: Tuesday, June 23, 2020 4:19 PM
> To: user@drill.apache.org
> Subject: RE: Initial Oracle Setup
>
> Charles
> -I think you're right. My understanding of DBs is at the efficient user/consumer level. I know how to navigate and find what I want but I do not know the structure very well which could be causing some problems here. If you could share a sample query that should return anything from what I am now connected to that would be great. The query I was using was very simple, select * from biz.merchants where merchant_id=85616270. However as you can see 'biz' is a schema and I'm not sure if I need to set a default schema in some way.
> -Also I think I'm just the type of user where everything I touch breaks in some way, I guess that's why I enjoy testing.
>
> Rafael
> -I'm accessing everything from the Drill UI, if I wanted to see a list of tables/schemas it's found how would I go about doing that? I think that would be a good way to see if what I have setup is working as expected. With the query I have above, how would it differ in ANSI SQL?
> -I could probably get the logs, but would need to reach out to a DBA for that and I think he's already off for the day.
>
> -----Original Message-----
> From: Rafael Jaimes III <ra...@gmail.com>
> Sent: Tuesday, June 23, 2020 4:15 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
>
> Good point, that would be like the bug with Presto JDBC on Drill 1.18.
> If that's the case, the logs from ORACLE would help diagnose the issue.
>
> On Tue, Jun 23, 2020 at 4:12 PM Charles Givre <cg...@gmail.com> wrote:
> >
> > Rafael,
> > I think what's happening here is that Drill isn't understanding the results that Oracle is returning, perhaps due to a data type that Drill doesn't recognize.  Chris, can you share the query?   Again, usually databases are super easy to set up with Drill so I'm surprised this is happening.
> > -- C
> >
> >
> >
> > > On Jun 23, 2020, at 4:08 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
> > >
> > > Ah thanks for the info on that.
> > >
> > > Chris, I can't seem to recall seeing that error before. Sounds like
> > > it is a syntax issue perhaps? Note than ORACLE's SQL is a little
> > > different than ANSI SQL that Drill uses. For this case, you'd be
> > > using ANSI SQL and not the underlying ORACLE syntax. I believe Drill
> > > should do that translation for you if I'm not mistaken.
> > >
> > > If you're using squirrel shell from an embedded instance, I would go
> > > through and list the schemas/tables and start with some really basic
> > > queries just to test connectivity.
> > >
> > > - Rafael
> > >
> > > On Tue, Jun 23, 2020 at 4:05 PM Charles Givre <cg...@gmail.com> wrote:
> > >>
> > >> Are you able to query anything from the DB?  BTW... I'm really surprised by all of this. I've never tried Drill with Oracle, but I've used Drill with MySQL, Postgres and MSSQL and usually they're the easiest to work with.
> > >> --C
> > >>
> > >>
> > >>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> > >>>
> > >>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
> > >>>
> > >>> I think the only thing I'm having an issue with now I think is
> > >>> related to this:
> > >>> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache
> > >>> .org_jira_browse_CALCITE-2D3533&d=DwIFaQ&c=rE3mhBYFJfJGqQ7WI0-DPw&
> > >>> r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=UiDno6G820rHeUAXrr
> > >>> tOkJl6lm0q0XNpxN8QNitMMwA&s=f_B-GyW3JBWUrLczdKHOSTUwmHzfMYDm9WoWta
> > >>> uyM3A&e=
> > >>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apach
> > >>> e.org_jira_browse_CALCITE-2D3533&d=DwIFaQ&c=rE3mhBYFJfJGqQ7WI0-DPw
> > >>> &r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=UiDno6G820rHeUAXr
> > >>> rtOkJl6lm0q0XNpxN8QNitMMwA&s=f_B-GyW3JBWUrLczdKHOSTUwmHzfMYDm9WoWt
> > >>> auyM3A&e= >
> > >>>
> > >>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
> > >>>
> > >>> -----Original Message-----
> > >>> From: Rafael Jaimes III <rafjaimes@gmail.com
> > >>> <ma...@gmail.com>>
> > >>> Sent: Tuesday, June 23, 2020 3:43 PM
> > >>> To: user@drill.apache.org <ma...@drill.apache.org>
> > >>> Subject: Re: Initial Oracle Setup
> > >>>
> > >>> Glad you got it working with the new version regardless!
> > >>>
> > >>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
> > >>>>
> > >>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
> > >>>>
> > >>>> -----Original Message-----
> > >>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
> > >>>> Sent: Tuesday, June 23, 2020 3:31 PM
> > >>>> To: user@drill.apache.org
> > >>>> Subject: RE: Initial Oracle Setup
> > >>>>
> > >>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
> > >>>>
> > >>>> -----Original Message-----
> > >>>> From: Charles Givre <cg...@gmail.com>
> > >>>> Sent: Tuesday, June 23, 2020 3:23 PM
> > >>>> To: user <us...@drill.apache.org>
> > >>>> Subject: Re: Initial Oracle Setup
> > >>>>
> > >>>> It hasn't been released yet, so you'd have to d/l from github
> > >>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
> > >>>> apach
> > >>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
> > >>>> llmVq
> > >>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
> > >>>> =C8v5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
> > >>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
> > >>>> apach
> > >>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
> > >>>> llmVq
> > >>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
> > >>>> =C8v5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build
> > >>>> from source.
> > >>>> If you can't do that, I have a pre-release here:
> > >>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_c
> > >>>> givre
> > >>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7W
> > >>>> I0-DP
> > >>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZS
> > >>>> NloM5
> > >>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-
> > >>>> qXY0&
> > >>>> e=
> > >>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
> > >>>> cgivr
> > >>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7
> > >>>> WI0-D
> > >>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZ
> > >>>> SNloM
> > >>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H
> > >>>> -qXY0
> > >>>> &e= >
> > >>>>
> > >>>>
> > >>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> > >>>>>
> > >>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
> > >>>>>
> > >>>>> -----Original Message-----
> > >>>>> From: Christopher Kane
> > >>>>> <ch...@cardconnect.com.INVALID>
> > >>>>> Sent: Tuesday, June 23, 2020 3:14 PM
> > >>>>> To: user@drill.apache.org
> > >>>>> Subject: RE: Initial Oracle Setup
> > >>>>>
> > >>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
> > >>>>>
> > >>>>> -----Original Message-----
> > >>>>> From: Charles Givre <cg...@gmail.com>
> > >>>>> Sent: Tuesday, June 23, 2020 3:11 PM
> > >>>>> To: user@drill.apache.org
> > >>>>> Subject: Re: Initial Oracle Setup
> > >>>>>
> > >>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
> > >>>>>
> > >>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> > >>>>>>
> > >>>>>> On both the directory of drill and on startup I am running
> > >>>>>> Apache Drill 1.17.0
> > >>>>>>
> > >>>>>> -----Original Message-----
> > >>>>>> From: Charles Givre <cgivre@gmail.com
> > >>>>>> <ma...@gmail.com>>
> > >>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
> > >>>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
> > >>>>>> Subject: Re: Initial Oracle Setup
> > >>>>>>
> > >>>>>> One more question.. what version of Drill are you using?
> > >>>>>>
> > >>>>>>
> > >>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> > >>>>>>>
> > >>>>>>> Rafael
> > >>>>>>> -I did place it in the jars/3rdparty folder.
> > >>>>>>>
> > >>>>>>> Storage Plugin Config:
> > >>>>>>> {
> > >>>>>>> "type": "jdbc",
> > >>>>>>> "enabled": true,
> > >>>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
> > >>>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
> > >>>>>>> }
> > >>>>>>> (it's been modified to remove sensitive information)
> > >>>>>>>
> > >>>>>>> Charles
> > >>>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
> > >>>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
> > >>>>>>>
> > >>>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
> > >>>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/
> > >>>>>>> update
> > >>>>>>> plugin: QA2 Oracle
> > >>>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
> > >>>>>>> Failure setting up new storage plugin configuration for config
> > >>>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
> > >>>>>>> at
> > >>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
> > >>>>>>> tora
> > >>>>>>> ge
> > >>>>>>> P
> > >>>>>>> l
> > >>>>>>> uginRegistryImpl.java:536) at
> > >>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOr
> > >>>>>>> Upda
> > >>>>>>> te
> > >>>>>>> (
> > >>>>>>> S
> > >>>>>>> toragePluginRegistryImpl.java:132)
> > >>>>>>> at
> > >>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOr
> > >>>>>>> Upda
> > >>>>>>> te
> > >>>>>>> I
> > >>>>>>> n
> > >>>>>>> Storage(PluginConfigWrapper.java:56)
> > >>>>>>> at
> > >>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
> > >>>>>>> ateP
> > >>>>>>> lu
> > >>>>>>> g
> > >>>>>>> i
> > >>>>>>> nJSON(StorageResources.java:212) at
> > >>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
> > >>>>>>> ateP
> > >>>>>>> lu
> > >>>>>>> g
> > >>>>>>> i
> > >>>>>>> n(StorageResources.java:233) at
> > >>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> > >>>>>>> 0(Na
> > >>>>>>> ti
> > >>>>>>> v
> > >>>>>>> e
> > >>>>>>> Method) at
> > >>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> > >>>>>>> (Nat
> > >>>>>>> iv
> > >>>>>>> e
> > >>>>>>> M
> > >>>>>>> ethodAccessorImpl.java:62) at
> > >>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.in
> > >>>>>>> voke
> > >>>>>>> (D
> > >>>>>>> e
> > >>>>>>> l
> > >>>>>>> egatingMethodAccessorImpl.java:43)
> > >>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
> > >>>>>>> at
> > >>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvoc
> > >>>>>>> atio
> > >>>>>>> nH
> > >>>>>>> a
> > >>>>>>> n
> > >>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.ja
> > >>>>>>> va:8
> > >>>>>>> 1)
> > >>>>>>> at
> > >>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
> > >>>>>>> eMet
> > >>>>>>> ho
> > >>>>>>> d
> > >>>>>>> D
> > >>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
> > >>>>>>> at
> > >>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
> > >>>>>>> eMet
> > >>>>>>> ho
> > >>>>>>> d
> > >>>>>>> D
> > >>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161
> > >>>>>>> )
> > >>>>>>> at
> > >>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodD
> > >>>>>>> ispa
> > >>>>>>> tc
> > >>>>>>> h
> > >>>>>>> e
> > >>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatch
> > >>>>>>> erPr
> > >>>>>>> ov
> > >>>>>>> i
> > >>>>>>> d
> > >>>>>>> er.java:205) at
> > >>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
> > >>>>>>> eMet
> > >>>>>>> ho
> > >>>>>>> d
> > >>>>>>> D
> > >>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:9
> > >>>>>>> 9)
> > >>>>>>> at
> > >>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke
> > >>>>>>> (Res
> > >>>>>>> ou
> > >>>>>>> r
> > >>>>>>> c
> > >>>>>>> eMethodInvoker.java:389) at
> > >>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
> > >>>>>>> Reso
> > >>>>>>> ur
> > >>>>>>> c
> > >>>>>>> e
> > >>>>>>> MethodInvoker.java:347) at
> > >>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
> > >>>>>>> Reso
> > >>>>>>> ur
> > >>>>>>> c
> > >>>>>>> e
> > >>>>>>> MethodInvoker.java:102) at
> > >>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.
> > >>>>>>> java
> > >>>>>>> :3
> > >>>>>>> 2
> > >>>>>>> 6
> > >>>>>>> ) at
> > >>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
> > >>>>>>> at
> > >>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
> > >>>>>>> at
> > >>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:315)
> > >>>>>>> at
> > >>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:297)
> > >>>>>>> at
> > >>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:267)
> > >>>>>>> at
> > >>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(
> > >>>>>>> Requ
> > >>>>>>> es
> > >>>>>>> t
> > >>>>>>> S
> > >>>>>>> cope.java:317) at
> > >>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
> > >>>>>>> 3
> > >>>>>>> 05) at
> > >>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(Applicat
> > >>>>>>> ionH
> > >>>>>>> an
> > >>>>>>> d
> > >>>>>>> l
> > >>>>>>> er.java:1154) at
> > >>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebCompo
> > >>>>>>> nent
> > >>>>>>> .j
> > >>>>>>> a
> > >>>>>>> v
> > >>>>>>> a:473) at
> > >>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
> > >>>>>>> 4
> > >>>>>>> 2
> > >>>>>>> 7) at
> > >>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
> > >>>>>>> onta
> > >>>>>>> in
> > >>>>>>> e
> > >>>>>>> r
> > >>>>>>> .java:388) at
> > >>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
> > >>>>>>> onta
> > >>>>>>> in
> > >>>>>>> e
> > >>>>>>> r
> > >>>>>>> .java:341) at
> > >>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
> > >>>>>>> onta
> > >>>>>>> in
> > >>>>>>> e
> > >>>>>>> r
> > >>>>>>> .java:228) at
> > >>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
> > >>>>>>> 84
> > >>>>>>> 8
> > >>>>>>> )
> > >>>>>>> at
> > >>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
> > >>>>>>> Serv
> > >>>>>>> le
> > >>>>>>> t
> > >>>>>>> H
> > >>>>>>> andler.java:1780) at
> > >>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFi
> > >>>>>>> lter
> > >>>>>>> (C
> > >>>>>>> s
> > >>>>>>> r
> > >>>>>>> fTokenValidateFilter.java:55) at
> > >>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
> > >>>>>>> Serv
> > >>>>>>> le
> > >>>>>>> t
> > >>>>>>> H
> > >>>>>>> andler.java:1767) at
> > >>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilt
> > >>>>>>> er(C
> > >>>>>>> sr
> > >>>>>>> f
> > >>>>>>> T
> > >>>>>>> okenInjectFilter.java:54) at
> > >>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
> > >>>>>>> Serv
> > >>>>>>> le
> > >>>>>>> t
> > >>>>>>> H
> > >>>>>>> andler.java:1767) at
> > >>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> > >>>>>>> 583) at
> > >>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(Sessi
> > >>>>>>> onHa
> > >>>>>>> nd
> > >>>>>>> l
> > >>>>>>> e
> > >>>>>>> r.java:224) at
> > >>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(Conte
> > >>>>>>> xtHa
> > >>>>>>> nd
> > >>>>>>> l
> > >>>>>>> e
> > >>>>>>> r.java:1180) at
> > >>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
> > >>>>>>> 5
> > >>>>>>> 13) at
> > >>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(Sessio
> > >>>>>>> nHan
> > >>>>>>> dl
> > >>>>>>> e
> > >>>>>>> r
> > >>>>>>> .java:185) at
> > >>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(Contex
> > >>>>>>> tHan
> > >>>>>>> dl
> > >>>>>>> e
> > >>>>>>> r
> > >>>>>>> .java:1112) at
> > >>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
> > >>>>>>> j
> > >>>>>>> a
> > >>>>>>> va:141) at
> > >>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> > >>>>>>> java:134) at
> > >>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
> > >>>>>>> at
> > >>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:3
> > >>>>>>> 33)
> > >>>>>>> at
> > >>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
> > >>>>>>> ja
> > >>>>>>> v
> > >>>>>>> a
> > >>>>>>> :251) at
> > >>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded
> > >>>>>>> (Abs
> > >>>>>>> tr
> > >>>>>>> a
> > >>>>>>> c
> > >>>>>>> tConnection.java:283) at
> > >>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:1
> > >>>>>>> 08)
> > >>>>>>> at
> > >>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannel
> > >>>>>>> EndP
> > >>>>>>> oi
> > >>>>>>> n
> > >>>>>>> t
> > >>>>>>> .java:93) at
> > >>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.e
> > >>>>>>> xecu
> > >>>>>>> te
> > >>>>>>> P
> > >>>>>>> r
> > >>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
> > >>>>>>> at
> > >>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.p
> > >>>>>>> rodu
> > >>>>>>> ce
> > >>>>>>> C
> > >>>>>>> o
> > >>>>>>> nsume(ExecuteProduceConsume.java:148)
> > >>>>>>> at
> > >>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.r
> > >>>>>>> un(E
> > >>>>>>> xe
> > >>>>>>> c
> > >>>>>>> u
> > >>>>>>> teProduceConsume.java:136) at
> > >>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedTh
> > >>>>>>> read
> > >>>>>>> Po
> > >>>>>>> o
> > >>>>>>> l
> > >>>>>>> .java:671) at
> > >>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
> > >>>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
> > >>>>>>> Caused by: java.lang.RuntimeException: Rule description
> > >>>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
> > >>>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
> > >>>>>>> at
> > >>>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
> > >>>>>>> ja
> > >>>>>>> v
> > >>>>>>> a
> > >>>>>>> :78) at
> > >>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelCon
> > >>>>>>> vert
> > >>>>>>> er
> > >>>>>>> R
> > >>>>>>> u
> > >>>>>>> le.<init>(JdbcStoragePlugin.java:224)
> > >>>>>>> at
> > >>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcCo
> > >>>>>>> nven
> > >>>>>>> ti
> > >>>>>>> o
> > >>>>>>> n
> > >>>>>>> .<init>(JdbcStoragePlugin.java:119)
> > >>>>>>> at
> > >>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(Jdbc
> > >>>>>>> Stor
> > >>>>>>> ag
> > >>>>>>> e
> > >>>>>>> P
> > >>>>>>> lugin.java:103) at
> > >>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
> > >>>>>>> ewIn
> > >>>>>>> st
> > >>>>>>> a
> > >>>>>>> n
> > >>>>>>> ce0(Native Method) at
> > >>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
> > >>>>>>> ewIn
> > >>>>>>> st
> > >>>>>>> a
> > >>>>>>> n
> > >>>>>>> ce(NativeConstructorAccessorImpl.java:62)
> > >>>>>>> at
> > >>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorIm
> > >>>>>>> pl.n
> > >>>>>>> ew
> > >>>>>>> I
> > >>>>>>> n
> > >>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
> > >>>>>>> at
> > >>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(
> > >>>>>>> Cons
> > >>>>>>> tr
> > >>>>>>> u
> > >>>>>>> c
> > >>>>>>> tor.java:500) at
> > >>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
> > >>>>>>> 4
> > >>>>>>> 81) at
> > >>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
> > >>>>>>> tora
> > >>>>>>> ge
> > >>>>>>> P
> > >>>>>>> l
> > >>>>>>> uginRegistryImpl.java:528)
> > >>>>>>> ... 56 common frames omitted
> > >>>>>>>
> > >>>>>>> -----Original Message-----
> > >>>>>>> From: Charles Givre <cg...@gmail.com>
> > >>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
> > >>>>>>> To: user@drill.apache.org
> > >>>>>>> Subject: Re: Initial Oracle Setup
> > >>>>>>>
> > >>>>>>> One more thing...
> > >>>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
> > >>>>>>> Thanks,
> > >>>>>>> -- C
> > >>>>>>>
> > >>>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
> > >>>>>>>>
> > >>>>>>>> Hi Chris,
> > >>>>>>>>
> > >>>>>>>> You put the JDBC driver in the 3rd party folder?
> > >>>>>>>>
> > >>>>>>>> You're right you might be onto something if you get the
> > >>>>>>>> password failed message. Can you post the exact text (JSON)
> > >>>>>>>> of the storage plugin config?
> > >>>>>>>>
> > >>>>>>>> -Rafael
> > >>>>>>>>
> > >>>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
> > >>>>>>>> <ch...@cardconnect.com.invalid> wrote:
> > >>>>>>>>>
> > >>>>>>>>> Hey Everyone,
> > >>>>>>>>>
> > >>>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
> > >>>>>>>>>
> > >>>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
> > >>>>>>>>>
> > >>>>>>>>> Christopher Kane
> > >>>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
> > >>>>>>>>> ckane@clover.com<ma...@clover.com>,
> > >>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
> > >>>>>>>>> com>,
> > >>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
> > >>>>>>>>> c
> > >>>>>>>>> o
> > >>>>>>>>> m>,
> > >>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fise
> > >>>>>>>>> m>rv.c
> > >>>>>>>>> m>om
> > >>>>>>>>> m>>
> > >>>>>>>>>
> > >>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> > >>>>>>>
> > >>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> > >>>>>>
> > >>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> > >>>>>
> > >>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> > >>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> > >>>>
> > >>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> > >>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> > >>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> > >>
> >
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

Re: Initial Oracle Setup

Posted by Charles Givre <cg...@gmail.com>.
I looked up SQL TYPE 101 on StackOverflow and found a bunch of posts about Oracle data types.

(https://stackoverflow.com/questions/43093377/unsupported-oracle-data-type-101-encountered <https://stackoverflow.com/questions/43093377/unsupported-oracle-data-type-101-encountered>) 

What I think is happening here is that your database has a column of a type which Drill does not recognize.  Thus when Drill gets the results, it doesn't know what to do with them, and you get an error. The good news is that it is most likely confined to one column.  (FYI... This is something that I believe we can and should fix)  Anyway, the immediate resolution would be to look at the columns in your schema and try to figure out which one is causing the issue. Then either exclude it from the query or CAST it to another data type. 

From what you're telling me it does seem that Drill is successfully querying your database and getting results back so that's good... 
-- C


> On Jun 23, 2020, at 4:24 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> 
> Alright so I did a bit of googling and I saw SELECT 1 should work across most database implementations. Select 1 against my data source resulted in a query profile being generated with a Completed tag next to it, and a result with a heading of EXPR$0 and then under that a 1. So I guess that would at least validate that I can get something back from Oracle?
> 
> -----Original Message-----
> From: Christopher Kane
> Sent: Tuesday, June 23, 2020 4:19 PM
> To: user@drill.apache.org
> Subject: RE: Initial Oracle Setup
> 
> Charles
> -I think you're right. My understanding of DBs is at the efficient user/consumer level. I know how to navigate and find what I want but I do not know the structure very well which could be causing some problems here. If you could share a sample query that should return anything from what I am now connected to that would be great. The query I was using was very simple, select * from biz.merchants where merchant_id=85616270. However as you can see 'biz' is a schema and I'm not sure if I need to set a default schema in some way.
> -Also I think I'm just the type of user where everything I touch breaks in some way, I guess that's why I enjoy testing.
> 
> Rafael
> -I'm accessing everything from the Drill UI, if I wanted to see a list of tables/schemas it's found how would I go about doing that? I think that would be a good way to see if what I have setup is working as expected. With the query I have above, how would it differ in ANSI SQL?
> -I could probably get the logs, but would need to reach out to a DBA for that and I think he's already off for the day.
> 
> -----Original Message-----
> From: Rafael Jaimes III <ra...@gmail.com>
> Sent: Tuesday, June 23, 2020 4:15 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
> 
> Good point, that would be like the bug with Presto JDBC on Drill 1.18.
> If that's the case, the logs from ORACLE would help diagnose the issue.
> 
> On Tue, Jun 23, 2020 at 4:12 PM Charles Givre <cg...@gmail.com> wrote:
>> 
>> Rafael,
>> I think what's happening here is that Drill isn't understanding the results that Oracle is returning, perhaps due to a data type that Drill doesn't recognize.  Chris, can you share the query?   Again, usually databases are super easy to set up with Drill so I'm surprised this is happening.
>> -- C
>> 
>> 
>> 
>>> On Jun 23, 2020, at 4:08 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>> 
>>> Ah thanks for the info on that.
>>> 
>>> Chris, I can't seem to recall seeing that error before. Sounds like
>>> it is a syntax issue perhaps? Note than ORACLE's SQL is a little
>>> different than ANSI SQL that Drill uses. For this case, you'd be
>>> using ANSI SQL and not the underlying ORACLE syntax. I believe Drill
>>> should do that translation for you if I'm not mistaken.
>>> 
>>> If you're using squirrel shell from an embedded instance, I would go
>>> through and list the schemas/tables and start with some really basic
>>> queries just to test connectivity.
>>> 
>>> - Rafael
>>> 
>>> On Tue, Jun 23, 2020 at 4:05 PM Charles Givre <cg...@gmail.com> wrote:
>>>> 
>>>> Are you able to query anything from the DB?  BTW... I'm really surprised by all of this. I've never tried Drill with Oracle, but I've used Drill with MySQL, Postgres and MSSQL and usually they're the easiest to work with.
>>>> --C
>>>> 
>>>> 
>>>>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>> 
>>>>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
>>>>> 
>>>>> I think the only thing I'm having an issue with now I think is
>>>>> related to this:
>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache
>>>>> .org_jira_browse_CALCITE-2D3533&d=DwIFaQ&c=rE3mhBYFJfJGqQ7WI0-DPw&
>>>>> r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=UiDno6G820rHeUAXrr
>>>>> tOkJl6lm0q0XNpxN8QNitMMwA&s=f_B-GyW3JBWUrLczdKHOSTUwmHzfMYDm9WoWta
>>>>> uyM3A&e=
>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apach
>>>>> e.org_jira_browse_CALCITE-2D3533&d=DwIFaQ&c=rE3mhBYFJfJGqQ7WI0-DPw
>>>>> &r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=UiDno6G820rHeUAXr
>>>>> rtOkJl6lm0q0XNpxN8QNitMMwA&s=f_B-GyW3JBWUrLczdKHOSTUwmHzfMYDm9WoWt
>>>>> auyM3A&e= >
>>>>> 
>>>>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
>>>>> 
>>>>> -----Original Message-----
>>>>> From: Rafael Jaimes III <rafjaimes@gmail.com
>>>>> <ma...@gmail.com>>
>>>>> Sent: Tuesday, June 23, 2020 3:43 PM
>>>>> To: user@drill.apache.org <ma...@drill.apache.org>
>>>>> Subject: Re: Initial Oracle Setup
>>>>> 
>>>>> Glad you got it working with the new version regardless!
>>>>> 
>>>>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>>>>>> 
>>>>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>>> Sent: Tuesday, June 23, 2020 3:31 PM
>>>>>> To: user@drill.apache.org
>>>>>> Subject: RE: Initial Oracle Setup
>>>>>> 
>>>>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>> Sent: Tuesday, June 23, 2020 3:23 PM
>>>>>> To: user <us...@drill.apache.org>
>>>>>> Subject: Re: Initial Oracle Setup
>>>>>> 
>>>>>> It hasn't been released yet, so you'd have to d/l from github
>>>>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>> apach
>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>> llmVq
>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>> =C8v5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>> apach
>>>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
>>>>>> llmVq
>>>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
>>>>>> =C8v5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build
>>>>>> from source.
>>>>>> If you can't do that, I have a pre-release here:
>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_c
>>>>>> givre
>>>>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7W
>>>>>> I0-DP
>>>>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZS
>>>>>> NloM5
>>>>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-
>>>>>> qXY0&
>>>>>> e=
>>>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
>>>>>> cgivr
>>>>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7
>>>>>> WI0-D
>>>>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZ
>>>>>> SNloM
>>>>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H
>>>>>> -qXY0
>>>>>> &e= >
>>>>>> 
>>>>>> 
>>>>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>> 
>>>>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>>>>>> 
>>>>>>> -----Original Message-----
>>>>>>> From: Christopher Kane
>>>>>>> <ch...@cardconnect.com.INVALID>
>>>>>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>>>>>> To: user@drill.apache.org
>>>>>>> Subject: RE: Initial Oracle Setup
>>>>>>> 
>>>>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>>>>>> 
>>>>>>> -----Original Message-----
>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>>>>>> To: user@drill.apache.org
>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>> 
>>>>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>>>>>> 
>>>>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>> 
>>>>>>>> On both the directory of drill and on startup I am running
>>>>>>>> Apache Drill 1.17.0
>>>>>>>> 
>>>>>>>> -----Original Message-----
>>>>>>>> From: Charles Givre <cgivre@gmail.com
>>>>>>>> <ma...@gmail.com>>
>>>>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>>>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>> 
>>>>>>>> One more question.. what version of Drill are you using?
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>>>> 
>>>>>>>>> Rafael
>>>>>>>>> -I did place it in the jars/3rdparty folder.
>>>>>>>>> 
>>>>>>>>> Storage Plugin Config:
>>>>>>>>> {
>>>>>>>>> "type": "jdbc",
>>>>>>>>> "enabled": true,
>>>>>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>>>>>> }
>>>>>>>>> (it's been modified to remove sensitive information)
>>>>>>>>> 
>>>>>>>>> Charles
>>>>>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>>>>>> 
>>>>>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/
>>>>>>>>> update
>>>>>>>>> plugin: QA2 Oracle
>>>>>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
>>>>>>>>> Failure setting up new storage plugin configuration for config
>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>>>>>> at
>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>> tora
>>>>>>>>> ge
>>>>>>>>> P
>>>>>>>>> l
>>>>>>>>> uginRegistryImpl.java:536) at
>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOr
>>>>>>>>> Upda
>>>>>>>>> te
>>>>>>>>> (
>>>>>>>>> S
>>>>>>>>> toragePluginRegistryImpl.java:132)
>>>>>>>>> at
>>>>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOr
>>>>>>>>> Upda
>>>>>>>>> te
>>>>>>>>> I
>>>>>>>>> n
>>>>>>>>> Storage(PluginConfigWrapper.java:56)
>>>>>>>>> at
>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>> ateP
>>>>>>>>> lu
>>>>>>>>> g
>>>>>>>>> i
>>>>>>>>> nJSON(StorageResources.java:212) at
>>>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
>>>>>>>>> ateP
>>>>>>>>> lu
>>>>>>>>> g
>>>>>>>>> i
>>>>>>>>> n(StorageResources.java:233) at
>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>> 0(Na
>>>>>>>>> ti
>>>>>>>>> v
>>>>>>>>> e
>>>>>>>>> Method) at
>>>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>>>>>>>>> (Nat
>>>>>>>>> iv
>>>>>>>>> e
>>>>>>>>> M
>>>>>>>>> ethodAccessorImpl.java:62) at
>>>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.in
>>>>>>>>> voke
>>>>>>>>> (D
>>>>>>>>> e
>>>>>>>>> l
>>>>>>>>> egatingMethodAccessorImpl.java:43)
>>>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvoc
>>>>>>>>> atio
>>>>>>>>> nH
>>>>>>>>> a
>>>>>>>>> n
>>>>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.ja
>>>>>>>>> va:8
>>>>>>>>> 1)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>> eMet
>>>>>>>>> ho
>>>>>>>>> d
>>>>>>>>> D
>>>>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>> eMet
>>>>>>>>> ho
>>>>>>>>> d
>>>>>>>>> D
>>>>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161
>>>>>>>>> )
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodD
>>>>>>>>> ispa
>>>>>>>>> tc
>>>>>>>>> h
>>>>>>>>> e
>>>>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatch
>>>>>>>>> erPr
>>>>>>>>> ov
>>>>>>>>> i
>>>>>>>>> d
>>>>>>>>> er.java:205) at
>>>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
>>>>>>>>> eMet
>>>>>>>>> ho
>>>>>>>>> d
>>>>>>>>> D
>>>>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:9
>>>>>>>>> 9)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke
>>>>>>>>> (Res
>>>>>>>>> ou
>>>>>>>>> r
>>>>>>>>> c
>>>>>>>>> eMethodInvoker.java:389) at
>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>> Reso
>>>>>>>>> ur
>>>>>>>>> c
>>>>>>>>> e
>>>>>>>>> MethodInvoker.java:347) at
>>>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
>>>>>>>>> Reso
>>>>>>>>> ur
>>>>>>>>> c
>>>>>>>>> e
>>>>>>>>> MethodInvoker.java:102) at
>>>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.
>>>>>>>>> java
>>>>>>>>> :3
>>>>>>>>> 2
>>>>>>>>> 6
>>>>>>>>> ) at
>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>>>>> at
>>>>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(
>>>>>>>>> Requ
>>>>>>>>> es
>>>>>>>>> t
>>>>>>>>> S
>>>>>>>>> cope.java:317) at
>>>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>>>>>> 3
>>>>>>>>> 05) at
>>>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(Applicat
>>>>>>>>> ionH
>>>>>>>>> an
>>>>>>>>> d
>>>>>>>>> l
>>>>>>>>> er.java:1154) at
>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebCompo
>>>>>>>>> nent
>>>>>>>>> .j
>>>>>>>>> a
>>>>>>>>> v
>>>>>>>>> a:473) at
>>>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>>>> 4
>>>>>>>>> 2
>>>>>>>>> 7) at
>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>> onta
>>>>>>>>> in
>>>>>>>>> e
>>>>>>>>> r
>>>>>>>>> .java:388) at
>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>> onta
>>>>>>>>> in
>>>>>>>>> e
>>>>>>>>> r
>>>>>>>>> .java:341) at
>>>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
>>>>>>>>> onta
>>>>>>>>> in
>>>>>>>>> e
>>>>>>>>> r
>>>>>>>>> .java:228) at
>>>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>>>>>> 84
>>>>>>>>> 8
>>>>>>>>> )
>>>>>>>>> at
>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>> Serv
>>>>>>>>> le
>>>>>>>>> t
>>>>>>>>> H
>>>>>>>>> andler.java:1780) at
>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFi
>>>>>>>>> lter
>>>>>>>>> (C
>>>>>>>>> s
>>>>>>>>> r
>>>>>>>>> fTokenValidateFilter.java:55) at
>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>> Serv
>>>>>>>>> le
>>>>>>>>> t
>>>>>>>>> H
>>>>>>>>> andler.java:1767) at
>>>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilt
>>>>>>>>> er(C
>>>>>>>>> sr
>>>>>>>>> f
>>>>>>>>> T
>>>>>>>>> okenInjectFilter.java:54) at
>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
>>>>>>>>> Serv
>>>>>>>>> le
>>>>>>>>> t
>>>>>>>>> H
>>>>>>>>> andler.java:1767) at
>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>>>>>> 583) at
>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(Sessi
>>>>>>>>> onHa
>>>>>>>>> nd
>>>>>>>>> l
>>>>>>>>> e
>>>>>>>>> r.java:224) at
>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(Conte
>>>>>>>>> xtHa
>>>>>>>>> nd
>>>>>>>>> l
>>>>>>>>> e
>>>>>>>>> r.java:1180) at
>>>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>>>>>> 5
>>>>>>>>> 13) at
>>>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(Sessio
>>>>>>>>> nHan
>>>>>>>>> dl
>>>>>>>>> e
>>>>>>>>> r
>>>>>>>>> .java:185) at
>>>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(Contex
>>>>>>>>> tHan
>>>>>>>>> dl
>>>>>>>>> e
>>>>>>>>> r
>>>>>>>>> .java:1112) at
>>>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>>>> j
>>>>>>>>> a
>>>>>>>>> va:141) at
>>>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>>>>>> java:134) at
>>>>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>>>>> at
>>>>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:3
>>>>>>>>> 33)
>>>>>>>>> at
>>>>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>>>>>> ja
>>>>>>>>> v
>>>>>>>>> a
>>>>>>>>> :251) at
>>>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded
>>>>>>>>> (Abs
>>>>>>>>> tr
>>>>>>>>> a
>>>>>>>>> c
>>>>>>>>> tConnection.java:283) at
>>>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:1
>>>>>>>>> 08)
>>>>>>>>> at
>>>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannel
>>>>>>>>> EndP
>>>>>>>>> oi
>>>>>>>>> n
>>>>>>>>> t
>>>>>>>>> .java:93) at
>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.e
>>>>>>>>> xecu
>>>>>>>>> te
>>>>>>>>> P
>>>>>>>>> r
>>>>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>>>>>> at
>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.p
>>>>>>>>> rodu
>>>>>>>>> ce
>>>>>>>>> C
>>>>>>>>> o
>>>>>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>>>>>> at
>>>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.r
>>>>>>>>> un(E
>>>>>>>>> xe
>>>>>>>>> c
>>>>>>>>> u
>>>>>>>>> teProduceConsume.java:136) at
>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedTh
>>>>>>>>> read
>>>>>>>>> Po
>>>>>>>>> o
>>>>>>>>> l
>>>>>>>>> .java:671) at
>>>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>>>>>> at
>>>>>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
>>>>>>>>> ja
>>>>>>>>> v
>>>>>>>>> a
>>>>>>>>> :78) at
>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelCon
>>>>>>>>> vert
>>>>>>>>> er
>>>>>>>>> R
>>>>>>>>> u
>>>>>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>>>>>> at
>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcCo
>>>>>>>>> nven
>>>>>>>>> ti
>>>>>>>>> o
>>>>>>>>> n
>>>>>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>>>>>> at
>>>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(Jdbc
>>>>>>>>> Stor
>>>>>>>>> ag
>>>>>>>>> e
>>>>>>>>> P
>>>>>>>>> lugin.java:103) at
>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>> ewIn
>>>>>>>>> st
>>>>>>>>> a
>>>>>>>>> n
>>>>>>>>> ce0(Native Method) at
>>>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
>>>>>>>>> ewIn
>>>>>>>>> st
>>>>>>>>> a
>>>>>>>>> n
>>>>>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>>>>>> at
>>>>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorIm
>>>>>>>>> pl.n
>>>>>>>>> ew
>>>>>>>>> I
>>>>>>>>> n
>>>>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>>>>>> at
>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(
>>>>>>>>> Cons
>>>>>>>>> tr
>>>>>>>>> u
>>>>>>>>> c
>>>>>>>>> tor.java:500) at
>>>>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>>>>>> 4
>>>>>>>>> 81) at
>>>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
>>>>>>>>> tora
>>>>>>>>> ge
>>>>>>>>> P
>>>>>>>>> l
>>>>>>>>> uginRegistryImpl.java:528)
>>>>>>>>> ... 56 common frames omitted
>>>>>>>>> 
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>>>>>> To: user@drill.apache.org
>>>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>>>> 
>>>>>>>>> One more thing...
>>>>>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>>>>>> Thanks,
>>>>>>>>> -- C
>>>>>>>>> 
>>>>>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>>>>>> 
>>>>>>>>>> Hi Chris,
>>>>>>>>>> 
>>>>>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>>>>>> 
>>>>>>>>>> You're right you might be onto something if you get the
>>>>>>>>>> password failed message. Can you post the exact text (JSON)
>>>>>>>>>> of the storage plugin config?
>>>>>>>>>> 
>>>>>>>>>> -Rafael
>>>>>>>>>> 
>>>>>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> Hey Everyone,
>>>>>>>>>>> 
>>>>>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>>>>>> 
>>>>>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>>>>>> 
>>>>>>>>>>> Christopher Kane
>>>>>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>>>>>> com>,
>>>>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>>>>>> c
>>>>>>>>>>> o
>>>>>>>>>>> m>,
>>>>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fise
>>>>>>>>>>> m>rv.c
>>>>>>>>>>> m>om
>>>>>>>>>>> m>>
>>>>>>>>>>> 
>>>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>>> 
>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>>> 
>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>> 
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>> 
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>> 
>> 
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.


RE: Initial Oracle Setup

Posted by Christopher Kane <ch...@cardconnect.com.INVALID>.
Alright so I did a bit of googling and I saw SELECT 1 should work across most database implementations. Select 1 against my data source resulted in a query profile being generated with a Completed tag next to it, and a result with a heading of EXPR$0 and then under that a 1. So I guess that would at least validate that I can get something back from Oracle?

-----Original Message-----
From: Christopher Kane
Sent: Tuesday, June 23, 2020 4:19 PM
To: user@drill.apache.org
Subject: RE: Initial Oracle Setup

Charles
-I think you're right. My understanding of DBs is at the efficient user/consumer level. I know how to navigate and find what I want but I do not know the structure very well which could be causing some problems here. If you could share a sample query that should return anything from what I am now connected to that would be great. The query I was using was very simple, select * from biz.merchants where merchant_id=85616270. However as you can see 'biz' is a schema and I'm not sure if I need to set a default schema in some way.
-Also I think I'm just the type of user where everything I touch breaks in some way, I guess that's why I enjoy testing.

Rafael
-I'm accessing everything from the Drill UI, if I wanted to see a list of tables/schemas it's found how would I go about doing that? I think that would be a good way to see if what I have setup is working as expected. With the query I have above, how would it differ in ANSI SQL?
-I could probably get the logs, but would need to reach out to a DBA for that and I think he's already off for the day.

-----Original Message-----
From: Rafael Jaimes III <ra...@gmail.com>
Sent: Tuesday, June 23, 2020 4:15 PM
To: user@drill.apache.org
Subject: Re: Initial Oracle Setup

Good point, that would be like the bug with Presto JDBC on Drill 1.18.
If that's the case, the logs from ORACLE would help diagnose the issue.

On Tue, Jun 23, 2020 at 4:12 PM Charles Givre <cg...@gmail.com> wrote:
>
> Rafael,
> I think what's happening here is that Drill isn't understanding the results that Oracle is returning, perhaps due to a data type that Drill doesn't recognize.  Chris, can you share the query?   Again, usually databases are super easy to set up with Drill so I'm surprised this is happening.
> -- C
>
>
>
> > On Jun 23, 2020, at 4:08 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
> >
> > Ah thanks for the info on that.
> >
> > Chris, I can't seem to recall seeing that error before. Sounds like
> > it is a syntax issue perhaps? Note than ORACLE's SQL is a little
> > different than ANSI SQL that Drill uses. For this case, you'd be
> > using ANSI SQL and not the underlying ORACLE syntax. I believe Drill
> > should do that translation for you if I'm not mistaken.
> >
> > If you're using squirrel shell from an embedded instance, I would go
> > through and list the schemas/tables and start with some really basic
> > queries just to test connectivity.
> >
> > - Rafael
> >
> > On Tue, Jun 23, 2020 at 4:05 PM Charles Givre <cg...@gmail.com> wrote:
> >>
> >> Are you able to query anything from the DB?  BTW... I'm really surprised by all of this. I've never tried Drill with Oracle, but I've used Drill with MySQL, Postgres and MSSQL and usually they're the easiest to work with.
> >> --C
> >>
> >>
> >>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >>>
> >>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
> >>>
> >>> I think the only thing I'm having an issue with now I think is
> >>> related to this:
> >>> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache
> >>> .org_jira_browse_CALCITE-2D3533&d=DwIFaQ&c=rE3mhBYFJfJGqQ7WI0-DPw&
> >>> r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=UiDno6G820rHeUAXrr
> >>> tOkJl6lm0q0XNpxN8QNitMMwA&s=f_B-GyW3JBWUrLczdKHOSTUwmHzfMYDm9WoWta
> >>> uyM3A&e=
> >>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apach
> >>> e.org_jira_browse_CALCITE-2D3533&d=DwIFaQ&c=rE3mhBYFJfJGqQ7WI0-DPw
> >>> &r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=UiDno6G820rHeUAXr
> >>> rtOkJl6lm0q0XNpxN8QNitMMwA&s=f_B-GyW3JBWUrLczdKHOSTUwmHzfMYDm9WoWt
> >>> auyM3A&e= >
> >>>
> >>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
> >>>
> >>> -----Original Message-----
> >>> From: Rafael Jaimes III <rafjaimes@gmail.com
> >>> <ma...@gmail.com>>
> >>> Sent: Tuesday, June 23, 2020 3:43 PM
> >>> To: user@drill.apache.org <ma...@drill.apache.org>
> >>> Subject: Re: Initial Oracle Setup
> >>>
> >>> Glad you got it working with the new version regardless!
> >>>
> >>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
> >>>>
> >>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
> >>>>
> >>>> -----Original Message-----
> >>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
> >>>> Sent: Tuesday, June 23, 2020 3:31 PM
> >>>> To: user@drill.apache.org
> >>>> Subject: RE: Initial Oracle Setup
> >>>>
> >>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
> >>>>
> >>>> -----Original Message-----
> >>>> From: Charles Givre <cg...@gmail.com>
> >>>> Sent: Tuesday, June 23, 2020 3:23 PM
> >>>> To: user <us...@drill.apache.org>
> >>>> Subject: Re: Initial Oracle Setup
> >>>>
> >>>> It hasn't been released yet, so you'd have to d/l from github
> >>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
> >>>> apach
> >>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
> >>>> llmVq
> >>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
> >>>> =C8v5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
> >>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
> >>>> apach
> >>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
> >>>> llmVq
> >>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
> >>>> =C8v5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build
> >>>> from source.
> >>>> If you can't do that, I have a pre-release here:
> >>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_c
> >>>> givre
> >>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7W
> >>>> I0-DP
> >>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZS
> >>>> NloM5
> >>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-
> >>>> qXY0&
> >>>> e=
> >>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
> >>>> cgivr
> >>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7
> >>>> WI0-D
> >>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZ
> >>>> SNloM
> >>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H
> >>>> -qXY0
> >>>> &e= >
> >>>>
> >>>>
> >>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >>>>>
> >>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
> >>>>>
> >>>>> -----Original Message-----
> >>>>> From: Christopher Kane
> >>>>> <ch...@cardconnect.com.INVALID>
> >>>>> Sent: Tuesday, June 23, 2020 3:14 PM
> >>>>> To: user@drill.apache.org
> >>>>> Subject: RE: Initial Oracle Setup
> >>>>>
> >>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
> >>>>>
> >>>>> -----Original Message-----
> >>>>> From: Charles Givre <cg...@gmail.com>
> >>>>> Sent: Tuesday, June 23, 2020 3:11 PM
> >>>>> To: user@drill.apache.org
> >>>>> Subject: Re: Initial Oracle Setup
> >>>>>
> >>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
> >>>>>
> >>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >>>>>>
> >>>>>> On both the directory of drill and on startup I am running
> >>>>>> Apache Drill 1.17.0
> >>>>>>
> >>>>>> -----Original Message-----
> >>>>>> From: Charles Givre <cgivre@gmail.com
> >>>>>> <ma...@gmail.com>>
> >>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
> >>>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
> >>>>>> Subject: Re: Initial Oracle Setup
> >>>>>>
> >>>>>> One more question.. what version of Drill are you using?
> >>>>>>
> >>>>>>
> >>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >>>>>>>
> >>>>>>> Rafael
> >>>>>>> -I did place it in the jars/3rdparty folder.
> >>>>>>>
> >>>>>>> Storage Plugin Config:
> >>>>>>> {
> >>>>>>> "type": "jdbc",
> >>>>>>> "enabled": true,
> >>>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
> >>>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
> >>>>>>> }
> >>>>>>> (it's been modified to remove sensitive information)
> >>>>>>>
> >>>>>>> Charles
> >>>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
> >>>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
> >>>>>>>
> >>>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
> >>>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/
> >>>>>>> update
> >>>>>>> plugin: QA2 Oracle
> >>>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
> >>>>>>> Failure setting up new storage plugin configuration for config
> >>>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
> >>>>>>> at
> >>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
> >>>>>>> tora
> >>>>>>> ge
> >>>>>>> P
> >>>>>>> l
> >>>>>>> uginRegistryImpl.java:536) at
> >>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOr
> >>>>>>> Upda
> >>>>>>> te
> >>>>>>> (
> >>>>>>> S
> >>>>>>> toragePluginRegistryImpl.java:132)
> >>>>>>> at
> >>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOr
> >>>>>>> Upda
> >>>>>>> te
> >>>>>>> I
> >>>>>>> n
> >>>>>>> Storage(PluginConfigWrapper.java:56)
> >>>>>>> at
> >>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
> >>>>>>> ateP
> >>>>>>> lu
> >>>>>>> g
> >>>>>>> i
> >>>>>>> nJSON(StorageResources.java:212) at
> >>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
> >>>>>>> ateP
> >>>>>>> lu
> >>>>>>> g
> >>>>>>> i
> >>>>>>> n(StorageResources.java:233) at
> >>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> >>>>>>> 0(Na
> >>>>>>> ti
> >>>>>>> v
> >>>>>>> e
> >>>>>>> Method) at
> >>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> >>>>>>> (Nat
> >>>>>>> iv
> >>>>>>> e
> >>>>>>> M
> >>>>>>> ethodAccessorImpl.java:62) at
> >>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.in
> >>>>>>> voke
> >>>>>>> (D
> >>>>>>> e
> >>>>>>> l
> >>>>>>> egatingMethodAccessorImpl.java:43)
> >>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvoc
> >>>>>>> atio
> >>>>>>> nH
> >>>>>>> a
> >>>>>>> n
> >>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.ja
> >>>>>>> va:8
> >>>>>>> 1)
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
> >>>>>>> eMet
> >>>>>>> ho
> >>>>>>> d
> >>>>>>> D
> >>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
> >>>>>>> eMet
> >>>>>>> ho
> >>>>>>> d
> >>>>>>> D
> >>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161
> >>>>>>> )
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodD
> >>>>>>> ispa
> >>>>>>> tc
> >>>>>>> h
> >>>>>>> e
> >>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatch
> >>>>>>> erPr
> >>>>>>> ov
> >>>>>>> i
> >>>>>>> d
> >>>>>>> er.java:205) at
> >>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
> >>>>>>> eMet
> >>>>>>> ho
> >>>>>>> d
> >>>>>>> D
> >>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:9
> >>>>>>> 9)
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke
> >>>>>>> (Res
> >>>>>>> ou
> >>>>>>> r
> >>>>>>> c
> >>>>>>> eMethodInvoker.java:389) at
> >>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
> >>>>>>> Reso
> >>>>>>> ur
> >>>>>>> c
> >>>>>>> e
> >>>>>>> MethodInvoker.java:347) at
> >>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
> >>>>>>> Reso
> >>>>>>> ur
> >>>>>>> c
> >>>>>>> e
> >>>>>>> MethodInvoker.java:102) at
> >>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.
> >>>>>>> java
> >>>>>>> :3
> >>>>>>> 2
> >>>>>>> 6
> >>>>>>> ) at
> >>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:315)
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:297)
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:267)
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(
> >>>>>>> Requ
> >>>>>>> es
> >>>>>>> t
> >>>>>>> S
> >>>>>>> cope.java:317) at
> >>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
> >>>>>>> 3
> >>>>>>> 05) at
> >>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(Applicat
> >>>>>>> ionH
> >>>>>>> an
> >>>>>>> d
> >>>>>>> l
> >>>>>>> er.java:1154) at
> >>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebCompo
> >>>>>>> nent
> >>>>>>> .j
> >>>>>>> a
> >>>>>>> v
> >>>>>>> a:473) at
> >>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
> >>>>>>> 4
> >>>>>>> 2
> >>>>>>> 7) at
> >>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
> >>>>>>> onta
> >>>>>>> in
> >>>>>>> e
> >>>>>>> r
> >>>>>>> .java:388) at
> >>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
> >>>>>>> onta
> >>>>>>> in
> >>>>>>> e
> >>>>>>> r
> >>>>>>> .java:341) at
> >>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
> >>>>>>> onta
> >>>>>>> in
> >>>>>>> e
> >>>>>>> r
> >>>>>>> .java:228) at
> >>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
> >>>>>>> 84
> >>>>>>> 8
> >>>>>>> )
> >>>>>>> at
> >>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
> >>>>>>> Serv
> >>>>>>> le
> >>>>>>> t
> >>>>>>> H
> >>>>>>> andler.java:1780) at
> >>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFi
> >>>>>>> lter
> >>>>>>> (C
> >>>>>>> s
> >>>>>>> r
> >>>>>>> fTokenValidateFilter.java:55) at
> >>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
> >>>>>>> Serv
> >>>>>>> le
> >>>>>>> t
> >>>>>>> H
> >>>>>>> andler.java:1767) at
> >>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilt
> >>>>>>> er(C
> >>>>>>> sr
> >>>>>>> f
> >>>>>>> T
> >>>>>>> okenInjectFilter.java:54) at
> >>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
> >>>>>>> Serv
> >>>>>>> le
> >>>>>>> t
> >>>>>>> H
> >>>>>>> andler.java:1767) at
> >>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> >>>>>>> 583) at
> >>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(Sessi
> >>>>>>> onHa
> >>>>>>> nd
> >>>>>>> l
> >>>>>>> e
> >>>>>>> r.java:224) at
> >>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(Conte
> >>>>>>> xtHa
> >>>>>>> nd
> >>>>>>> l
> >>>>>>> e
> >>>>>>> r.java:1180) at
> >>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
> >>>>>>> 5
> >>>>>>> 13) at
> >>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(Sessio
> >>>>>>> nHan
> >>>>>>> dl
> >>>>>>> e
> >>>>>>> r
> >>>>>>> .java:185) at
> >>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(Contex
> >>>>>>> tHan
> >>>>>>> dl
> >>>>>>> e
> >>>>>>> r
> >>>>>>> .java:1112) at
> >>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
> >>>>>>> j
> >>>>>>> a
> >>>>>>> va:141) at
> >>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> >>>>>>> java:134) at
> >>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
> >>>>>>> at
> >>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:3
> >>>>>>> 33)
> >>>>>>> at
> >>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
> >>>>>>> ja
> >>>>>>> v
> >>>>>>> a
> >>>>>>> :251) at
> >>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded
> >>>>>>> (Abs
> >>>>>>> tr
> >>>>>>> a
> >>>>>>> c
> >>>>>>> tConnection.java:283) at
> >>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:1
> >>>>>>> 08)
> >>>>>>> at
> >>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannel
> >>>>>>> EndP
> >>>>>>> oi
> >>>>>>> n
> >>>>>>> t
> >>>>>>> .java:93) at
> >>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.e
> >>>>>>> xecu
> >>>>>>> te
> >>>>>>> P
> >>>>>>> r
> >>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
> >>>>>>> at
> >>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.p
> >>>>>>> rodu
> >>>>>>> ce
> >>>>>>> C
> >>>>>>> o
> >>>>>>> nsume(ExecuteProduceConsume.java:148)
> >>>>>>> at
> >>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.r
> >>>>>>> un(E
> >>>>>>> xe
> >>>>>>> c
> >>>>>>> u
> >>>>>>> teProduceConsume.java:136) at
> >>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedTh
> >>>>>>> read
> >>>>>>> Po
> >>>>>>> o
> >>>>>>> l
> >>>>>>> .java:671) at
> >>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
> >>>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
> >>>>>>> Caused by: java.lang.RuntimeException: Rule description
> >>>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
> >>>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
> >>>>>>> at
> >>>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
> >>>>>>> ja
> >>>>>>> v
> >>>>>>> a
> >>>>>>> :78) at
> >>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelCon
> >>>>>>> vert
> >>>>>>> er
> >>>>>>> R
> >>>>>>> u
> >>>>>>> le.<init>(JdbcStoragePlugin.java:224)
> >>>>>>> at
> >>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcCo
> >>>>>>> nven
> >>>>>>> ti
> >>>>>>> o
> >>>>>>> n
> >>>>>>> .<init>(JdbcStoragePlugin.java:119)
> >>>>>>> at
> >>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(Jdbc
> >>>>>>> Stor
> >>>>>>> ag
> >>>>>>> e
> >>>>>>> P
> >>>>>>> lugin.java:103) at
> >>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
> >>>>>>> ewIn
> >>>>>>> st
> >>>>>>> a
> >>>>>>> n
> >>>>>>> ce0(Native Method) at
> >>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
> >>>>>>> ewIn
> >>>>>>> st
> >>>>>>> a
> >>>>>>> n
> >>>>>>> ce(NativeConstructorAccessorImpl.java:62)
> >>>>>>> at
> >>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorIm
> >>>>>>> pl.n
> >>>>>>> ew
> >>>>>>> I
> >>>>>>> n
> >>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
> >>>>>>> at
> >>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(
> >>>>>>> Cons
> >>>>>>> tr
> >>>>>>> u
> >>>>>>> c
> >>>>>>> tor.java:500) at
> >>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
> >>>>>>> 4
> >>>>>>> 81) at
> >>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
> >>>>>>> tora
> >>>>>>> ge
> >>>>>>> P
> >>>>>>> l
> >>>>>>> uginRegistryImpl.java:528)
> >>>>>>> ... 56 common frames omitted
> >>>>>>>
> >>>>>>> -----Original Message-----
> >>>>>>> From: Charles Givre <cg...@gmail.com>
> >>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
> >>>>>>> To: user@drill.apache.org
> >>>>>>> Subject: Re: Initial Oracle Setup
> >>>>>>>
> >>>>>>> One more thing...
> >>>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
> >>>>>>> Thanks,
> >>>>>>> -- C
> >>>>>>>
> >>>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
> >>>>>>>>
> >>>>>>>> Hi Chris,
> >>>>>>>>
> >>>>>>>> You put the JDBC driver in the 3rd party folder?
> >>>>>>>>
> >>>>>>>> You're right you might be onto something if you get the
> >>>>>>>> password failed message. Can you post the exact text (JSON)
> >>>>>>>> of the storage plugin config?
> >>>>>>>>
> >>>>>>>> -Rafael
> >>>>>>>>
> >>>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
> >>>>>>>> <ch...@cardconnect.com.invalid> wrote:
> >>>>>>>>>
> >>>>>>>>> Hey Everyone,
> >>>>>>>>>
> >>>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
> >>>>>>>>>
> >>>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
> >>>>>>>>>
> >>>>>>>>> Christopher Kane
> >>>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
> >>>>>>>>> ckane@clover.com<ma...@clover.com>,
> >>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
> >>>>>>>>> com>,
> >>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
> >>>>>>>>> c
> >>>>>>>>> o
> >>>>>>>>> m>,
> >>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fise
> >>>>>>>>> m>rv.c
> >>>>>>>>> m>om
> >>>>>>>>> m>>
> >>>>>>>>>
> >>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>>>>>>
> >>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>>>>>
> >>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>>>>
> >>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>>>
> >>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>
>
THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

RE: Initial Oracle Setup

Posted by Christopher Kane <ch...@cardconnect.com.INVALID>.
Charles
-I think you're right. My understanding of DBs is at the efficient user/consumer level. I know how to navigate and find what I want but I do not know the structure very well which could be causing some problems here. If you could share a sample query that should return anything from what I am now connected to that would be great. The query I was using was very simple, select * from biz.merchants where merchant_id=85616270. However as you can see 'biz' is a schema and I'm not sure if I need to set a default schema in some way.
-Also I think I'm just the type of user where everything I touch breaks in some way, I guess that's why I enjoy testing.

Rafael
-I'm accessing everything from the Drill UI, if I wanted to see a list of tables/schemas it's found how would I go about doing that? I think that would be a good way to see if what I have setup is working as expected. With the query I have above, how would it differ in ANSI SQL?
-I could probably get the logs, but would need to reach out to a DBA for that and I think he's already off for the day.

-----Original Message-----
From: Rafael Jaimes III <ra...@gmail.com>
Sent: Tuesday, June 23, 2020 4:15 PM
To: user@drill.apache.org
Subject: Re: Initial Oracle Setup

Good point, that would be like the bug with Presto JDBC on Drill 1.18.
If that's the case, the logs from ORACLE would help diagnose the issue.

On Tue, Jun 23, 2020 at 4:12 PM Charles Givre <cg...@gmail.com> wrote:
>
> Rafael,
> I think what's happening here is that Drill isn't understanding the results that Oracle is returning, perhaps due to a data type that Drill doesn't recognize.  Chris, can you share the query?   Again, usually databases are super easy to set up with Drill so I'm surprised this is happening.
> -- C
>
>
>
> > On Jun 23, 2020, at 4:08 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
> >
> > Ah thanks for the info on that.
> >
> > Chris, I can't seem to recall seeing that error before. Sounds like
> > it is a syntax issue perhaps? Note than ORACLE's SQL is a little
> > different than ANSI SQL that Drill uses. For this case, you'd be
> > using ANSI SQL and not the underlying ORACLE syntax. I believe Drill
> > should do that translation for you if I'm not mistaken.
> >
> > If you're using squirrel shell from an embedded instance, I would go
> > through and list the schemas/tables and start with some really basic
> > queries just to test connectivity.
> >
> > - Rafael
> >
> > On Tue, Jun 23, 2020 at 4:05 PM Charles Givre <cg...@gmail.com> wrote:
> >>
> >> Are you able to query anything from the DB?  BTW... I'm really surprised by all of this. I've never tried Drill with Oracle, but I've used Drill with MySQL, Postgres and MSSQL and usually they're the easiest to work with.
> >> --C
> >>
> >>
> >>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >>>
> >>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
> >>>
> >>> I think the only thing I'm having an issue with now I think is
> >>> related to this:
> >>> https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache
> >>> .org_jira_browse_CALCITE-2D3533&d=DwIFaQ&c=rE3mhBYFJfJGqQ7WI0-DPw&
> >>> r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=UiDno6G820rHeUAXrr
> >>> tOkJl6lm0q0XNpxN8QNitMMwA&s=f_B-GyW3JBWUrLczdKHOSTUwmHzfMYDm9WoWta
> >>> uyM3A&e=
> >>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apach
> >>> e.org_jira_browse_CALCITE-2D3533&d=DwIFaQ&c=rE3mhBYFJfJGqQ7WI0-DPw
> >>> &r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=UiDno6G820rHeUAXr
> >>> rtOkJl6lm0q0XNpxN8QNitMMwA&s=f_B-GyW3JBWUrLczdKHOSTUwmHzfMYDm9WoWt
> >>> auyM3A&e= >
> >>>
> >>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
> >>>
> >>> -----Original Message-----
> >>> From: Rafael Jaimes III <rafjaimes@gmail.com
> >>> <ma...@gmail.com>>
> >>> Sent: Tuesday, June 23, 2020 3:43 PM
> >>> To: user@drill.apache.org <ma...@drill.apache.org>
> >>> Subject: Re: Initial Oracle Setup
> >>>
> >>> Glad you got it working with the new version regardless!
> >>>
> >>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
> >>>>
> >>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
> >>>>
> >>>> -----Original Message-----
> >>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
> >>>> Sent: Tuesday, June 23, 2020 3:31 PM
> >>>> To: user@drill.apache.org
> >>>> Subject: RE: Initial Oracle Setup
> >>>>
> >>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
> >>>>
> >>>> -----Original Message-----
> >>>> From: Charles Givre <cg...@gmail.com>
> >>>> Sent: Tuesday, June 23, 2020 3:23 PM
> >>>> To: user <us...@drill.apache.org>
> >>>> Subject: Re: Initial Oracle Setup
> >>>>
> >>>> It hasn't been released yet, so you'd have to d/l from github
> >>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
> >>>> apach
> >>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
> >>>> llmVq
> >>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
> >>>> =C8v5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
> >>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
> >>>> apach
> >>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lf
> >>>> llmVq
> >>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s
> >>>> =C8v5 -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build
> >>>> from source.
> >>>> If you can't do that, I have a pre-release here:
> >>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_c
> >>>> givre
> >>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7W
> >>>> I0-DP
> >>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZS
> >>>> NloM5
> >>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-
> >>>> qXY0&
> >>>> e=
> >>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_
> >>>> cgivr
> >>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7
> >>>> WI0-D
> >>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZ
> >>>> SNloM
> >>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H
> >>>> -qXY0
> >>>> &e= >
> >>>>
> >>>>
> >>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >>>>>
> >>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
> >>>>>
> >>>>> -----Original Message-----
> >>>>> From: Christopher Kane
> >>>>> <ch...@cardconnect.com.INVALID>
> >>>>> Sent: Tuesday, June 23, 2020 3:14 PM
> >>>>> To: user@drill.apache.org
> >>>>> Subject: RE: Initial Oracle Setup
> >>>>>
> >>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
> >>>>>
> >>>>> -----Original Message-----
> >>>>> From: Charles Givre <cg...@gmail.com>
> >>>>> Sent: Tuesday, June 23, 2020 3:11 PM
> >>>>> To: user@drill.apache.org
> >>>>> Subject: Re: Initial Oracle Setup
> >>>>>
> >>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
> >>>>>
> >>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >>>>>>
> >>>>>> On both the directory of drill and on startup I am running
> >>>>>> Apache Drill 1.17.0
> >>>>>>
> >>>>>> -----Original Message-----
> >>>>>> From: Charles Givre <cgivre@gmail.com
> >>>>>> <ma...@gmail.com>>
> >>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
> >>>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
> >>>>>> Subject: Re: Initial Oracle Setup
> >>>>>>
> >>>>>> One more question.. what version of Drill are you using?
> >>>>>>
> >>>>>>
> >>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >>>>>>>
> >>>>>>> Rafael
> >>>>>>> -I did place it in the jars/3rdparty folder.
> >>>>>>>
> >>>>>>> Storage Plugin Config:
> >>>>>>> {
> >>>>>>> "type": "jdbc",
> >>>>>>> "enabled": true,
> >>>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
> >>>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
> >>>>>>> }
> >>>>>>> (it's been modified to remove sensitive information)
> >>>>>>>
> >>>>>>> Charles
> >>>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
> >>>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
> >>>>>>>
> >>>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
> >>>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/
> >>>>>>> update
> >>>>>>> plugin: QA2 Oracle
> >>>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
> >>>>>>> Failure setting up new storage plugin configuration for config
> >>>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
> >>>>>>> at
> >>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
> >>>>>>> tora
> >>>>>>> ge
> >>>>>>> P
> >>>>>>> l
> >>>>>>> uginRegistryImpl.java:536) at
> >>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOr
> >>>>>>> Upda
> >>>>>>> te
> >>>>>>> (
> >>>>>>> S
> >>>>>>> toragePluginRegistryImpl.java:132)
> >>>>>>> at
> >>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOr
> >>>>>>> Upda
> >>>>>>> te
> >>>>>>> I
> >>>>>>> n
> >>>>>>> Storage(PluginConfigWrapper.java:56)
> >>>>>>> at
> >>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
> >>>>>>> ateP
> >>>>>>> lu
> >>>>>>> g
> >>>>>>> i
> >>>>>>> nJSON(StorageResources.java:212) at
> >>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpd
> >>>>>>> ateP
> >>>>>>> lu
> >>>>>>> g
> >>>>>>> i
> >>>>>>> n(StorageResources.java:233) at
> >>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> >>>>>>> 0(Na
> >>>>>>> ti
> >>>>>>> v
> >>>>>>> e
> >>>>>>> Method) at
> >>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> >>>>>>> (Nat
> >>>>>>> iv
> >>>>>>> e
> >>>>>>> M
> >>>>>>> ethodAccessorImpl.java:62) at
> >>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.in
> >>>>>>> voke
> >>>>>>> (D
> >>>>>>> e
> >>>>>>> l
> >>>>>>> egatingMethodAccessorImpl.java:43)
> >>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvoc
> >>>>>>> atio
> >>>>>>> nH
> >>>>>>> a
> >>>>>>> n
> >>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.ja
> >>>>>>> va:8
> >>>>>>> 1)
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
> >>>>>>> eMet
> >>>>>>> ho
> >>>>>>> d
> >>>>>>> D
> >>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
> >>>>>>> eMet
> >>>>>>> ho
> >>>>>>> d
> >>>>>>> D
> >>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161
> >>>>>>> )
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodD
> >>>>>>> ispa
> >>>>>>> tc
> >>>>>>> h
> >>>>>>> e
> >>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatch
> >>>>>>> erPr
> >>>>>>> ov
> >>>>>>> i
> >>>>>>> d
> >>>>>>> er.java:205) at
> >>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourc
> >>>>>>> eMet
> >>>>>>> ho
> >>>>>>> d
> >>>>>>> D
> >>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:9
> >>>>>>> 9)
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke
> >>>>>>> (Res
> >>>>>>> ou
> >>>>>>> r
> >>>>>>> c
> >>>>>>> eMethodInvoker.java:389) at
> >>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
> >>>>>>> Reso
> >>>>>>> ur
> >>>>>>> c
> >>>>>>> e
> >>>>>>> MethodInvoker.java:347) at
> >>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(
> >>>>>>> Reso
> >>>>>>> ur
> >>>>>>> c
> >>>>>>> e
> >>>>>>> MethodInvoker.java:102) at
> >>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.
> >>>>>>> java
> >>>>>>> :3
> >>>>>>> 2
> >>>>>>> 6
> >>>>>>> ) at
> >>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:315)
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:297)
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.internal.Errors.process(Errors.java:267)
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(
> >>>>>>> Requ
> >>>>>>> es
> >>>>>>> t
> >>>>>>> S
> >>>>>>> cope.java:317) at
> >>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
> >>>>>>> 3
> >>>>>>> 05) at
> >>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(Applicat
> >>>>>>> ionH
> >>>>>>> an
> >>>>>>> d
> >>>>>>> l
> >>>>>>> er.java:1154) at
> >>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebCompo
> >>>>>>> nent
> >>>>>>> .j
> >>>>>>> a
> >>>>>>> v
> >>>>>>> a:473) at
> >>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
> >>>>>>> 4
> >>>>>>> 2
> >>>>>>> 7) at
> >>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
> >>>>>>> onta
> >>>>>>> in
> >>>>>>> e
> >>>>>>> r
> >>>>>>> .java:388) at
> >>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
> >>>>>>> onta
> >>>>>>> in
> >>>>>>> e
> >>>>>>> r
> >>>>>>> .java:341) at
> >>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletC
> >>>>>>> onta
> >>>>>>> in
> >>>>>>> e
> >>>>>>> r
> >>>>>>> .java:228) at
> >>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
> >>>>>>> 84
> >>>>>>> 8
> >>>>>>> )
> >>>>>>> at
> >>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
> >>>>>>> Serv
> >>>>>>> le
> >>>>>>> t
> >>>>>>> H
> >>>>>>> andler.java:1780) at
> >>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFi
> >>>>>>> lter
> >>>>>>> (C
> >>>>>>> s
> >>>>>>> r
> >>>>>>> fTokenValidateFilter.java:55) at
> >>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
> >>>>>>> Serv
> >>>>>>> le
> >>>>>>> t
> >>>>>>> H
> >>>>>>> andler.java:1767) at
> >>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilt
> >>>>>>> er(C
> >>>>>>> sr
> >>>>>>> f
> >>>>>>> T
> >>>>>>> okenInjectFilter.java:54) at
> >>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(
> >>>>>>> Serv
> >>>>>>> le
> >>>>>>> t
> >>>>>>> H
> >>>>>>> andler.java:1767) at
> >>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> >>>>>>> 583) at
> >>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(Sessi
> >>>>>>> onHa
> >>>>>>> nd
> >>>>>>> l
> >>>>>>> e
> >>>>>>> r.java:224) at
> >>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(Conte
> >>>>>>> xtHa
> >>>>>>> nd
> >>>>>>> l
> >>>>>>> e
> >>>>>>> r.java:1180) at
> >>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
> >>>>>>> 5
> >>>>>>> 13) at
> >>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(Sessio
> >>>>>>> nHan
> >>>>>>> dl
> >>>>>>> e
> >>>>>>> r
> >>>>>>> .java:185) at
> >>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(Contex
> >>>>>>> tHan
> >>>>>>> dl
> >>>>>>> e
> >>>>>>> r
> >>>>>>> .java:1112) at
> >>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
> >>>>>>> j
> >>>>>>> a
> >>>>>>> va:141) at
> >>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> >>>>>>> java:134) at
> >>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
> >>>>>>> at
> >>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:3
> >>>>>>> 33)
> >>>>>>> at
> >>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
> >>>>>>> ja
> >>>>>>> v
> >>>>>>> a
> >>>>>>> :251) at
> >>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded
> >>>>>>> (Abs
> >>>>>>> tr
> >>>>>>> a
> >>>>>>> c
> >>>>>>> tConnection.java:283) at
> >>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:1
> >>>>>>> 08)
> >>>>>>> at
> >>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannel
> >>>>>>> EndP
> >>>>>>> oi
> >>>>>>> n
> >>>>>>> t
> >>>>>>> .java:93) at
> >>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.e
> >>>>>>> xecu
> >>>>>>> te
> >>>>>>> P
> >>>>>>> r
> >>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
> >>>>>>> at
> >>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.p
> >>>>>>> rodu
> >>>>>>> ce
> >>>>>>> C
> >>>>>>> o
> >>>>>>> nsume(ExecuteProduceConsume.java:148)
> >>>>>>> at
> >>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.r
> >>>>>>> un(E
> >>>>>>> xe
> >>>>>>> c
> >>>>>>> u
> >>>>>>> teProduceConsume.java:136) at
> >>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedTh
> >>>>>>> read
> >>>>>>> Po
> >>>>>>> o
> >>>>>>> l
> >>>>>>> .java:671) at
> >>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
> >>>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
> >>>>>>> Caused by: java.lang.RuntimeException: Rule description
> >>>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
> >>>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
> >>>>>>> at
> >>>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
> >>>>>>> ja
> >>>>>>> v
> >>>>>>> a
> >>>>>>> :78) at
> >>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelCon
> >>>>>>> vert
> >>>>>>> er
> >>>>>>> R
> >>>>>>> u
> >>>>>>> le.<init>(JdbcStoragePlugin.java:224)
> >>>>>>> at
> >>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcCo
> >>>>>>> nven
> >>>>>>> ti
> >>>>>>> o
> >>>>>>> n
> >>>>>>> .<init>(JdbcStoragePlugin.java:119)
> >>>>>>> at
> >>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(Jdbc
> >>>>>>> Stor
> >>>>>>> ag
> >>>>>>> e
> >>>>>>> P
> >>>>>>> lugin.java:103) at
> >>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
> >>>>>>> ewIn
> >>>>>>> st
> >>>>>>> a
> >>>>>>> n
> >>>>>>> ce0(Native Method) at
> >>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.n
> >>>>>>> ewIn
> >>>>>>> st
> >>>>>>> a
> >>>>>>> n
> >>>>>>> ce(NativeConstructorAccessorImpl.java:62)
> >>>>>>> at
> >>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorIm
> >>>>>>> pl.n
> >>>>>>> ew
> >>>>>>> I
> >>>>>>> n
> >>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
> >>>>>>> at
> >>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(
> >>>>>>> Cons
> >>>>>>> tr
> >>>>>>> u
> >>>>>>> c
> >>>>>>> tor.java:500) at
> >>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
> >>>>>>> 4
> >>>>>>> 81) at
> >>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(S
> >>>>>>> tora
> >>>>>>> ge
> >>>>>>> P
> >>>>>>> l
> >>>>>>> uginRegistryImpl.java:528)
> >>>>>>> ... 56 common frames omitted
> >>>>>>>
> >>>>>>> -----Original Message-----
> >>>>>>> From: Charles Givre <cg...@gmail.com>
> >>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
> >>>>>>> To: user@drill.apache.org
> >>>>>>> Subject: Re: Initial Oracle Setup
> >>>>>>>
> >>>>>>> One more thing...
> >>>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
> >>>>>>> Thanks,
> >>>>>>> -- C
> >>>>>>>
> >>>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
> >>>>>>>>
> >>>>>>>> Hi Chris,
> >>>>>>>>
> >>>>>>>> You put the JDBC driver in the 3rd party folder?
> >>>>>>>>
> >>>>>>>> You're right you might be onto something if you get the
> >>>>>>>> password failed message. Can you post the exact text (JSON)
> >>>>>>>> of the storage plugin config?
> >>>>>>>>
> >>>>>>>> -Rafael
> >>>>>>>>
> >>>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
> >>>>>>>> <ch...@cardconnect.com.invalid> wrote:
> >>>>>>>>>
> >>>>>>>>> Hey Everyone,
> >>>>>>>>>
> >>>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
> >>>>>>>>>
> >>>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
> >>>>>>>>>
> >>>>>>>>> Christopher Kane
> >>>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
> >>>>>>>>> ckane@clover.com<ma...@clover.com>,
> >>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
> >>>>>>>>> com>,
> >>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
> >>>>>>>>> c
> >>>>>>>>> o
> >>>>>>>>> m>,
> >>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fise
> >>>>>>>>> m>rv.c
> >>>>>>>>> m>om
> >>>>>>>>> m>>
> >>>>>>>>>
> >>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>>>>>>
> >>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>>>>>
> >>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>>>>
> >>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>>>
> >>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>
>
THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

Re: Initial Oracle Setup

Posted by Rafael Jaimes III <ra...@gmail.com>.
Good point, that would be like the bug with Presto JDBC on Drill 1.18.
If that's the case, the logs from ORACLE would help diagnose the
issue.

On Tue, Jun 23, 2020 at 4:12 PM Charles Givre <cg...@gmail.com> wrote:
>
> Rafael,
> I think what's happening here is that Drill isn't understanding the results that Oracle is returning, perhaps due to a data type that Drill doesn't recognize.  Chris, can you share the query?   Again, usually databases are super easy to set up with Drill so I'm surprised this is happening.
> -- C
>
>
>
> > On Jun 23, 2020, at 4:08 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
> >
> > Ah thanks for the info on that.
> >
> > Chris, I can't seem to recall seeing that error before. Sounds like it
> > is a syntax issue perhaps? Note than ORACLE's SQL is a little
> > different than ANSI SQL that Drill uses. For this case, you'd be using
> > ANSI SQL and not the underlying ORACLE syntax. I believe Drill should
> > do that translation for you if I'm not mistaken.
> >
> > If you're using squirrel shell from an embedded instance, I would go
> > through and list the schemas/tables and start with some really basic
> > queries just to test connectivity.
> >
> > - Rafael
> >
> > On Tue, Jun 23, 2020 at 4:05 PM Charles Givre <cg...@gmail.com> wrote:
> >>
> >> Are you able to query anything from the DB?  BTW... I'm really surprised by all of this. I've never tried Drill with Oracle, but I've used Drill with MySQL, Postgres and MSSQL and usually they're the easiest to work with.
> >> --C
> >>
> >>
> >>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >>>
> >>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
> >>>
> >>> I think the only thing I'm having an issue with now I think is related to this: https://issues.apache.org/jira/browse/CALCITE-3533 <https://issues.apache.org/jira/browse/CALCITE-3533>
> >>>
> >>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
> >>>
> >>> -----Original Message-----
> >>> From: Rafael Jaimes III <rafjaimes@gmail.com <ma...@gmail.com>>
> >>> Sent: Tuesday, June 23, 2020 3:43 PM
> >>> To: user@drill.apache.org <ma...@drill.apache.org>
> >>> Subject: Re: Initial Oracle Setup
> >>>
> >>> Glad you got it working with the new version regardless!
> >>>
> >>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
> >>>>
> >>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
> >>>>
> >>>> -----Original Message-----
> >>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
> >>>> Sent: Tuesday, June 23, 2020 3:31 PM
> >>>> To: user@drill.apache.org
> >>>> Subject: RE: Initial Oracle Setup
> >>>>
> >>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
> >>>>
> >>>> -----Original Message-----
> >>>> From: Charles Givre <cg...@gmail.com>
> >>>> Sent: Tuesday, June 23, 2020 3:23 PM
> >>>> To: user <us...@drill.apache.org>
> >>>> Subject: Re: Initial Oracle Setup
> >>>>
> >>>> It hasn't been released yet, so you'd have to d/l from github
> >>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apach
> >>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVq
> >>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v5
> >>>> -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
> >>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apach
> >>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVq
> >>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v5
> >>>> -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from source.
> >>>> If you can't do that, I have a pre-release here:
> >>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivre
> >>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DP
> >>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5
> >>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0&
> >>>> e=
> >>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivr
> >>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-D
> >>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM
> >>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0
> >>>> &e= >
> >>>>
> >>>>
> >>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >>>>>
> >>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
> >>>>>
> >>>>> -----Original Message-----
> >>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
> >>>>> Sent: Tuesday, June 23, 2020 3:14 PM
> >>>>> To: user@drill.apache.org
> >>>>> Subject: RE: Initial Oracle Setup
> >>>>>
> >>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
> >>>>>
> >>>>> -----Original Message-----
> >>>>> From: Charles Givre <cg...@gmail.com>
> >>>>> Sent: Tuesday, June 23, 2020 3:11 PM
> >>>>> To: user@drill.apache.org
> >>>>> Subject: Re: Initial Oracle Setup
> >>>>>
> >>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
> >>>>>
> >>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >>>>>>
> >>>>>> On both the directory of drill and on startup I am running Apache
> >>>>>> Drill 1.17.0
> >>>>>>
> >>>>>> -----Original Message-----
> >>>>>> From: Charles Givre <cgivre@gmail.com <ma...@gmail.com>>
> >>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
> >>>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
> >>>>>> Subject: Re: Initial Oracle Setup
> >>>>>>
> >>>>>> One more question.. what version of Drill are you using?
> >>>>>>
> >>>>>>
> >>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >>>>>>>
> >>>>>>> Rafael
> >>>>>>> -I did place it in the jars/3rdparty folder.
> >>>>>>>
> >>>>>>> Storage Plugin Config:
> >>>>>>> {
> >>>>>>> "type": "jdbc",
> >>>>>>> "enabled": true,
> >>>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
> >>>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
> >>>>>>> }
> >>>>>>> (it's been modified to remove sensitive information)
> >>>>>>>
> >>>>>>> Charles
> >>>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
> >>>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
> >>>>>>>
> >>>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
> >>>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/ update
> >>>>>>> plugin: QA2 Oracle
> >>>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
> >>>>>>> Failure setting up new storage plugin configuration for config
> >>>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
> >>>>>>> at
> >>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Stora
> >>>>>>> ge
> >>>>>>> P
> >>>>>>> l
> >>>>>>> uginRegistryImpl.java:536) at
> >>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpda
> >>>>>>> te
> >>>>>>> (
> >>>>>>> S
> >>>>>>> toragePluginRegistryImpl.java:132)
> >>>>>>> at
> >>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpda
> >>>>>>> te
> >>>>>>> I
> >>>>>>> n
> >>>>>>> Storage(PluginConfigWrapper.java:56)
> >>>>>>> at
> >>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdateP
> >>>>>>> lu
> >>>>>>> g
> >>>>>>> i
> >>>>>>> nJSON(StorageResources.java:212) at
> >>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdateP
> >>>>>>> lu
> >>>>>>> g
> >>>>>>> i
> >>>>>>> n(StorageResources.java:233) at
> >>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Na
> >>>>>>> ti
> >>>>>>> v
> >>>>>>> e
> >>>>>>> Method) at
> >>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Nat
> >>>>>>> iv
> >>>>>>> e
> >>>>>>> M
> >>>>>>> ethodAccessorImpl.java:62) at
> >>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
> >>>>>>> (D
> >>>>>>> e
> >>>>>>> l
> >>>>>>> egatingMethodAccessorImpl.java:43)
> >>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocatio
> >>>>>>> nH
> >>>>>>> a
> >>>>>>> n
> >>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:8
> >>>>>>> 1)
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
> >>>>>>> ho
> >>>>>>> d
> >>>>>>> D
> >>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
> >>>>>>> ho
> >>>>>>> d
> >>>>>>> D
> >>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispa
> >>>>>>> tc
> >>>>>>> h
> >>>>>>> e
> >>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherPr
> >>>>>>> ov
> >>>>>>> i
> >>>>>>> d
> >>>>>>> er.java:205) at
> >>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
> >>>>>>> ho
> >>>>>>> d
> >>>>>>> D
> >>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Res
> >>>>>>> ou
> >>>>>>> r
> >>>>>>> c
> >>>>>>> eMethodInvoker.java:389) at
> >>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Reso
> >>>>>>> ur
> >>>>>>> c
> >>>>>>> e
> >>>>>>> MethodInvoker.java:347) at
> >>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Reso
> >>>>>>> ur
> >>>>>>> c
> >>>>>>> e
> >>>>>>> MethodInvoker.java:102) at
> >>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java
> >>>>>>> :3
> >>>>>>> 2
> >>>>>>> 6
> >>>>>>> ) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
> >>>>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
> >>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
> >>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
> >>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
> >>>>>>> at
> >>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Requ
> >>>>>>> es
> >>>>>>> t
> >>>>>>> S
> >>>>>>> cope.java:317) at
> >>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
> >>>>>>> 3
> >>>>>>> 05) at
> >>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationH
> >>>>>>> an
> >>>>>>> d
> >>>>>>> l
> >>>>>>> er.java:1154) at
> >>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent
> >>>>>>> .j
> >>>>>>> a
> >>>>>>> v
> >>>>>>> a:473) at
> >>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
> >>>>>>> 4
> >>>>>>> 2
> >>>>>>> 7) at
> >>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
> >>>>>>> in
> >>>>>>> e
> >>>>>>> r
> >>>>>>> .java:388) at
> >>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
> >>>>>>> in
> >>>>>>> e
> >>>>>>> r
> >>>>>>> .java:341) at
> >>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
> >>>>>>> in
> >>>>>>> e
> >>>>>>> r
> >>>>>>> .java:228) at
> >>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
> >>>>>>> 84
> >>>>>>> 8
> >>>>>>> )
> >>>>>>> at
> >>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
> >>>>>>> le
> >>>>>>> t
> >>>>>>> H
> >>>>>>> andler.java:1780) at
> >>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter
> >>>>>>> (C
> >>>>>>> s
> >>>>>>> r
> >>>>>>> fTokenValidateFilter.java:55) at
> >>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
> >>>>>>> le
> >>>>>>> t
> >>>>>>> H
> >>>>>>> andler.java:1767) at
> >>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(C
> >>>>>>> sr
> >>>>>>> f
> >>>>>>> T
> >>>>>>> okenInjectFilter.java:54) at
> >>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
> >>>>>>> le
> >>>>>>> t
> >>>>>>> H
> >>>>>>> andler.java:1767) at
> >>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> >>>>>>> 583) at
> >>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHa
> >>>>>>> nd
> >>>>>>> l
> >>>>>>> e
> >>>>>>> r.java:224) at
> >>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHa
> >>>>>>> nd
> >>>>>>> l
> >>>>>>> e
> >>>>>>> r.java:1180) at
> >>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
> >>>>>>> 5
> >>>>>>> 13) at
> >>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHan
> >>>>>>> dl
> >>>>>>> e
> >>>>>>> r
> >>>>>>> .java:185) at
> >>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHan
> >>>>>>> dl
> >>>>>>> e
> >>>>>>> r
> >>>>>>> .java:1112) at
> >>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
> >>>>>>> j
> >>>>>>> a
> >>>>>>> va:141) at
> >>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> >>>>>>> java:134) at
> >>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
> >>>>>>> at
> >>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
> >>>>>>> at
> >>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
> >>>>>>> ja
> >>>>>>> v
> >>>>>>> a
> >>>>>>> :251) at
> >>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abs
> >>>>>>> tr
> >>>>>>> a
> >>>>>>> c
> >>>>>>> tConnection.java:283) at
> >>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
> >>>>>>> at
> >>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndP
> >>>>>>> oi
> >>>>>>> n
> >>>>>>> t
> >>>>>>> .java:93) at
> >>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execu
> >>>>>>> te
> >>>>>>> P
> >>>>>>> r
> >>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
> >>>>>>> at
> >>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produ
> >>>>>>> ce
> >>>>>>> C
> >>>>>>> o
> >>>>>>> nsume(ExecuteProduceConsume.java:148)
> >>>>>>> at
> >>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(E
> >>>>>>> xe
> >>>>>>> c
> >>>>>>> u
> >>>>>>> teProduceConsume.java:136) at
> >>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThread
> >>>>>>> Po
> >>>>>>> o
> >>>>>>> l
> >>>>>>> .java:671) at
> >>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
> >>>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
> >>>>>>> Caused by: java.lang.RuntimeException: Rule description
> >>>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
> >>>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
> >>>>>>> at
> >>>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
> >>>>>>> ja
> >>>>>>> v
> >>>>>>> a
> >>>>>>> :78) at
> >>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConvert
> >>>>>>> er
> >>>>>>> R
> >>>>>>> u
> >>>>>>> le.<init>(JdbcStoragePlugin.java:224)
> >>>>>>> at
> >>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConven
> >>>>>>> ti
> >>>>>>> o
> >>>>>>> n
> >>>>>>> .<init>(JdbcStoragePlugin.java:119)
> >>>>>>> at
> >>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStor
> >>>>>>> ag
> >>>>>>> e
> >>>>>>> P
> >>>>>>> lugin.java:103) at
> >>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newIn
> >>>>>>> st
> >>>>>>> a
> >>>>>>> n
> >>>>>>> ce0(Native Method) at
> >>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newIn
> >>>>>>> st
> >>>>>>> a
> >>>>>>> n
> >>>>>>> ce(NativeConstructorAccessorImpl.java:62)
> >>>>>>> at
> >>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.n
> >>>>>>> ew
> >>>>>>> I
> >>>>>>> n
> >>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
> >>>>>>> at
> >>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Cons
> >>>>>>> tr
> >>>>>>> u
> >>>>>>> c
> >>>>>>> tor.java:500) at
> >>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
> >>>>>>> 4
> >>>>>>> 81) at
> >>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Stora
> >>>>>>> ge
> >>>>>>> P
> >>>>>>> l
> >>>>>>> uginRegistryImpl.java:528)
> >>>>>>> ... 56 common frames omitted
> >>>>>>>
> >>>>>>> -----Original Message-----
> >>>>>>> From: Charles Givre <cg...@gmail.com>
> >>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
> >>>>>>> To: user@drill.apache.org
> >>>>>>> Subject: Re: Initial Oracle Setup
> >>>>>>>
> >>>>>>> One more thing...
> >>>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
> >>>>>>> Thanks,
> >>>>>>> -- C
> >>>>>>>
> >>>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
> >>>>>>>>
> >>>>>>>> Hi Chris,
> >>>>>>>>
> >>>>>>>> You put the JDBC driver in the 3rd party folder?
> >>>>>>>>
> >>>>>>>> You're right you might be onto something if you get the password
> >>>>>>>> failed message. Can you post the exact text (JSON) of the storage
> >>>>>>>> plugin config?
> >>>>>>>>
> >>>>>>>> -Rafael
> >>>>>>>>
> >>>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
> >>>>>>>> <ch...@cardconnect.com.invalid> wrote:
> >>>>>>>>>
> >>>>>>>>> Hey Everyone,
> >>>>>>>>>
> >>>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
> >>>>>>>>>
> >>>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
> >>>>>>>>>
> >>>>>>>>> Christopher Kane
> >>>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
> >>>>>>>>> ckane@clover.com<ma...@clover.com>,
> >>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
> >>>>>>>>> com>,
> >>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
> >>>>>>>>> c
> >>>>>>>>> o
> >>>>>>>>> m>,
> >>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fiserv.c
> >>>>>>>>> m>om
> >>>>>>>>> m>>
> >>>>>>>>>
> >>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>>>>>>
> >>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>>>>>
> >>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>>>>
> >>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>>>
> >>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>
>

Re: Initial Oracle Setup

Posted by Charles Givre <cg...@gmail.com>.
Rafael, 
I think what's happening here is that Drill isn't understanding the results that Oracle is returning, perhaps due to a data type that Drill doesn't recognize.  Chris, can you share the query?   Again, usually databases are super easy to set up with Drill so I'm surprised this is happening.
-- C



> On Jun 23, 2020, at 4:08 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
> 
> Ah thanks for the info on that.
> 
> Chris, I can't seem to recall seeing that error before. Sounds like it
> is a syntax issue perhaps? Note than ORACLE's SQL is a little
> different than ANSI SQL that Drill uses. For this case, you'd be using
> ANSI SQL and not the underlying ORACLE syntax. I believe Drill should
> do that translation for you if I'm not mistaken.
> 
> If you're using squirrel shell from an embedded instance, I would go
> through and list the schemas/tables and start with some really basic
> queries just to test connectivity.
> 
> - Rafael
> 
> On Tue, Jun 23, 2020 at 4:05 PM Charles Givre <cg...@gmail.com> wrote:
>> 
>> Are you able to query anything from the DB?  BTW... I'm really surprised by all of this. I've never tried Drill with Oracle, but I've used Drill with MySQL, Postgres and MSSQL and usually they're the easiest to work with.
>> --C
>> 
>> 
>>> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>> 
>>> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
>>> 
>>> I think the only thing I'm having an issue with now I think is related to this: https://issues.apache.org/jira/browse/CALCITE-3533 <https://issues.apache.org/jira/browse/CALCITE-3533>
>>> 
>>> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
>>> 
>>> -----Original Message-----
>>> From: Rafael Jaimes III <rafjaimes@gmail.com <ma...@gmail.com>>
>>> Sent: Tuesday, June 23, 2020 3:43 PM
>>> To: user@drill.apache.org <ma...@drill.apache.org>
>>> Subject: Re: Initial Oracle Setup
>>> 
>>> Glad you got it working with the new version regardless!
>>> 
>>> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>>>> 
>>>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>>>> 
>>>> -----Original Message-----
>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>> Sent: Tuesday, June 23, 2020 3:31 PM
>>>> To: user@drill.apache.org
>>>> Subject: RE: Initial Oracle Setup
>>>> 
>>>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>>>> 
>>>> -----Original Message-----
>>>> From: Charles Givre <cg...@gmail.com>
>>>> Sent: Tuesday, June 23, 2020 3:23 PM
>>>> To: user <us...@drill.apache.org>
>>>> Subject: Re: Initial Oracle Setup
>>>> 
>>>> It hasn't been released yet, so you'd have to d/l from github
>>>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apach
>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVq
>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v5
>>>> -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apach
>>>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVq
>>>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v5
>>>> -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from source.
>>>> If you can't do that, I have a pre-release here:
>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivre
>>>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DP
>>>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5
>>>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0&
>>>> e=
>>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivr
>>>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-D
>>>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM
>>>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0
>>>> &e= >
>>>> 
>>>> 
>>>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>> 
>>>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>>>> 
>>>>> -----Original Message-----
>>>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>>>> To: user@drill.apache.org
>>>>> Subject: RE: Initial Oracle Setup
>>>>> 
>>>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>>>> 
>>>>> -----Original Message-----
>>>>> From: Charles Givre <cg...@gmail.com>
>>>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>>>> To: user@drill.apache.org
>>>>> Subject: Re: Initial Oracle Setup
>>>>> 
>>>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>>>> 
>>>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>> 
>>>>>> On both the directory of drill and on startup I am running Apache
>>>>>> Drill 1.17.0
>>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: Charles Givre <cgivre@gmail.com <ma...@gmail.com>>
>>>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>>>> Subject: Re: Initial Oracle Setup
>>>>>> 
>>>>>> One more question.. what version of Drill are you using?
>>>>>> 
>>>>>> 
>>>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>>>> 
>>>>>>> Rafael
>>>>>>> -I did place it in the jars/3rdparty folder.
>>>>>>> 
>>>>>>> Storage Plugin Config:
>>>>>>> {
>>>>>>> "type": "jdbc",
>>>>>>> "enabled": true,
>>>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>>>> }
>>>>>>> (it's been modified to remove sensitive information)
>>>>>>> 
>>>>>>> Charles
>>>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>>>> 
>>>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/ update
>>>>>>> plugin: QA2 Oracle
>>>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
>>>>>>> Failure setting up new storage plugin configuration for config
>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>>>> at
>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Stora
>>>>>>> ge
>>>>>>> P
>>>>>>> l
>>>>>>> uginRegistryImpl.java:536) at
>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpda
>>>>>>> te
>>>>>>> (
>>>>>>> S
>>>>>>> toragePluginRegistryImpl.java:132)
>>>>>>> at
>>>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpda
>>>>>>> te
>>>>>>> I
>>>>>>> n
>>>>>>> Storage(PluginConfigWrapper.java:56)
>>>>>>> at
>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdateP
>>>>>>> lu
>>>>>>> g
>>>>>>> i
>>>>>>> nJSON(StorageResources.java:212) at
>>>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdateP
>>>>>>> lu
>>>>>>> g
>>>>>>> i
>>>>>>> n(StorageResources.java:233) at
>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Na
>>>>>>> ti
>>>>>>> v
>>>>>>> e
>>>>>>> Method) at
>>>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Nat
>>>>>>> iv
>>>>>>> e
>>>>>>> M
>>>>>>> ethodAccessorImpl.java:62) at
>>>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
>>>>>>> (D
>>>>>>> e
>>>>>>> l
>>>>>>> egatingMethodAccessorImpl.java:43)
>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocatio
>>>>>>> nH
>>>>>>> a
>>>>>>> n
>>>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:8
>>>>>>> 1)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>>>> ho
>>>>>>> d
>>>>>>> D
>>>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>>>> ho
>>>>>>> d
>>>>>>> D
>>>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispa
>>>>>>> tc
>>>>>>> h
>>>>>>> e
>>>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherPr
>>>>>>> ov
>>>>>>> i
>>>>>>> d
>>>>>>> er.java:205) at
>>>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>>>> ho
>>>>>>> d
>>>>>>> D
>>>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>>>>>> at
>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Res
>>>>>>> ou
>>>>>>> r
>>>>>>> c
>>>>>>> eMethodInvoker.java:389) at
>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Reso
>>>>>>> ur
>>>>>>> c
>>>>>>> e
>>>>>>> MethodInvoker.java:347) at
>>>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Reso
>>>>>>> ur
>>>>>>> c
>>>>>>> e
>>>>>>> MethodInvoker.java:102) at
>>>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java
>>>>>>> :3
>>>>>>> 2
>>>>>>> 6
>>>>>>> ) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>>>> at
>>>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Requ
>>>>>>> es
>>>>>>> t
>>>>>>> S
>>>>>>> cope.java:317) at
>>>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>>>> 3
>>>>>>> 05) at
>>>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationH
>>>>>>> an
>>>>>>> d
>>>>>>> l
>>>>>>> er.java:1154) at
>>>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent
>>>>>>> .j
>>>>>>> a
>>>>>>> v
>>>>>>> a:473) at
>>>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>>>> 4
>>>>>>> 2
>>>>>>> 7) at
>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>>>> in
>>>>>>> e
>>>>>>> r
>>>>>>> .java:388) at
>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>>>> in
>>>>>>> e
>>>>>>> r
>>>>>>> .java:341) at
>>>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>>>> in
>>>>>>> e
>>>>>>> r
>>>>>>> .java:228) at
>>>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>>>> 84
>>>>>>> 8
>>>>>>> )
>>>>>>> at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>>>> le
>>>>>>> t
>>>>>>> H
>>>>>>> andler.java:1780) at
>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter
>>>>>>> (C
>>>>>>> s
>>>>>>> r
>>>>>>> fTokenValidateFilter.java:55) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>>>> le
>>>>>>> t
>>>>>>> H
>>>>>>> andler.java:1767) at
>>>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(C
>>>>>>> sr
>>>>>>> f
>>>>>>> T
>>>>>>> okenInjectFilter.java:54) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>>>> le
>>>>>>> t
>>>>>>> H
>>>>>>> andler.java:1767) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>>>> 583) at
>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHa
>>>>>>> nd
>>>>>>> l
>>>>>>> e
>>>>>>> r.java:224) at
>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHa
>>>>>>> nd
>>>>>>> l
>>>>>>> e
>>>>>>> r.java:1180) at
>>>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>>>> 5
>>>>>>> 13) at
>>>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHan
>>>>>>> dl
>>>>>>> e
>>>>>>> r
>>>>>>> .java:185) at
>>>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHan
>>>>>>> dl
>>>>>>> e
>>>>>>> r
>>>>>>> .java:1112) at
>>>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>>>> j
>>>>>>> a
>>>>>>> va:141) at
>>>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>>>> java:134) at
>>>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>>>> at
>>>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>>>>>> at
>>>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>>>> ja
>>>>>>> v
>>>>>>> a
>>>>>>> :251) at
>>>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abs
>>>>>>> tr
>>>>>>> a
>>>>>>> c
>>>>>>> tConnection.java:283) at
>>>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>>>>>> at
>>>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndP
>>>>>>> oi
>>>>>>> n
>>>>>>> t
>>>>>>> .java:93) at
>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execu
>>>>>>> te
>>>>>>> P
>>>>>>> r
>>>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>>>> at
>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produ
>>>>>>> ce
>>>>>>> C
>>>>>>> o
>>>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>>>> at
>>>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(E
>>>>>>> xe
>>>>>>> c
>>>>>>> u
>>>>>>> teProduceConsume.java:136) at
>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThread
>>>>>>> Po
>>>>>>> o
>>>>>>> l
>>>>>>> .java:671) at
>>>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>>>> at
>>>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
>>>>>>> ja
>>>>>>> v
>>>>>>> a
>>>>>>> :78) at
>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConvert
>>>>>>> er
>>>>>>> R
>>>>>>> u
>>>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>>>> at
>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConven
>>>>>>> ti
>>>>>>> o
>>>>>>> n
>>>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>>>> at
>>>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStor
>>>>>>> ag
>>>>>>> e
>>>>>>> P
>>>>>>> lugin.java:103) at
>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newIn
>>>>>>> st
>>>>>>> a
>>>>>>> n
>>>>>>> ce0(Native Method) at
>>>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newIn
>>>>>>> st
>>>>>>> a
>>>>>>> n
>>>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>>>> at
>>>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.n
>>>>>>> ew
>>>>>>> I
>>>>>>> n
>>>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>>>> at
>>>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Cons
>>>>>>> tr
>>>>>>> u
>>>>>>> c
>>>>>>> tor.java:500) at
>>>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>>>> 4
>>>>>>> 81) at
>>>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Stora
>>>>>>> ge
>>>>>>> P
>>>>>>> l
>>>>>>> uginRegistryImpl.java:528)
>>>>>>> ... 56 common frames omitted
>>>>>>> 
>>>>>>> -----Original Message-----
>>>>>>> From: Charles Givre <cg...@gmail.com>
>>>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>>>> To: user@drill.apache.org
>>>>>>> Subject: Re: Initial Oracle Setup
>>>>>>> 
>>>>>>> One more thing...
>>>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>>>> Thanks,
>>>>>>> -- C
>>>>>>> 
>>>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>>>> 
>>>>>>>> Hi Chris,
>>>>>>>> 
>>>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>>>> 
>>>>>>>> You're right you might be onto something if you get the password
>>>>>>>> failed message. Can you post the exact text (JSON) of the storage
>>>>>>>> plugin config?
>>>>>>>> 
>>>>>>>> -Rafael
>>>>>>>> 
>>>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>>>> 
>>>>>>>>> Hey Everyone,
>>>>>>>>> 
>>>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>>>> 
>>>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>>>> 
>>>>>>>>> Christopher Kane
>>>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>>>> com>,
>>>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>>>> c
>>>>>>>>> o
>>>>>>>>> m>,
>>>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fiserv.c
>>>>>>>>> m>om
>>>>>>>>> m>>
>>>>>>>>> 
>>>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>>> 
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>>> 
>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>> 
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>> 
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> 


Re: Initial Oracle Setup

Posted by Rafael Jaimes III <ra...@gmail.com>.
Ah thanks for the info on that.

Chris, I can't seem to recall seeing that error before. Sounds like it
is a syntax issue perhaps? Note than ORACLE's SQL is a little
different than ANSI SQL that Drill uses. For this case, you'd be using
ANSI SQL and not the underlying ORACLE syntax. I believe Drill should
do that translation for you if I'm not mistaken.

If you're using squirrel shell from an embedded instance, I would go
through and list the schemas/tables and start with some really basic
queries just to test connectivity.

- Rafael

On Tue, Jun 23, 2020 at 4:05 PM Charles Givre <cg...@gmail.com> wrote:
>
> Are you able to query anything from the DB?  BTW... I'm really surprised by all of this. I've never tried Drill with Oracle, but I've used Drill with MySQL, Postgres and MSSQL and usually they're the easiest to work with.
> --C
>
>
> > On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >
> > Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
> >
> > I think the only thing I'm having an issue with now I think is related to this: https://issues.apache.org/jira/browse/CALCITE-3533 <https://issues.apache.org/jira/browse/CALCITE-3533>
> >
> > Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
> >
> > -----Original Message-----
> > From: Rafael Jaimes III <rafjaimes@gmail.com <ma...@gmail.com>>
> > Sent: Tuesday, June 23, 2020 3:43 PM
> > To: user@drill.apache.org <ma...@drill.apache.org>
> > Subject: Re: Initial Oracle Setup
> >
> > Glad you got it working with the new version regardless!
> >
> > On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
> >>
> >> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
> >>
> >> -----Original Message-----
> >> From: Christopher Kane <ch...@cardconnect.com.INVALID>
> >> Sent: Tuesday, June 23, 2020 3:31 PM
> >> To: user@drill.apache.org
> >> Subject: RE: Initial Oracle Setup
> >>
> >> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
> >>
> >> -----Original Message-----
> >> From: Charles Givre <cg...@gmail.com>
> >> Sent: Tuesday, June 23, 2020 3:23 PM
> >> To: user <us...@drill.apache.org>
> >> Subject: Re: Initial Oracle Setup
> >>
> >> It hasn't been released yet, so you'd have to d/l from github
> >> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apach
> >> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVq
> >> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v5
> >> -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
> >> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apach
> >> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVq
> >> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v5
> >> -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from source.
> >> If you can't do that, I have a pre-release here:
> >> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivre
> >> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DP
> >> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5
> >> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0&
> >> e=
> >> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivr
> >> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-D
> >> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM
> >> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0
> >> &e= >
> >>
> >>
> >>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >>>
> >>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
> >>>
> >>> -----Original Message-----
> >>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
> >>> Sent: Tuesday, June 23, 2020 3:14 PM
> >>> To: user@drill.apache.org
> >>> Subject: RE: Initial Oracle Setup
> >>>
> >>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
> >>>
> >>> -----Original Message-----
> >>> From: Charles Givre <cg...@gmail.com>
> >>> Sent: Tuesday, June 23, 2020 3:11 PM
> >>> To: user@drill.apache.org
> >>> Subject: Re: Initial Oracle Setup
> >>>
> >>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
> >>>
> >>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >>>>
> >>>> On both the directory of drill and on startup I am running Apache
> >>>> Drill 1.17.0
> >>>>
> >>>> -----Original Message-----
> >>>> From: Charles Givre <cgivre@gmail.com <ma...@gmail.com>>
> >>>> Sent: Tuesday, June 23, 2020 3:03 PM
> >>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
> >>>> Subject: Re: Initial Oracle Setup
> >>>>
> >>>> One more question.. what version of Drill are you using?
> >>>>
> >>>>
> >>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >>>>>
> >>>>> Rafael
> >>>>> -I did place it in the jars/3rdparty folder.
> >>>>>
> >>>>> Storage Plugin Config:
> >>>>> {
> >>>>> "type": "jdbc",
> >>>>> "enabled": true,
> >>>>> "driver": "oracle.jdbc.driver.OracleDriver",
> >>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
> >>>>> }
> >>>>> (it's been modified to remove sensitive information)
> >>>>>
> >>>>> Charles
> >>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
> >>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
> >>>>>
> >>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
> >>>>> o.a.d.e.server.rest.StorageResources - Unable to create/ update
> >>>>> plugin: QA2 Oracle
> >>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
> >>>>> Failure setting up new storage plugin configuration for config
> >>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
> >>>>> at
> >>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Stora
> >>>>> ge
> >>>>> P
> >>>>> l
> >>>>> uginRegistryImpl.java:536) at
> >>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpda
> >>>>> te
> >>>>> (
> >>>>> S
> >>>>> toragePluginRegistryImpl.java:132)
> >>>>> at
> >>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpda
> >>>>> te
> >>>>> I
> >>>>> n
> >>>>> Storage(PluginConfigWrapper.java:56)
> >>>>> at
> >>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdateP
> >>>>> lu
> >>>>> g
> >>>>> i
> >>>>> nJSON(StorageResources.java:212) at
> >>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdateP
> >>>>> lu
> >>>>> g
> >>>>> i
> >>>>> n(StorageResources.java:233) at
> >>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Na
> >>>>> ti
> >>>>> v
> >>>>> e
> >>>>> Method) at
> >>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Nat
> >>>>> iv
> >>>>> e
> >>>>> M
> >>>>> ethodAccessorImpl.java:62) at
> >>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
> >>>>> (D
> >>>>> e
> >>>>> l
> >>>>> egatingMethodAccessorImpl.java:43)
> >>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
> >>>>> at
> >>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocatio
> >>>>> nH
> >>>>> a
> >>>>> n
> >>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:8
> >>>>> 1)
> >>>>> at
> >>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
> >>>>> ho
> >>>>> d
> >>>>> D
> >>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
> >>>>> at
> >>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
> >>>>> ho
> >>>>> d
> >>>>> D
> >>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
> >>>>> at
> >>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispa
> >>>>> tc
> >>>>> h
> >>>>> e
> >>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherPr
> >>>>> ov
> >>>>> i
> >>>>> d
> >>>>> er.java:205) at
> >>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
> >>>>> ho
> >>>>> d
> >>>>> D
> >>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
> >>>>> at
> >>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Res
> >>>>> ou
> >>>>> r
> >>>>> c
> >>>>> eMethodInvoker.java:389) at
> >>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Reso
> >>>>> ur
> >>>>> c
> >>>>> e
> >>>>> MethodInvoker.java:347) at
> >>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Reso
> >>>>> ur
> >>>>> c
> >>>>> e
> >>>>> MethodInvoker.java:102) at
> >>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java
> >>>>> :3
> >>>>> 2
> >>>>> 6
> >>>>> ) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
> >>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
> >>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
> >>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
> >>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
> >>>>> at
> >>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Requ
> >>>>> es
> >>>>> t
> >>>>> S
> >>>>> cope.java:317) at
> >>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
> >>>>> 3
> >>>>> 05) at
> >>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationH
> >>>>> an
> >>>>> d
> >>>>> l
> >>>>> er.java:1154) at
> >>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent
> >>>>> .j
> >>>>> a
> >>>>> v
> >>>>> a:473) at
> >>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
> >>>>> 4
> >>>>> 2
> >>>>> 7) at
> >>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
> >>>>> in
> >>>>> e
> >>>>> r
> >>>>> .java:388) at
> >>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
> >>>>> in
> >>>>> e
> >>>>> r
> >>>>> .java:341) at
> >>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
> >>>>> in
> >>>>> e
> >>>>> r
> >>>>> .java:228) at
> >>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
> >>>>> 84
> >>>>> 8
> >>>>> )
> >>>>> at
> >>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
> >>>>> le
> >>>>> t
> >>>>> H
> >>>>> andler.java:1780) at
> >>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter
> >>>>> (C
> >>>>> s
> >>>>> r
> >>>>> fTokenValidateFilter.java:55) at
> >>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
> >>>>> le
> >>>>> t
> >>>>> H
> >>>>> andler.java:1767) at
> >>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(C
> >>>>> sr
> >>>>> f
> >>>>> T
> >>>>> okenInjectFilter.java:54) at
> >>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
> >>>>> le
> >>>>> t
> >>>>> H
> >>>>> andler.java:1767) at
> >>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> >>>>> 583) at
> >>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHa
> >>>>> nd
> >>>>> l
> >>>>> e
> >>>>> r.java:224) at
> >>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHa
> >>>>> nd
> >>>>> l
> >>>>> e
> >>>>> r.java:1180) at
> >>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
> >>>>> 5
> >>>>> 13) at
> >>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHan
> >>>>> dl
> >>>>> e
> >>>>> r
> >>>>> .java:185) at
> >>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHan
> >>>>> dl
> >>>>> e
> >>>>> r
> >>>>> .java:1112) at
> >>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
> >>>>> j
> >>>>> a
> >>>>> va:141) at
> >>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> >>>>> java:134) at
> >>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
> >>>>> at
> >>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
> >>>>> at
> >>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
> >>>>> ja
> >>>>> v
> >>>>> a
> >>>>> :251) at
> >>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abs
> >>>>> tr
> >>>>> a
> >>>>> c
> >>>>> tConnection.java:283) at
> >>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
> >>>>> at
> >>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndP
> >>>>> oi
> >>>>> n
> >>>>> t
> >>>>> .java:93) at
> >>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execu
> >>>>> te
> >>>>> P
> >>>>> r
> >>>>> oduceConsume(ExecuteProduceConsume.java:303)
> >>>>> at
> >>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produ
> >>>>> ce
> >>>>> C
> >>>>> o
> >>>>> nsume(ExecuteProduceConsume.java:148)
> >>>>> at
> >>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(E
> >>>>> xe
> >>>>> c
> >>>>> u
> >>>>> teProduceConsume.java:136) at
> >>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThread
> >>>>> Po
> >>>>> o
> >>>>> l
> >>>>> .java:671) at
> >>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
> >>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
> >>>>> Caused by: java.lang.RuntimeException: Rule description
> >>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
> >>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
> >>>>> at
> >>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
> >>>>> ja
> >>>>> v
> >>>>> a
> >>>>> :78) at
> >>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConvert
> >>>>> er
> >>>>> R
> >>>>> u
> >>>>> le.<init>(JdbcStoragePlugin.java:224)
> >>>>> at
> >>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConven
> >>>>> ti
> >>>>> o
> >>>>> n
> >>>>> .<init>(JdbcStoragePlugin.java:119)
> >>>>> at
> >>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStor
> >>>>> ag
> >>>>> e
> >>>>> P
> >>>>> lugin.java:103) at
> >>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newIn
> >>>>> st
> >>>>> a
> >>>>> n
> >>>>> ce0(Native Method) at
> >>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newIn
> >>>>> st
> >>>>> a
> >>>>> n
> >>>>> ce(NativeConstructorAccessorImpl.java:62)
> >>>>> at
> >>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.n
> >>>>> ew
> >>>>> I
> >>>>> n
> >>>>> stance(DelegatingConstructorAccessorImpl.java:45)
> >>>>> at
> >>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Cons
> >>>>> tr
> >>>>> u
> >>>>> c
> >>>>> tor.java:500) at
> >>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
> >>>>> 4
> >>>>> 81) at
> >>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Stora
> >>>>> ge
> >>>>> P
> >>>>> l
> >>>>> uginRegistryImpl.java:528)
> >>>>> ... 56 common frames omitted
> >>>>>
> >>>>> -----Original Message-----
> >>>>> From: Charles Givre <cg...@gmail.com>
> >>>>> Sent: Tuesday, June 23, 2020 2:51 PM
> >>>>> To: user@drill.apache.org
> >>>>> Subject: Re: Initial Oracle Setup
> >>>>>
> >>>>> One more thing...
> >>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
> >>>>> Thanks,
> >>>>> -- C
> >>>>>
> >>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
> >>>>>>
> >>>>>> Hi Chris,
> >>>>>>
> >>>>>> You put the JDBC driver in the 3rd party folder?
> >>>>>>
> >>>>>> You're right you might be onto something if you get the password
> >>>>>> failed message. Can you post the exact text (JSON) of the storage
> >>>>>> plugin config?
> >>>>>>
> >>>>>> -Rafael
> >>>>>>
> >>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
> >>>>>> <ch...@cardconnect.com.invalid> wrote:
> >>>>>>>
> >>>>>>> Hey Everyone,
> >>>>>>>
> >>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
> >>>>>>>
> >>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
> >>>>>>>
> >>>>>>> Christopher Kane
> >>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
> >>>>>>> ckane@clover.com<ma...@clover.com>,
> >>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
> >>>>>>> com>,
> >>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
> >>>>>>> c
> >>>>>>> o
> >>>>>>> m>,
> >>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fiserv.c
> >>>>>>> m>om
> >>>>>>> m>>
> >>>>>>>
> >>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>>>>
> >>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>>>
> >>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>>
> >>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>
> >> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> > THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>

Re: Initial Oracle Setup

Posted by Charles Givre <cg...@gmail.com>.
Are you able to query anything from the DB?  BTW... I'm really surprised by all of this. I've never tried Drill with Oracle, but I've used Drill with MySQL, Postgres and MSSQL and usually they're the easiest to work with. 
--C


> On Jun 23, 2020, at 3:58 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> 
> Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.
> 
> I think the only thing I'm having an issue with now I think is related to this: https://issues.apache.org/jira/browse/CALCITE-3533 <https://issues.apache.org/jira/browse/CALCITE-3533>
> 
> Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?
> 
> -----Original Message-----
> From: Rafael Jaimes III <rafjaimes@gmail.com <ma...@gmail.com>>
> Sent: Tuesday, June 23, 2020 3:43 PM
> To: user@drill.apache.org <ma...@drill.apache.org>
> Subject: Re: Initial Oracle Setup
> 
> Glad you got it working with the new version regardless!
> 
> On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>> 
>> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>> 
>> -----Original Message-----
>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>> Sent: Tuesday, June 23, 2020 3:31 PM
>> To: user@drill.apache.org
>> Subject: RE: Initial Oracle Setup
>> 
>> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>> 
>> -----Original Message-----
>> From: Charles Givre <cg...@gmail.com>
>> Sent: Tuesday, June 23, 2020 3:23 PM
>> To: user <us...@drill.apache.org>
>> Subject: Re: Initial Oracle Setup
>> 
>> It hasn't been released yet, so you'd have to d/l from github
>> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apach
>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVq
>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v5
>> -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apach
>> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVq
>> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v5
>> -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from source.
>> If you can't do that, I have a pre-release here:
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivre
>> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DP
>> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5
>> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0&
>> e=
>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivr
>> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-D
>> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM
>> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0
>> &e= >
>> 
>> 
>>> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>> 
>>> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>>> 
>>> -----Original Message-----
>>> From: Christopher Kane <ch...@cardconnect.com.INVALID>
>>> Sent: Tuesday, June 23, 2020 3:14 PM
>>> To: user@drill.apache.org
>>> Subject: RE: Initial Oracle Setup
>>> 
>>> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>>> 
>>> -----Original Message-----
>>> From: Charles Givre <cg...@gmail.com>
>>> Sent: Tuesday, June 23, 2020 3:11 PM
>>> To: user@drill.apache.org
>>> Subject: Re: Initial Oracle Setup
>>> 
>>> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>>> 
>>>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>> 
>>>> On both the directory of drill and on startup I am running Apache
>>>> Drill 1.17.0
>>>> 
>>>> -----Original Message-----
>>>> From: Charles Givre <cgivre@gmail.com <ma...@gmail.com>>
>>>> Sent: Tuesday, June 23, 2020 3:03 PM
>>>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>>>> Subject: Re: Initial Oracle Setup
>>>> 
>>>> One more question.. what version of Drill are you using?
>>>> 
>>>> 
>>>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>>> 
>>>>> Rafael
>>>>> -I did place it in the jars/3rdparty folder.
>>>>> 
>>>>> Storage Plugin Config:
>>>>> {
>>>>> "type": "jdbc",
>>>>> "enabled": true,
>>>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>>>> }
>>>>> (it's been modified to remove sensitive information)
>>>>> 
>>>>> Charles
>>>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>>> 
>>>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>>>> o.a.d.e.server.rest.StorageResources - Unable to create/ update
>>>>> plugin: QA2 Oracle
>>>>> org.apache.drill.common.exceptions.ExecutionSetupException:
>>>>> Failure setting up new storage plugin configuration for config
>>>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>>>> at
>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Stora
>>>>> ge
>>>>> P
>>>>> l
>>>>> uginRegistryImpl.java:536) at
>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpda
>>>>> te
>>>>> (
>>>>> S
>>>>> toragePluginRegistryImpl.java:132)
>>>>> at
>>>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpda
>>>>> te
>>>>> I
>>>>> n
>>>>> Storage(PluginConfigWrapper.java:56)
>>>>> at
>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdateP
>>>>> lu
>>>>> g
>>>>> i
>>>>> nJSON(StorageResources.java:212) at
>>>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdateP
>>>>> lu
>>>>> g
>>>>> i
>>>>> n(StorageResources.java:233) at
>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Na
>>>>> ti
>>>>> v
>>>>> e
>>>>> Method) at
>>>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Nat
>>>>> iv
>>>>> e
>>>>> M
>>>>> ethodAccessorImpl.java:62) at
>>>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
>>>>> (D
>>>>> e
>>>>> l
>>>>> egatingMethodAccessorImpl.java:43)
>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocatio
>>>>> nH
>>>>> a
>>>>> n
>>>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:8
>>>>> 1)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>> ho
>>>>> d
>>>>> D
>>>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>> ho
>>>>> d
>>>>> D
>>>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>>>> at
>>>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispa
>>>>> tc
>>>>> h
>>>>> e
>>>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherPr
>>>>> ov
>>>>> i
>>>>> d
>>>>> er.java:205) at
>>>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
>>>>> ho
>>>>> d
>>>>> D
>>>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>>>> at
>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Res
>>>>> ou
>>>>> r
>>>>> c
>>>>> eMethodInvoker.java:389) at
>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Reso
>>>>> ur
>>>>> c
>>>>> e
>>>>> MethodInvoker.java:347) at
>>>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Reso
>>>>> ur
>>>>> c
>>>>> e
>>>>> MethodInvoker.java:102) at
>>>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java
>>>>> :3
>>>>> 2
>>>>> 6
>>>>> ) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>>>> at
>>>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Requ
>>>>> es
>>>>> t
>>>>> S
>>>>> cope.java:317) at
>>>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>>>> 3
>>>>> 05) at
>>>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationH
>>>>> an
>>>>> d
>>>>> l
>>>>> er.java:1154) at
>>>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent
>>>>> .j
>>>>> a
>>>>> v
>>>>> a:473) at
>>>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>>>> 4
>>>>> 2
>>>>> 7) at
>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>> in
>>>>> e
>>>>> r
>>>>> .java:388) at
>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>> in
>>>>> e
>>>>> r
>>>>> .java:341) at
>>>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
>>>>> in
>>>>> e
>>>>> r
>>>>> .java:228) at
>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
>>>>> 84
>>>>> 8
>>>>> )
>>>>> at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>> le
>>>>> t
>>>>> H
>>>>> andler.java:1780) at
>>>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter
>>>>> (C
>>>>> s
>>>>> r
>>>>> fTokenValidateFilter.java:55) at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>> le
>>>>> t
>>>>> H
>>>>> andler.java:1767) at
>>>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(C
>>>>> sr
>>>>> f
>>>>> T
>>>>> okenInjectFilter.java:54) at
>>>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
>>>>> le
>>>>> t
>>>>> H
>>>>> andler.java:1767) at
>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>>>> 583) at
>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHa
>>>>> nd
>>>>> l
>>>>> e
>>>>> r.java:224) at
>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHa
>>>>> nd
>>>>> l
>>>>> e
>>>>> r.java:1180) at
>>>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>>>> 5
>>>>> 13) at
>>>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHan
>>>>> dl
>>>>> e
>>>>> r
>>>>> .java:185) at
>>>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHan
>>>>> dl
>>>>> e
>>>>> r
>>>>> .java:1112) at
>>>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>>>> j
>>>>> a
>>>>> va:141) at
>>>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>>>> java:134) at
>>>>> org.eclipse.jetty.server.Server.handle(Server.java:539)
>>>>> at
>>>>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>>>> at
>>>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
>>>>> ja
>>>>> v
>>>>> a
>>>>> :251) at
>>>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abs
>>>>> tr
>>>>> a
>>>>> c
>>>>> tConnection.java:283) at
>>>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>>>> at
>>>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndP
>>>>> oi
>>>>> n
>>>>> t
>>>>> .java:93) at
>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execu
>>>>> te
>>>>> P
>>>>> r
>>>>> oduceConsume(ExecuteProduceConsume.java:303)
>>>>> at
>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produ
>>>>> ce
>>>>> C
>>>>> o
>>>>> nsume(ExecuteProduceConsume.java:148)
>>>>> at
>>>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(E
>>>>> xe
>>>>> c
>>>>> u
>>>>> teProduceConsume.java:136) at
>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThread
>>>>> Po
>>>>> o
>>>>> l
>>>>> .java:671) at
>>>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>>>> Caused by: java.lang.RuntimeException: Rule description
>>>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>>>> at
>>>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
>>>>> ja
>>>>> v
>>>>> a
>>>>> :78) at
>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConvert
>>>>> er
>>>>> R
>>>>> u
>>>>> le.<init>(JdbcStoragePlugin.java:224)
>>>>> at
>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConven
>>>>> ti
>>>>> o
>>>>> n
>>>>> .<init>(JdbcStoragePlugin.java:119)
>>>>> at
>>>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStor
>>>>> ag
>>>>> e
>>>>> P
>>>>> lugin.java:103) at
>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newIn
>>>>> st
>>>>> a
>>>>> n
>>>>> ce0(Native Method) at
>>>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newIn
>>>>> st
>>>>> a
>>>>> n
>>>>> ce(NativeConstructorAccessorImpl.java:62)
>>>>> at
>>>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.n
>>>>> ew
>>>>> I
>>>>> n
>>>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>>>> at
>>>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Cons
>>>>> tr
>>>>> u
>>>>> c
>>>>> tor.java:500) at
>>>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>>>> 4
>>>>> 81) at
>>>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Stora
>>>>> ge
>>>>> P
>>>>> l
>>>>> uginRegistryImpl.java:528)
>>>>> ... 56 common frames omitted
>>>>> 
>>>>> -----Original Message-----
>>>>> From: Charles Givre <cg...@gmail.com>
>>>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>>>> To: user@drill.apache.org
>>>>> Subject: Re: Initial Oracle Setup
>>>>> 
>>>>> One more thing...
>>>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>>>> Thanks,
>>>>> -- C
>>>>> 
>>>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>>> 
>>>>>> Hi Chris,
>>>>>> 
>>>>>> You put the JDBC driver in the 3rd party folder?
>>>>>> 
>>>>>> You're right you might be onto something if you get the password
>>>>>> failed message. Can you post the exact text (JSON) of the storage
>>>>>> plugin config?
>>>>>> 
>>>>>> -Rafael
>>>>>> 
>>>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>>> 
>>>>>>> Hey Everyone,
>>>>>>> 
>>>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>>> 
>>>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>>> 
>>>>>>> Christopher Kane
>>>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>>>> ckane@clover.com<ma...@clover.com>,
>>>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>>>> com>,
>>>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>>>> c
>>>>>>> o
>>>>>>> m>,
>>>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fiserv.c
>>>>>>> m>om
>>>>>>> m>>
>>>>>>> 
>>>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>>> 
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>> 
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>> 
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> 
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.


RE: Initial Oracle Setup

Posted by Christopher Kane <ch...@cardconnect.com.INVALID>.
Yes thank you! To your point about using 1.17, I could always take the config from 1.18 and copy it over and see if that fixes my issue.

 I think the only thing I'm having an issue with now I think is related to this: https://issues.apache.org/jira/browse/CALCITE-3533

Everything appears to be setup now but when executing a query for the data source I setup, I receive org.apache.drill.common.exceptions.UserRemoteException: VALIDATION ERROR: Unknown SQL type -101. Any suggestions there?

-----Original Message-----
From: Rafael Jaimes III <ra...@gmail.com>
Sent: Tuesday, June 23, 2020 3:43 PM
To: user@drill.apache.org
Subject: Re: Initial Oracle Setup

Glad you got it working with the new version regardless!

On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane <ch...@cardconnect.com.invalid> wrote:
>
> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>
> -----Original Message-----
> From: Christopher Kane <ch...@cardconnect.com.INVALID>
> Sent: Tuesday, June 23, 2020 3:31 PM
> To: user@drill.apache.org
> Subject: RE: Initial Oracle Setup
>
> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Tuesday, June 23, 2020 3:23 PM
> To: user <us...@drill.apache.org>
> Subject: Re: Initial Oracle Setup
>
> It hasn't been released yet, so you'd have to d/l from github
> (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apach
> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVq
> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v5
> -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apach
> e_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVq
> BXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v5
> -xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from source.
> If you can't do that, I have a pre-release here:
> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivre
> _drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DP
> w&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5
> zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0&
> e=
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivr
> e_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-D
> Pw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM
> 5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0
> &e= >
>
>
> > On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >
> > You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
> >
> > -----Original Message-----
> > From: Christopher Kane <ch...@cardconnect.com.INVALID>
> > Sent: Tuesday, June 23, 2020 3:14 PM
> > To: user@drill.apache.org
> > Subject: RE: Initial Oracle Setup
> >
> > I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
> >
> > -----Original Message-----
> > From: Charles Givre <cg...@gmail.com>
> > Sent: Tuesday, June 23, 2020 3:11 PM
> > To: user@drill.apache.org
> > Subject: Re: Initial Oracle Setup
> >
> > Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
> >
> >> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >>
> >> On both the directory of drill and on startup I am running Apache
> >> Drill 1.17.0
> >>
> >> -----Original Message-----
> >> From: Charles Givre <cgivre@gmail.com <ma...@gmail.com>>
> >> Sent: Tuesday, June 23, 2020 3:03 PM
> >> To: user <user@drill.apache.org <ma...@drill.apache.org>>
> >> Subject: Re: Initial Oracle Setup
> >>
> >> One more question.. what version of Drill are you using?
> >>
> >>
> >>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >>>
> >>> Rafael
> >>> -I did place it in the jars/3rdparty folder.
> >>>
> >>> Storage Plugin Config:
> >>> {
> >>> "type": "jdbc",
> >>> "enabled": true,
> >>> "driver": "oracle.jdbc.driver.OracleDriver",
> >>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
> >>> }
> >>> (it's been modified to remove sensitive information)
> >>>
> >>> Charles
> >>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
> >>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
> >>>
> >>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
> >>> o.a.d.e.server.rest.StorageResources - Unable to create/ update
> >>> plugin: QA2 Oracle
> >>> org.apache.drill.common.exceptions.ExecutionSetupException:
> >>> Failure setting up new storage plugin configuration for config
> >>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
> >>> at
> >>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Stora
> >>> ge
> >>> P
> >>> l
> >>> uginRegistryImpl.java:536) at
> >>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpda
> >>> te
> >>> (
> >>> S
> >>> toragePluginRegistryImpl.java:132)
> >>> at
> >>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpda
> >>> te
> >>> I
> >>> n
> >>> Storage(PluginConfigWrapper.java:56)
> >>> at
> >>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdateP
> >>> lu
> >>> g
> >>> i
> >>> nJSON(StorageResources.java:212) at
> >>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdateP
> >>> lu
> >>> g
> >>> i
> >>> n(StorageResources.java:233) at
> >>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Na
> >>> ti
> >>> v
> >>> e
> >>> Method) at
> >>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Nat
> >>> iv
> >>> e
> >>> M
> >>> ethodAccessorImpl.java:62) at
> >>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
> >>> (D
> >>> e
> >>> l
> >>> egatingMethodAccessorImpl.java:43)
> >>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
> >>> at
> >>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocatio
> >>> nH
> >>> a
> >>> n
> >>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:8
> >>> 1)
> >>> at
> >>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
> >>> ho
> >>> d
> >>> D
> >>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
> >>> at
> >>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
> >>> ho
> >>> d
> >>> D
> >>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
> >>> at
> >>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispa
> >>> tc
> >>> h
> >>> e
> >>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherPr
> >>> ov
> >>> i
> >>> d
> >>> er.java:205) at
> >>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMet
> >>> ho
> >>> d
> >>> D
> >>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
> >>> at
> >>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Res
> >>> ou
> >>> r
> >>> c
> >>> eMethodInvoker.java:389) at
> >>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Reso
> >>> ur
> >>> c
> >>> e
> >>> MethodInvoker.java:347) at
> >>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Reso
> >>> ur
> >>> c
> >>> e
> >>> MethodInvoker.java:102) at
> >>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java
> >>> :3
> >>> 2
> >>> 6
> >>> ) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
> >>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
> >>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
> >>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
> >>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
> >>> at
> >>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Requ
> >>> es
> >>> t
> >>> S
> >>> cope.java:317) at
> >>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
> >>> 3
> >>> 05) at
> >>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationH
> >>> an
> >>> d
> >>> l
> >>> er.java:1154) at
> >>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent
> >>> .j
> >>> a
> >>> v
> >>> a:473) at
> >>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
> >>> 4
> >>> 2
> >>> 7) at
> >>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
> >>> in
> >>> e
> >>> r
> >>> .java:388) at
> >>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
> >>> in
> >>> e
> >>> r
> >>> .java:341) at
> >>> org.glassfish.jersey.servlet.ServletContainer.service(ServletConta
> >>> in
> >>> e
> >>> r
> >>> .java:228) at
> >>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
> >>> 84
> >>> 8
> >>> )
> >>> at
> >>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
> >>> le
> >>> t
> >>> H
> >>> andler.java:1780) at
> >>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter
> >>> (C
> >>> s
> >>> r
> >>> fTokenValidateFilter.java:55) at
> >>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
> >>> le
> >>> t
> >>> H
> >>> andler.java:1767) at
> >>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(C
> >>> sr
> >>> f
> >>> T
> >>> okenInjectFilter.java:54) at
> >>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Serv
> >>> le
> >>> t
> >>> H
> >>> andler.java:1767) at
> >>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> >>> 583) at
> >>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHa
> >>> nd
> >>> l
> >>> e
> >>> r.java:224) at
> >>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHa
> >>> nd
> >>> l
> >>> e
> >>> r.java:1180) at
> >>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
> >>> 5
> >>> 13) at
> >>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHan
> >>> dl
> >>> e
> >>> r
> >>> .java:185) at
> >>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHan
> >>> dl
> >>> e
> >>> r
> >>> .java:1112) at
> >>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
> >>> j
> >>> a
> >>> va:141) at
> >>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> >>> java:134) at
> >>> org.eclipse.jetty.server.Server.handle(Server.java:539)
> >>> at
> >>> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
> >>> at
> >>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.
> >>> ja
> >>> v
> >>> a
> >>> :251) at
> >>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abs
> >>> tr
> >>> a
> >>> c
> >>> tConnection.java:283) at
> >>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
> >>> at
> >>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndP
> >>> oi
> >>> n
> >>> t
> >>> .java:93) at
> >>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execu
> >>> te
> >>> P
> >>> r
> >>> oduceConsume(ExecuteProduceConsume.java:303)
> >>> at
> >>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produ
> >>> ce
> >>> C
> >>> o
> >>> nsume(ExecuteProduceConsume.java:148)
> >>> at
> >>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(E
> >>> xe
> >>> c
> >>> u
> >>> teProduceConsume.java:136) at
> >>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThread
> >>> Po
> >>> o
> >>> l
> >>> .java:671) at
> >>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
> >>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
> >>> Caused by: java.lang.RuntimeException: Rule description
> >>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
> >>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
> >>> at
> >>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.
> >>> ja
> >>> v
> >>> a
> >>> :78) at
> >>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConvert
> >>> er
> >>> R
> >>> u
> >>> le.<init>(JdbcStoragePlugin.java:224)
> >>> at
> >>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConven
> >>> ti
> >>> o
> >>> n
> >>> .<init>(JdbcStoragePlugin.java:119)
> >>> at
> >>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStor
> >>> ag
> >>> e
> >>> P
> >>> lugin.java:103) at
> >>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newIn
> >>> st
> >>> a
> >>> n
> >>> ce0(Native Method) at
> >>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newIn
> >>> st
> >>> a
> >>> n
> >>> ce(NativeConstructorAccessorImpl.java:62)
> >>> at
> >>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.n
> >>> ew
> >>> I
> >>> n
> >>> stance(DelegatingConstructorAccessorImpl.java:45)
> >>> at
> >>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Cons
> >>> tr
> >>> u
> >>> c
> >>> tor.java:500) at
> >>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
> >>> 4
> >>> 81) at
> >>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Stora
> >>> ge
> >>> P
> >>> l
> >>> uginRegistryImpl.java:528)
> >>> ... 56 common frames omitted
> >>>
> >>> -----Original Message-----
> >>> From: Charles Givre <cg...@gmail.com>
> >>> Sent: Tuesday, June 23, 2020 2:51 PM
> >>> To: user@drill.apache.org
> >>> Subject: Re: Initial Oracle Setup
> >>>
> >>> One more thing...
> >>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
> >>> Thanks,
> >>> -- C
> >>>
> >>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
> >>>>
> >>>> Hi Chris,
> >>>>
> >>>> You put the JDBC driver in the 3rd party folder?
> >>>>
> >>>> You're right you might be onto something if you get the password
> >>>> failed message. Can you post the exact text (JSON) of the storage
> >>>> plugin config?
> >>>>
> >>>> -Rafael
> >>>>
> >>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
> >>>> <ch...@cardconnect.com.invalid> wrote:
> >>>>>
> >>>>> Hey Everyone,
> >>>>>
> >>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
> >>>>>
> >>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
> >>>>>
> >>>>> Christopher Kane
> >>>>> Software Test Engineer | Clover, CardConnect, FiServ
> >>>>> ckane@clover.com<ma...@clover.com>,
> >>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
> >>>>> com>,
> >>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
> >>>>> c
> >>>>> o
> >>>>> m>,
> >>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fiserv.c
> >>>>> m>om
> >>>>> m>>
> >>>>>
> >>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>>
> >>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>
> >> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >
> > THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> > THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

Re: Initial Oracle Setup

Posted by Rafael Jaimes III <ra...@gmail.com>.
Glad you got it working with the new version regardless!

On Tue, Jun 23, 2020 at 3:38 PM Christopher Kane
<ch...@cardconnect.com.invalid> wrote:
>
> Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.
>
> -----Original Message-----
> From: Christopher Kane <ch...@cardconnect.com.INVALID>
> Sent: Tuesday, June 23, 2020 3:31 PM
> To: user@drill.apache.org
> Subject: RE: Initial Oracle Setup
>
> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Tuesday, June 23, 2020 3:23 PM
> To: user <us...@drill.apache.org>
> Subject: Re: Initial Oracle Setup
>
> It hasn't been released yet, so you'd have to d/l from github (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v5-xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=  <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v5-xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from source.  If you can't do that, I have a pre-release here: https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivre_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0&e=  <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivre_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0&e= >
>
>
> > On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >
> > You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
> >
> > -----Original Message-----
> > From: Christopher Kane <ch...@cardconnect.com.INVALID>
> > Sent: Tuesday, June 23, 2020 3:14 PM
> > To: user@drill.apache.org
> > Subject: RE: Initial Oracle Setup
> >
> > I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
> >
> > -----Original Message-----
> > From: Charles Givre <cg...@gmail.com>
> > Sent: Tuesday, June 23, 2020 3:11 PM
> > To: user@drill.apache.org
> > Subject: Re: Initial Oracle Setup
> >
> > Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
> >
> >> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >>
> >> On both the directory of drill and on startup I am running Apache
> >> Drill 1.17.0
> >>
> >> -----Original Message-----
> >> From: Charles Givre <cgivre@gmail.com <ma...@gmail.com>>
> >> Sent: Tuesday, June 23, 2020 3:03 PM
> >> To: user <user@drill.apache.org <ma...@drill.apache.org>>
> >> Subject: Re: Initial Oracle Setup
> >>
> >> One more question.. what version of Drill are you using?
> >>
> >>
> >>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >>>
> >>> Rafael
> >>> -I did place it in the jars/3rdparty folder.
> >>>
> >>> Storage Plugin Config:
> >>> {
> >>> "type": "jdbc",
> >>> "enabled": true,
> >>> "driver": "oracle.jdbc.driver.OracleDriver",
> >>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
> >>> }
> >>> (it's been modified to remove sensitive information)
> >>>
> >>> Charles
> >>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
> >>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
> >>>
> >>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
> >>> o.a.d.e.server.rest.StorageResources - Unable to create/ update
> >>> plugin: QA2 Oracle
> >>> org.apache.drill.common.exceptions.ExecutionSetupException: Failure
> >>> setting up new storage plugin configuration for config
> >>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
> >>> at
> >>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Storage
> >>> P
> >>> l
> >>> uginRegistryImpl.java:536) at
> >>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpdate
> >>> (
> >>> S
> >>> toragePluginRegistryImpl.java:132)
> >>> at
> >>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpdate
> >>> I
> >>> n
> >>> Storage(PluginConfigWrapper.java:56)
> >>> at
> >>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlu
> >>> g
> >>> i
> >>> nJSON(StorageResources.java:212) at
> >>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlu
> >>> g
> >>> i
> >>> n(StorageResources.java:233) at
> >>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Nati
> >>> v
> >>> e
> >>> Method) at
> >>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Nativ
> >>> e
> >>> M
> >>> ethodAccessorImpl.java:62) at
> >>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(D
> >>> e
> >>> l
> >>> egatingMethodAccessorImpl.java:43)
> >>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
> >>> at
> >>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocationH
> >>> a
> >>> n
> >>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
> >>> at
> >>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMetho
> >>> d
> >>> D
> >>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
> >>> at
> >>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMetho
> >>> d
> >>> D
> >>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
> >>> at
> >>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatc
> >>> h
> >>> e
> >>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProv
> >>> i
> >>> d
> >>> er.java:205) at
> >>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMetho
> >>> d
> >>> D
> >>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
> >>> at
> >>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Resou
> >>> r
> >>> c
> >>> eMethodInvoker.java:389) at
> >>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resour
> >>> c
> >>> e
> >>> MethodInvoker.java:347) at
> >>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resour
> >>> c
> >>> e
> >>> MethodInvoker.java:102) at
> >>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:3
> >>> 2
> >>> 6
> >>> ) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
> >>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
> >>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
> >>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
> >>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
> >>> at
> >>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Reques
> >>> t
> >>> S
> >>> cope.java:317) at
> >>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
> >>> 3
> >>> 05) at
> >>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHan
> >>> d
> >>> l
> >>> er.java:1154) at
> >>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.j
> >>> a
> >>> v
> >>> a:473) at
> >>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
> >>> 4
> >>> 2
> >>> 7) at
> >>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContain
> >>> e
> >>> r
> >>> .java:388) at
> >>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContain
> >>> e
> >>> r
> >>> .java:341) at
> >>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContain
> >>> e
> >>> r
> >>> .java:228) at
> >>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:84
> >>> 8
> >>> )
> >>> at
> >>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
> >>> t
> >>> H
> >>> andler.java:1780) at
> >>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(C
> >>> s
> >>> r
> >>> fTokenValidateFilter.java:55) at
> >>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
> >>> t
> >>> H
> >>> andler.java:1767) at
> >>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(Csr
> >>> f
> >>> T
> >>> okenInjectFilter.java:54) at
> >>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
> >>> t
> >>> H
> >>> andler.java:1767) at
> >>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> >>> 583) at
> >>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHand
> >>> l
> >>> e
> >>> r.java:224) at
> >>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHand
> >>> l
> >>> e
> >>> r.java:1180) at
> >>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
> >>> 5
> >>> 13) at
> >>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandl
> >>> e
> >>> r
> >>> .java:185) at
> >>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandl
> >>> e
> >>> r
> >>> .java:1112) at
> >>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
> >>> j
> >>> a
> >>> va:141) at
> >>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> >>> java:134) at org.eclipse.jetty.server.Server.handle(Server.java:539)
> >>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
> >>> at
> >>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.ja
> >>> v
> >>> a
> >>> :251) at
> >>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstr
> >>> a
> >>> c
> >>> tConnection.java:283) at
> >>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
> >>> at
> >>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoi
> >>> n
> >>> t
> >>> .java:93) at
> >>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execute
> >>> P
> >>> r
> >>> oduceConsume(ExecuteProduceConsume.java:303)
> >>> at
> >>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produce
> >>> C
> >>> o
> >>> nsume(ExecuteProduceConsume.java:148)
> >>> at
> >>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Exe
> >>> c
> >>> u
> >>> teProduceConsume.java:136) at
> >>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPo
> >>> o
> >>> l
> >>> .java:671) at
> >>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
> >>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
> >>> Caused by: java.lang.RuntimeException: Rule description
> >>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
> >>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
> >>> at
> >>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.ja
> >>> v
> >>> a
> >>> :78) at
> >>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConverter
> >>> R
> >>> u
> >>> le.<init>(JdbcStoragePlugin.java:224)
> >>> at
> >>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConventi
> >>> o
> >>> n
> >>> .<init>(JdbcStoragePlugin.java:119)
> >>> at
> >>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStorag
> >>> e
> >>> P
> >>> lugin.java:103) at
> >>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInst
> >>> a
> >>> n
> >>> ce0(Native Method) at
> >>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInst
> >>> a
> >>> n
> >>> ce(NativeConstructorAccessorImpl.java:62)
> >>> at
> >>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.new
> >>> I
> >>> n
> >>> stance(DelegatingConstructorAccessorImpl.java:45)
> >>> at
> >>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constr
> >>> u
> >>> c
> >>> tor.java:500) at
> >>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
> >>> 4
> >>> 81) at
> >>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Storage
> >>> P
> >>> l
> >>> uginRegistryImpl.java:528)
> >>> ... 56 common frames omitted
> >>>
> >>> -----Original Message-----
> >>> From: Charles Givre <cg...@gmail.com>
> >>> Sent: Tuesday, June 23, 2020 2:51 PM
> >>> To: user@drill.apache.org
> >>> Subject: Re: Initial Oracle Setup
> >>>
> >>> One more thing...
> >>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
> >>> Thanks,
> >>> -- C
> >>>
> >>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
> >>>>
> >>>> Hi Chris,
> >>>>
> >>>> You put the JDBC driver in the 3rd party folder?
> >>>>
> >>>> You're right you might be onto something if you get the password
> >>>> failed message. Can you post the exact text (JSON) of the storage
> >>>> plugin config?
> >>>>
> >>>> -Rafael
> >>>>
> >>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
> >>>> <ch...@cardconnect.com.invalid> wrote:
> >>>>>
> >>>>> Hey Everyone,
> >>>>>
> >>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
> >>>>>
> >>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
> >>>>>
> >>>>> Christopher Kane
> >>>>> Software Test Engineer | Clover, CardConnect, FiServ
> >>>>> ckane@clover.com<ma...@clover.com>,
> >>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
> >>>>> com>,
> >>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
> >>>>> c
> >>>>> o
> >>>>> m>,
> >>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fiserv.com
> >>>>> m>>
> >>>>>
> >>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>>
> >>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>
> >> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >
> > THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> > THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

RE: Initial Oracle Setup

Posted by Christopher Kane <ch...@cardconnect.com.INVALID>.
Wow, I gotta hand it to you, I don't know what I was expecting to happen but I got a Success! So that's awesome, thank you so much for your help! I am going to quickly run a test query on this data source now and see what happens.

-----Original Message-----
From: Christopher Kane <ch...@cardconnect.com.INVALID>
Sent: Tuesday, June 23, 2020 3:31 PM
To: user@drill.apache.org
Subject: RE: Initial Oracle Setup

Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!

-----Original Message-----
From: Charles Givre <cg...@gmail.com>
Sent: Tuesday, June 23, 2020 3:23 PM
To: user <us...@drill.apache.org>
Subject: Re: Initial Oracle Setup

It hasn't been released yet, so you'd have to d/l from github (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v5-xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=  <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v5-xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from source.  If you can't do that, I have a pre-release here: https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivre_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0&e=  <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivre_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0&e= >


> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>
> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>
> -----Original Message-----
> From: Christopher Kane <ch...@cardconnect.com.INVALID>
> Sent: Tuesday, June 23, 2020 3:14 PM
> To: user@drill.apache.org
> Subject: RE: Initial Oracle Setup
>
> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Tuesday, June 23, 2020 3:11 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
>
> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>
>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>
>> On both the directory of drill and on startup I am running Apache
>> Drill 1.17.0
>>
>> -----Original Message-----
>> From: Charles Givre <cgivre@gmail.com <ma...@gmail.com>>
>> Sent: Tuesday, June 23, 2020 3:03 PM
>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>> Subject: Re: Initial Oracle Setup
>>
>> One more question.. what version of Drill are you using?
>>
>>
>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>
>>> Rafael
>>> -I did place it in the jars/3rdparty folder.
>>>
>>> Storage Plugin Config:
>>> {
>>> "type": "jdbc",
>>> "enabled": true,
>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>> }
>>> (it's been modified to remove sensitive information)
>>>
>>> Charles
>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>
>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>> o.a.d.e.server.rest.StorageResources - Unable to create/ update
>>> plugin: QA2 Oracle
>>> org.apache.drill.common.exceptions.ExecutionSetupException: Failure
>>> setting up new storage plugin configuration for config
>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>> at
>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Storage
>>> P
>>> l
>>> uginRegistryImpl.java:536) at
>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpdate
>>> (
>>> S
>>> toragePluginRegistryImpl.java:132)
>>> at
>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpdate
>>> I
>>> n
>>> Storage(PluginConfigWrapper.java:56)
>>> at
>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlu
>>> g
>>> i
>>> nJSON(StorageResources.java:212) at
>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlu
>>> g
>>> i
>>> n(StorageResources.java:233) at
>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Nati
>>> v
>>> e
>>> Method) at
>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Nativ
>>> e
>>> M
>>> ethodAccessorImpl.java:62) at
>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(D
>>> e
>>> l
>>> egatingMethodAccessorImpl.java:43)
>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>> at
>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocationH
>>> a
>>> n
>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
>>> at
>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMetho
>>> d
>>> D
>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>> at
>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMetho
>>> d
>>> D
>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>> at
>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatc
>>> h
>>> e
>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProv
>>> i
>>> d
>>> er.java:205) at
>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMetho
>>> d
>>> D
>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>> at
>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Resou
>>> r
>>> c
>>> eMethodInvoker.java:389) at
>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resour
>>> c
>>> e
>>> MethodInvoker.java:347) at
>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resour
>>> c
>>> e
>>> MethodInvoker.java:102) at
>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:3
>>> 2
>>> 6
>>> ) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>> at
>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Reques
>>> t
>>> S
>>> cope.java:317) at
>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>> 3
>>> 05) at
>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHan
>>> d
>>> l
>>> er.java:1154) at
>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.j
>>> a
>>> v
>>> a:473) at
>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>> 4
>>> 2
>>> 7) at
>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContain
>>> e
>>> r
>>> .java:388) at
>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContain
>>> e
>>> r
>>> .java:341) at
>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContain
>>> e
>>> r
>>> .java:228) at
>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:84
>>> 8
>>> )
>>> at
>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
>>> t
>>> H
>>> andler.java:1780) at
>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(C
>>> s
>>> r
>>> fTokenValidateFilter.java:55) at
>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
>>> t
>>> H
>>> andler.java:1767) at
>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(Csr
>>> f
>>> T
>>> okenInjectFilter.java:54) at
>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
>>> t
>>> H
>>> andler.java:1767) at
>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>> 583) at
>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHand
>>> l
>>> e
>>> r.java:224) at
>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHand
>>> l
>>> e
>>> r.java:1180) at
>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>> 5
>>> 13) at
>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandl
>>> e
>>> r
>>> .java:185) at
>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandl
>>> e
>>> r
>>> .java:1112) at
>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>> j
>>> a
>>> va:141) at
>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>> java:134) at org.eclipse.jetty.server.Server.handle(Server.java:539)
>>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>> at
>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.ja
>>> v
>>> a
>>> :251) at
>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstr
>>> a
>>> c
>>> tConnection.java:283) at
>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>> at
>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoi
>>> n
>>> t
>>> .java:93) at
>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execute
>>> P
>>> r
>>> oduceConsume(ExecuteProduceConsume.java:303)
>>> at
>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produce
>>> C
>>> o
>>> nsume(ExecuteProduceConsume.java:148)
>>> at
>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Exe
>>> c
>>> u
>>> teProduceConsume.java:136) at
>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPo
>>> o
>>> l
>>> .java:671) at
>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>> Caused by: java.lang.RuntimeException: Rule description
>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>> at
>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.ja
>>> v
>>> a
>>> :78) at
>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConverter
>>> R
>>> u
>>> le.<init>(JdbcStoragePlugin.java:224)
>>> at
>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConventi
>>> o
>>> n
>>> .<init>(JdbcStoragePlugin.java:119)
>>> at
>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStorag
>>> e
>>> P
>>> lugin.java:103) at
>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInst
>>> a
>>> n
>>> ce0(Native Method) at
>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInst
>>> a
>>> n
>>> ce(NativeConstructorAccessorImpl.java:62)
>>> at
>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.new
>>> I
>>> n
>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>> at
>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constr
>>> u
>>> c
>>> tor.java:500) at
>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>> 4
>>> 81) at
>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Storage
>>> P
>>> l
>>> uginRegistryImpl.java:528)
>>> ... 56 common frames omitted
>>>
>>> -----Original Message-----
>>> From: Charles Givre <cg...@gmail.com>
>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>> To: user@drill.apache.org
>>> Subject: Re: Initial Oracle Setup
>>>
>>> One more thing...
>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>> Thanks,
>>> -- C
>>>
>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>
>>>> Hi Chris,
>>>>
>>>> You put the JDBC driver in the 3rd party folder?
>>>>
>>>> You're right you might be onto something if you get the password
>>>> failed message. Can you post the exact text (JSON) of the storage
>>>> plugin config?
>>>>
>>>> -Rafael
>>>>
>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>
>>>>> Hey Everyone,
>>>>>
>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>
>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>
>>>>> Christopher Kane
>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>> ckane@clover.com<ma...@clover.com>,
>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>> com>,
>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>> c
>>>>> o
>>>>> m>,
>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fiserv.com
>>>>> m>>
>>>>>
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

Re: Initial Oracle Setup

Posted by Rafael Jaimes III <ra...@gmail.com>.
Before going down that road I would spend a little more time in the
storage plugin config, personally. JDBC driver works well with Drill
1.17. There may have been some bugs introduced with Drill 1.18
development that later got fixed and even more improved.

With Drill 1.17 I am using the following format:

{
  "type": "jdbc",
  "driver": "io.prestosql.jdbc.PrestoDriver",
  "url": "jdbc:oracle://blah.blah.com:1521/public",
  "username": "drill",
  "password": null,
  "caseInsensitiveTableNames": false,
  "enabled": false
}

I'm not sure if the wiki describing the Oracle config has any typos. I
noticed that the plugin config can be really sensitive. In contrast to
what I'm doing for mongo, the JDBC driver has username and password as
separate fields instead of in the URL. I can't remember if the
user/pass works in the URL.

Sorry for not more concrete answer, but hopefully this helps to just
play around with the storage config a little more. Let us know what
you find and maybe someone can update the documentation.

Best,
Rafael

On Tue, Jun 23, 2020 at 3:31 PM Christopher Kane
<ch...@cardconnect.com.invalid> wrote:
>
> Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!
>
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Tuesday, June 23, 2020 3:23 PM
> To: user <us...@drill.apache.org>
> Subject: Re: Initial Oracle Setup
>
> It hasn't been released yet, so you'd have to d/l from github (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v5-xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=  <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v5-xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from source.  If you can't do that, I have a pre-release here: https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivre_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0&e=  <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivre_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0&e= >
>
>
> > On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >
> > You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
> >
> > -----Original Message-----
> > From: Christopher Kane <ch...@cardconnect.com.INVALID>
> > Sent: Tuesday, June 23, 2020 3:14 PM
> > To: user@drill.apache.org
> > Subject: RE: Initial Oracle Setup
> >
> > I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
> >
> > -----Original Message-----
> > From: Charles Givre <cg...@gmail.com>
> > Sent: Tuesday, June 23, 2020 3:11 PM
> > To: user@drill.apache.org
> > Subject: Re: Initial Oracle Setup
> >
> > Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
> >
> >> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >>
> >> On both the directory of drill and on startup I am running Apache
> >> Drill 1.17.0
> >>
> >> -----Original Message-----
> >> From: Charles Givre <cgivre@gmail.com <ma...@gmail.com>>
> >> Sent: Tuesday, June 23, 2020 3:03 PM
> >> To: user <user@drill.apache.org <ma...@drill.apache.org>>
> >> Subject: Re: Initial Oracle Setup
> >>
> >> One more question.. what version of Drill are you using?
> >>
> >>
> >>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> >>>
> >>> Rafael
> >>> -I did place it in the jars/3rdparty folder.
> >>>
> >>> Storage Plugin Config:
> >>> {
> >>> "type": "jdbc",
> >>> "enabled": true,
> >>> "driver": "oracle.jdbc.driver.OracleDriver",
> >>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
> >>> }
> >>> (it's been modified to remove sensitive information)
> >>>
> >>> Charles
> >>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
> >>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
> >>>
> >>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
> >>> o.a.d.e.server.rest.StorageResources - Unable to create/ update
> >>> plugin: QA2 Oracle
> >>> org.apache.drill.common.exceptions.ExecutionSetupException: Failure
> >>> setting up new storage plugin configuration for config
> >>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
> >>> at
> >>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Storage
> >>> P
> >>> l
> >>> uginRegistryImpl.java:536) at
> >>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpdate
> >>> (
> >>> S
> >>> toragePluginRegistryImpl.java:132)
> >>> at
> >>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpdate
> >>> I
> >>> n
> >>> Storage(PluginConfigWrapper.java:56)
> >>> at
> >>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlu
> >>> g
> >>> i
> >>> nJSON(StorageResources.java:212) at
> >>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlu
> >>> g
> >>> i
> >>> n(StorageResources.java:233) at
> >>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Nati
> >>> v
> >>> e
> >>> Method) at
> >>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Nativ
> >>> e
> >>> M
> >>> ethodAccessorImpl.java:62) at
> >>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(D
> >>> e
> >>> l
> >>> egatingMethodAccessorImpl.java:43)
> >>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
> >>> at
> >>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocationH
> >>> a
> >>> n
> >>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
> >>> at
> >>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMetho
> >>> d
> >>> D
> >>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
> >>> at
> >>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMetho
> >>> d
> >>> D
> >>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
> >>> at
> >>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatc
> >>> h
> >>> e
> >>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProv
> >>> i
> >>> d
> >>> er.java:205) at
> >>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMetho
> >>> d
> >>> D
> >>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
> >>> at
> >>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Resou
> >>> r
> >>> c
> >>> eMethodInvoker.java:389) at
> >>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resour
> >>> c
> >>> e
> >>> MethodInvoker.java:347) at
> >>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resour
> >>> c
> >>> e
> >>> MethodInvoker.java:102) at
> >>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:3
> >>> 2
> >>> 6
> >>> ) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
> >>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
> >>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
> >>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
> >>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
> >>> at
> >>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Reques
> >>> t
> >>> S
> >>> cope.java:317) at
> >>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
> >>> 3
> >>> 05) at
> >>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHan
> >>> d
> >>> l
> >>> er.java:1154) at
> >>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.j
> >>> a
> >>> v
> >>> a:473) at
> >>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
> >>> 4
> >>> 2
> >>> 7) at
> >>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContain
> >>> e
> >>> r
> >>> .java:388) at
> >>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContain
> >>> e
> >>> r
> >>> .java:341) at
> >>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContain
> >>> e
> >>> r
> >>> .java:228) at
> >>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:84
> >>> 8
> >>> )
> >>> at
> >>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
> >>> t
> >>> H
> >>> andler.java:1780) at
> >>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(C
> >>> s
> >>> r
> >>> fTokenValidateFilter.java:55) at
> >>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
> >>> t
> >>> H
> >>> andler.java:1767) at
> >>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(Csr
> >>> f
> >>> T
> >>> okenInjectFilter.java:54) at
> >>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
> >>> t
> >>> H
> >>> andler.java:1767) at
> >>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> >>> 583) at
> >>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHand
> >>> l
> >>> e
> >>> r.java:224) at
> >>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHand
> >>> l
> >>> e
> >>> r.java:1180) at
> >>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
> >>> 5
> >>> 13) at
> >>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandl
> >>> e
> >>> r
> >>> .java:185) at
> >>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandl
> >>> e
> >>> r
> >>> .java:1112) at
> >>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
> >>> j
> >>> a
> >>> va:141) at
> >>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> >>> java:134) at org.eclipse.jetty.server.Server.handle(Server.java:539)
> >>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
> >>> at
> >>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.ja
> >>> v
> >>> a
> >>> :251) at
> >>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstr
> >>> a
> >>> c
> >>> tConnection.java:283) at
> >>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
> >>> at
> >>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoi
> >>> n
> >>> t
> >>> .java:93) at
> >>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execute
> >>> P
> >>> r
> >>> oduceConsume(ExecuteProduceConsume.java:303)
> >>> at
> >>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produce
> >>> C
> >>> o
> >>> nsume(ExecuteProduceConsume.java:148)
> >>> at
> >>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Exe
> >>> c
> >>> u
> >>> teProduceConsume.java:136) at
> >>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPo
> >>> o
> >>> l
> >>> .java:671) at
> >>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
> >>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
> >>> Caused by: java.lang.RuntimeException: Rule description
> >>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
> >>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
> >>> at
> >>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.ja
> >>> v
> >>> a
> >>> :78) at
> >>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConverter
> >>> R
> >>> u
> >>> le.<init>(JdbcStoragePlugin.java:224)
> >>> at
> >>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConventi
> >>> o
> >>> n
> >>> .<init>(JdbcStoragePlugin.java:119)
> >>> at
> >>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStorag
> >>> e
> >>> P
> >>> lugin.java:103) at
> >>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInst
> >>> a
> >>> n
> >>> ce0(Native Method) at
> >>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInst
> >>> a
> >>> n
> >>> ce(NativeConstructorAccessorImpl.java:62)
> >>> at
> >>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.new
> >>> I
> >>> n
> >>> stance(DelegatingConstructorAccessorImpl.java:45)
> >>> at
> >>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constr
> >>> u
> >>> c
> >>> tor.java:500) at
> >>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
> >>> 4
> >>> 81) at
> >>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Storage
> >>> P
> >>> l
> >>> uginRegistryImpl.java:528)postgresql
> >>> ... 56 common frames omitted
> >>>
> >>> -----Original Message-----
> >>> From: Charles Givre <cg...@gmail.com>
> >>> Sent: Tuesday, June 23, 2020 2:51 PM
> >>> To: user@drill.apache.org
> >>> Subject: Re: Initial Oracle Setup
> >>>
> >>> One more thing...
> >>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
> >>> Thanks,
> >>> -- C
> >>>
> >>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
> >>>>
> >>>> Hi Chris,
> >>>>
> >>>> You put the JDBC driver in the 3rd party folder?
> >>>>
> >>>> You're right you might be onto something if you get the password
> >>>> failed message. Can you post the exact text (JSON) of the storage
> >>>> plugin config?
> >>>>
> >>>> -Rafael
> >>>>
> >>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
> >>>> <ch...@cardconnect.com.invalid> wrote:
> >>>>>
> >>>>> Hey Everyone,
> >>>>>
> >>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
> >>>>>
> >>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
> >>>>>
> >>>>> Christopher Kane
> >>>>> Software Test Engineer | Clover, CardConnect, FiServ
> >>>>> ckane@clover.com<ma...@clover.com>,
> >>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
> >>>>> com>,
> >>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
> >>>>> c
> >>>>> o
> >>>>> m>,
> >>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fiserv.com
> >>>>> m>>
> >>>>>
> >>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>>
> >>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >>
> >> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> >
> > THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> > THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

RE: Initial Oracle Setup

Posted by Christopher Kane <ch...@cardconnect.com.INVALID>.
Yeah I am not the most familiar with building from source, so I'll check out your pre-release, install it like I did 1.17.0 and see what happens!

-----Original Message-----
From: Charles Givre <cg...@gmail.com>
Sent: Tuesday, June 23, 2020 3:23 PM
To: user <us...@drill.apache.org>
Subject: Re: Initial Oracle Setup

It hasn't been released yet, so you'd have to d/l from github (https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v5-xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e=  <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache_drill&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=C8v5-xTogFlPrAmfl-0zcAfmZZUP5ZIkcddMxV8aGcg&e= >) and build from source.  If you can't do that, I have a pre-release here: https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivre_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0&e=  <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_cgivre_drill_releases_tag_1.18.0-2DSNAPSHOT&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=b6gHt-qP_soEwZSNloM5zPbmSepKW4FaAKoOwoxYlUk&s=3IE3kzUlrMTuhmPxkBggBYoK9fszW_xrb--95H-qXY0&e= >


> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>
> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
>
> -----Original Message-----
> From: Christopher Kane <ch...@cardconnect.com.INVALID>
> Sent: Tuesday, June 23, 2020 3:14 PM
> To: user@drill.apache.org
> Subject: RE: Initial Oracle Setup
>
> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
>
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Tuesday, June 23, 2020 3:11 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
>
> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
>
>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>
>> On both the directory of drill and on startup I am running Apache
>> Drill 1.17.0
>>
>> -----Original Message-----
>> From: Charles Givre <cgivre@gmail.com <ma...@gmail.com>>
>> Sent: Tuesday, June 23, 2020 3:03 PM
>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>> Subject: Re: Initial Oracle Setup
>>
>> One more question.. what version of Drill are you using?
>>
>>
>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>>
>>> Rafael
>>> -I did place it in the jars/3rdparty folder.
>>>
>>> Storage Plugin Config:
>>> {
>>> "type": "jdbc",
>>> "enabled": true,
>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>> }
>>> (it's been modified to remove sensitive information)
>>>
>>> Charles
>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>>
>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>> o.a.d.e.server.rest.StorageResources - Unable to create/ update
>>> plugin: QA2 Oracle
>>> org.apache.drill.common.exceptions.ExecutionSetupException: Failure
>>> setting up new storage plugin configuration for config
>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>> at
>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Storage
>>> P
>>> l
>>> uginRegistryImpl.java:536) at
>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpdate
>>> (
>>> S
>>> toragePluginRegistryImpl.java:132)
>>> at
>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpdate
>>> I
>>> n
>>> Storage(PluginConfigWrapper.java:56)
>>> at
>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlu
>>> g
>>> i
>>> nJSON(StorageResources.java:212) at
>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlu
>>> g
>>> i
>>> n(StorageResources.java:233) at
>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Nati
>>> v
>>> e
>>> Method) at
>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Nativ
>>> e
>>> M
>>> ethodAccessorImpl.java:62) at
>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(D
>>> e
>>> l
>>> egatingMethodAccessorImpl.java:43)
>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>> at
>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocationH
>>> a
>>> n
>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
>>> at
>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMetho
>>> d
>>> D
>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>> at
>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMetho
>>> d
>>> D
>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>> at
>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatc
>>> h
>>> e
>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProv
>>> i
>>> d
>>> er.java:205) at
>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMetho
>>> d
>>> D
>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>> at
>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Resou
>>> r
>>> c
>>> eMethodInvoker.java:389) at
>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resour
>>> c
>>> e
>>> MethodInvoker.java:347) at
>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resour
>>> c
>>> e
>>> MethodInvoker.java:102) at
>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:3
>>> 2
>>> 6
>>> ) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>> at
>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Reques
>>> t
>>> S
>>> cope.java:317) at
>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>> 3
>>> 05) at
>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHan
>>> d
>>> l
>>> er.java:1154) at
>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.j
>>> a
>>> v
>>> a:473) at
>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:
>>> 4
>>> 2
>>> 7) at
>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContain
>>> e
>>> r
>>> .java:388) at
>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContain
>>> e
>>> r
>>> .java:341) at
>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContain
>>> e
>>> r
>>> .java:228) at
>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:84
>>> 8
>>> )
>>> at
>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
>>> t
>>> H
>>> andler.java:1780) at
>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(C
>>> s
>>> r
>>> fTokenValidateFilter.java:55) at
>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
>>> t
>>> H
>>> andler.java:1767) at
>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(Csr
>>> f
>>> T
>>> okenInjectFilter.java:54) at
>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servle
>>> t
>>> H
>>> andler.java:1767) at
>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>> 583) at
>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHand
>>> l
>>> e
>>> r.java:224) at
>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHand
>>> l
>>> e
>>> r.java:1180) at
>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>> 5
>>> 13) at
>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandl
>>> e
>>> r
>>> .java:185) at
>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandl
>>> e
>>> r
>>> .java:1112) at
>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.
>>> j
>>> a
>>> va:141) at
>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>> java:134) at org.eclipse.jetty.server.Server.handle(Server.java:539)
>>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>> at
>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.ja
>>> v
>>> a
>>> :251) at
>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstr
>>> a
>>> c
>>> tConnection.java:283) at
>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>> at
>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoi
>>> n
>>> t
>>> .java:93) at
>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.execute
>>> P
>>> r
>>> oduceConsume(ExecuteProduceConsume.java:303)
>>> at
>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produce
>>> C
>>> o
>>> nsume(ExecuteProduceConsume.java:148)
>>> at
>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Exe
>>> c
>>> u
>>> teProduceConsume.java:136) at
>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPo
>>> o
>>> l
>>> .java:671) at
>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>> Caused by: java.lang.RuntimeException: Rule description
>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>> at
>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.ja
>>> v
>>> a
>>> :78) at
>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConverter
>>> R
>>> u
>>> le.<init>(JdbcStoragePlugin.java:224)
>>> at
>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConventi
>>> o
>>> n
>>> .<init>(JdbcStoragePlugin.java:119)
>>> at
>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStorag
>>> e
>>> P
>>> lugin.java:103) at
>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInst
>>> a
>>> n
>>> ce0(Native Method) at
>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInst
>>> a
>>> n
>>> ce(NativeConstructorAccessorImpl.java:62)
>>> at
>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.new
>>> I
>>> n
>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>> at
>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constr
>>> u
>>> c
>>> tor.java:500) at
>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>> 4
>>> 81) at
>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(Storage
>>> P
>>> l
>>> uginRegistryImpl.java:528)
>>> ... 56 common frames omitted
>>>
>>> -----Original Message-----
>>> From: Charles Givre <cg...@gmail.com>
>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>> To: user@drill.apache.org
>>> Subject: Re: Initial Oracle Setup
>>>
>>> One more thing...
>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>> Thanks,
>>> -- C
>>>
>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>>
>>>> Hi Chris,
>>>>
>>>> You put the JDBC driver in the 3rd party folder?
>>>>
>>>> You're right you might be onto something if you get the password
>>>> failed message. Can you post the exact text (JSON) of the storage
>>>> plugin config?
>>>>
>>>> -Rafael
>>>>
>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>>
>>>>> Hey Everyone,
>>>>>
>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>>
>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>>
>>>>> Christopher Kane
>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>> ckane@clover.com<ma...@clover.com>,
>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>> com>,
>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>> c
>>>>> o
>>>>> m>,
>>>>> m>Christopher.Kane1@fiserv.com<mailto:Christopher.Kane1@fiserv.com
>>>>> m>>
>>>>>
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>>
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

Re: Initial Oracle Setup

Posted by Charles Givre <cg...@gmail.com>.
It hasn't been released yet, so you'd have to d/l from github (https://github.com/apache/drill <https://github.com/apache/drill>) and build from source.  If you can't do that, I have a pre-release here: https://github.com/cgivre/drill/releases/tag/1.18.0-SNAPSHOT <https://github.com/cgivre/drill/releases/tag/1.18.0-SNAPSHOT>


> On Jun 23, 2020, at 3:21 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> 
> You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.
> 
> -----Original Message-----
> From: Christopher Kane <ch...@cardconnect.com.INVALID>
> Sent: Tuesday, June 23, 2020 3:14 PM
> To: user@drill.apache.org
> Subject: RE: Initial Oracle Setup
> 
> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
> 
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Tuesday, June 23, 2020 3:11 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
> 
> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
> 
>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>> 
>> On both the directory of drill and on startup I am running Apache
>> Drill 1.17.0
>> 
>> -----Original Message-----
>> From: Charles Givre <cgivre@gmail.com <ma...@gmail.com>>
>> Sent: Tuesday, June 23, 2020 3:03 PM
>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>> Subject: Re: Initial Oracle Setup
>> 
>> One more question.. what version of Drill are you using?
>> 
>> 
>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>> 
>>> Rafael
>>> -I did place it in the jars/3rdparty folder.
>>> 
>>> Storage Plugin Config:
>>> {
>>> "type": "jdbc",
>>> "enabled": true,
>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>> }
>>> (it's been modified to remove sensitive information)
>>> 
>>> Charles
>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>> 
>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>> o.a.d.e.server.rest.StorageResources - Unable to create/ update
>>> plugin: QA2 Oracle
>>> org.apache.drill.common.exceptions.ExecutionSetupException: Failure
>>> setting up new storage plugin configuration for config
>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>> at
>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(StorageP
>>> l
>>> uginRegistryImpl.java:536) at
>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpdate(
>>> S
>>> toragePluginRegistryImpl.java:132)
>>> at
>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpdateI
>>> n
>>> Storage(PluginConfigWrapper.java:56)
>>> at
>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlug
>>> i
>>> nJSON(StorageResources.java:212) at
>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlug
>>> i
>>> n(StorageResources.java:233) at
>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Nativ
>>> e
>>> Method) at
>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Native
>>> M
>>> ethodAccessorImpl.java:62) at
>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(De
>>> l
>>> egatingMethodAccessorImpl.java:43)
>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>> at
>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHa
>>> n
>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
>>> at
>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethod
>>> D
>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>> at
>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethod
>>> D
>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>> at
>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatch
>>> e
>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvi
>>> d
>>> er.java:205) at
>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethod
>>> D
>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>> at
>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Resour
>>> c
>>> eMethodInvoker.java:389) at
>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resourc
>>> e
>>> MethodInvoker.java:347) at
>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resourc
>>> e
>>> MethodInvoker.java:102) at
>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:32
>>> 6
>>> ) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>> at
>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Request
>>> S
>>> cope.java:317) at
>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>> 3
>>> 05) at
>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHand
>>> l
>>> er.java:1154) at
>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.ja
>>> v
>>> a:473) at
>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:4
>>> 2
>>> 7) at
>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContaine
>>> r
>>> .java:388) at
>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContaine
>>> r
>>> .java:341) at
>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContaine
>>> r
>>> .java:228) at
>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848
>>> )
>>> at
>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
>>> H
>>> andler.java:1780) at
>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(Cs
>>> r
>>> fTokenValidateFilter.java:55) at
>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
>>> H
>>> andler.java:1767) at
>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(Csrf
>>> T
>>> okenInjectFilter.java:54) at
>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
>>> H
>>> andler.java:1767) at
>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>> 583) at
>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandl
>>> e
>>> r.java:224) at
>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandl
>>> e
>>> r.java:1180) at
>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>> 5
>>> 13) at
>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandle
>>> r
>>> .java:185) at
>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandle
>>> r
>>> .java:1112) at
>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
>>> a
>>> va:141) at
>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>> java:134) at org.eclipse.jetty.server.Server.handle(Server.java:539)
>>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>> at
>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.jav
>>> a
>>> :251) at
>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstra
>>> c
>>> tConnection.java:283) at
>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>> at
>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoin
>>> t
>>> .java:93) at
>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeP
>>> r
>>> oduceConsume(ExecuteProduceConsume.java:303)
>>> at
>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceC
>>> o
>>> nsume(ExecuteProduceConsume.java:148)
>>> at
>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Exec
>>> u
>>> teProduceConsume.java:136) at
>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPoo
>>> l
>>> .java:671) at
>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>> Caused by: java.lang.RuntimeException: Rule description
>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>> at
>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.jav
>>> a
>>> :78) at
>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConverterR
>>> u
>>> le.<init>(JdbcStoragePlugin.java:224)
>>> at
>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConventio
>>> n
>>> .<init>(JdbcStoragePlugin.java:119)
>>> at
>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStorage
>>> P
>>> lugin.java:103) at
>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInsta
>>> n
>>> ce0(Native Method) at
>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInsta
>>> n
>>> ce(NativeConstructorAccessorImpl.java:62)
>>> at
>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newI
>>> n
>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>> at
>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constru
>>> c
>>> tor.java:500) at
>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>> 4
>>> 81) at
>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(StorageP
>>> l
>>> uginRegistryImpl.java:528)
>>> ... 56 common frames omitted
>>> 
>>> -----Original Message-----
>>> From: Charles Givre <cg...@gmail.com>
>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>> To: user@drill.apache.org
>>> Subject: Re: Initial Oracle Setup
>>> 
>>> One more thing...
>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>> Thanks,
>>> -- C
>>> 
>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>> 
>>>> Hi Chris,
>>>> 
>>>> You put the JDBC driver in the 3rd party folder?
>>>> 
>>>> You're right you might be onto something if you get the password
>>>> failed message. Can you post the exact text (JSON) of the storage
>>>> plugin config?
>>>> 
>>>> -Rafael
>>>> 
>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>> 
>>>>> Hey Everyone,
>>>>> 
>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>> 
>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>> 
>>>>> Christopher Kane
>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>> ckane@clover.com<ma...@clover.com>,
>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>> com>,
>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>> c
>>>>> o
>>>>> m>,
>>>>> m>Christopher.Kane1@fiserv.com<ma...@fiserv.com>
>>>>> 
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>> 
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> 
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> 
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.


RE: Initial Oracle Setup

Posted by Christopher Kane <ch...@cardconnect.com.INVALID>.
You might have to provide a link for Drill 1.18, I'm not seeing that available on the downloads section of the site.

-----Original Message-----
From: Christopher Kane <ch...@cardconnect.com.INVALID>
Sent: Tuesday, June 23, 2020 3:14 PM
To: user@drill.apache.org
Subject: RE: Initial Oracle Setup

I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?

-----Original Message-----
From: Charles Givre <cg...@gmail.com>
Sent: Tuesday, June 23, 2020 3:11 PM
To: user@drill.apache.org
Subject: Re: Initial Oracle Setup

Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.

> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>
> On both the directory of drill and on startup I am running Apache
> Drill 1.17.0
>
> -----Original Message-----
> From: Charles Givre <cgivre@gmail.com <ma...@gmail.com>>
> Sent: Tuesday, June 23, 2020 3:03 PM
> To: user <user@drill.apache.org <ma...@drill.apache.org>>
> Subject: Re: Initial Oracle Setup
>
> One more question.. what version of Drill are you using?
>
>
>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>
>> Rafael
>> -I did place it in the jars/3rdparty folder.
>>
>> Storage Plugin Config:
>> {
>> "type": "jdbc",
>> "enabled": true,
>> "driver": "oracle.jdbc.driver.OracleDriver",
>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>> }
>> (it's been modified to remove sensitive information)
>>
>> Charles
>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>
>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>> o.a.d.e.server.rest.StorageResources - Unable to create/ update
>> plugin: QA2 Oracle
>> org.apache.drill.common.exceptions.ExecutionSetupException: Failure
>> setting up new storage plugin configuration for config
>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>> at
>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(StorageP
>> l
>> uginRegistryImpl.java:536) at
>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpdate(
>> S
>> toragePluginRegistryImpl.java:132)
>> at
>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpdateI
>> n
>> Storage(PluginConfigWrapper.java:56)
>> at
>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlug
>> i
>> nJSON(StorageResources.java:212) at
>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlug
>> i
>> n(StorageResources.java:233) at
>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Nativ
>> e
>> Method) at
>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Native
>> M
>> ethodAccessorImpl.java:62) at
>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(De
>> l
>> egatingMethodAccessorImpl.java:43)
>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>> at
>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHa
>> n
>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
>> at
>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethod
>> D
>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>> at
>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethod
>> D
>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>> at
>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatch
>> e
>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvi
>> d
>> er.java:205) at
>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethod
>> D
>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>> at
>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Resour
>> c
>> eMethodInvoker.java:389) at
>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resourc
>> e
>> MethodInvoker.java:347) at
>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resourc
>> e
>> MethodInvoker.java:102) at
>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:32
>> 6
>> ) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>> at
>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Request
>> S
>> cope.java:317) at
>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>> 3
>> 05) at
>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHand
>> l
>> er.java:1154) at
>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.ja
>> v
>> a:473) at
>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:4
>> 2
>> 7) at
>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContaine
>> r
>> .java:388) at
>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContaine
>> r
>> .java:341) at
>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContaine
>> r
>> .java:228) at
>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848
>> )
>> at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
>> H
>> andler.java:1780) at
>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(Cs
>> r
>> fTokenValidateFilter.java:55) at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
>> H
>> andler.java:1767) at
>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(Csrf
>> T
>> okenInjectFilter.java:54) at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
>> H
>> andler.java:1767) at
>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>> 583) at
>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandl
>> e
>> r.java:224) at
>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandl
>> e
>> r.java:1180) at
>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>> 5
>> 13) at
>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandle
>> r
>> .java:185) at
>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandle
>> r
>> .java:1112) at
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
>> a
>> va:141) at
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>> java:134) at org.eclipse.jetty.server.Server.handle(Server.java:539)
>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>> at
>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.jav
>> a
>> :251) at
>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstra
>> c
>> tConnection.java:283) at
>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>> at
>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoin
>> t
>> .java:93) at
>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeP
>> r
>> oduceConsume(ExecuteProduceConsume.java:303)
>> at
>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceC
>> o
>> nsume(ExecuteProduceConsume.java:148)
>> at
>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Exec
>> u
>> teProduceConsume.java:136) at
>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPoo
>> l
>> .java:671) at
>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>> Caused by: java.lang.RuntimeException: Rule description
>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>> at
>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.jav
>> a
>> :78) at
>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConverterR
>> u
>> le.<init>(JdbcStoragePlugin.java:224)
>> at
>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConventio
>> n
>> .<init>(JdbcStoragePlugin.java:119)
>> at
>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStorage
>> P
>> lugin.java:103) at
>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInsta
>> n
>> ce0(Native Method) at
>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInsta
>> n
>> ce(NativeConstructorAccessorImpl.java:62)
>> at
>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newI
>> n
>> stance(DelegatingConstructorAccessorImpl.java:45)
>> at
>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constru
>> c
>> tor.java:500) at
>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>> 4
>> 81) at
>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(StorageP
>> l
>> uginRegistryImpl.java:528)
>> ... 56 common frames omitted
>>
>> -----Original Message-----
>> From: Charles Givre <cg...@gmail.com>
>> Sent: Tuesday, June 23, 2020 2:51 PM
>> To: user@drill.apache.org
>> Subject: Re: Initial Oracle Setup
>>
>> One more thing...
>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>> Thanks,
>> -- C
>>
>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>
>>> Hi Chris,
>>>
>>> You put the JDBC driver in the 3rd party folder?
>>>
>>> You're right you might be onto something if you get the password
>>> failed message. Can you post the exact text (JSON) of the storage
>>> plugin config?
>>>
>>> -Rafael
>>>
>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>> <ch...@cardconnect.com.invalid> wrote:
>>>>
>>>> Hey Everyone,
>>>>
>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>
>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>
>>>> Christopher Kane
>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>> ckane@clover.com<ma...@clover.com>,
>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>> com>,
>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>> c
>>>> o
>>>> m>,
>>>> m>Christopher.Kane1@fiserv.com<ma...@fiserv.com>
>>>>
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

Re: Initial Oracle Setup

Posted by Charles Givre <cg...@gmail.com>.
Hi Chris, 
Not exactly... Drill has plugins which allow it to connect to external source system. They are bundled with Drill so no need to install anything, but the code is structured that way.  That particular code got some significant improvements so I'm wondering if simply updating will resolve the issue.  The config looks correct to me. 



> On Jun 23, 2020, at 3:13 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> 
> I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?
> 
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Tuesday, June 23, 2020 3:11 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
> 
> Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.
> 
>> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>> 
>> On both the directory of drill and on startup I am running Apache
>> Drill 1.17.0
>> 
>> -----Original Message-----
>> From: Charles Givre <cgivre@gmail.com <ma...@gmail.com>>
>> Sent: Tuesday, June 23, 2020 3:03 PM
>> To: user <user@drill.apache.org <ma...@drill.apache.org>>
>> Subject: Re: Initial Oracle Setup
>> 
>> One more question.. what version of Drill are you using?
>> 
>> 
>>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>> 
>>> Rafael
>>> -I did place it in the jars/3rdparty folder.
>>> 
>>> Storage Plugin Config:
>>> {
>>> "type": "jdbc",
>>> "enabled": true,
>>> "driver": "oracle.jdbc.driver.OracleDriver",
>>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>>> }
>>> (it's been modified to remove sensitive information)
>>> 
>>> Charles
>>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>> 
>>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>>> o.a.d.e.server.rest.StorageResources - Unable to create/ update
>>> plugin: QA2 Oracle
>>> org.apache.drill.common.exceptions.ExecutionSetupException: Failure
>>> setting up new storage plugin configuration for config
>>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>>> at
>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(StorageP
>>> l
>>> uginRegistryImpl.java:536) at
>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpdate(
>>> S
>>> toragePluginRegistryImpl.java:132)
>>> at
>>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpdateI
>>> n
>>> Storage(PluginConfigWrapper.java:56)
>>> at
>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlug
>>> i
>>> nJSON(StorageResources.java:212) at
>>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlug
>>> i
>>> n(StorageResources.java:233) at
>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Nativ
>>> e
>>> Method) at
>>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Native
>>> M
>>> ethodAccessorImpl.java:62) at
>>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(De
>>> l
>>> egatingMethodAccessorImpl.java:43)
>>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>>> at
>>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHa
>>> n
>>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
>>> at
>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethod
>>> D
>>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>>> at
>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethod
>>> D
>>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>>> at
>>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatch
>>> e
>>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvi
>>> d
>>> er.java:205) at
>>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethod
>>> D
>>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>>> at
>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Resour
>>> c
>>> eMethodInvoker.java:389) at
>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resourc
>>> e
>>> MethodInvoker.java:347) at
>>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resourc
>>> e
>>> MethodInvoker.java:102) at
>>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:32
>>> 6
>>> ) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>>> at
>>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Request
>>> S
>>> cope.java:317) at
>>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>>> 3
>>> 05) at
>>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHand
>>> l
>>> er.java:1154) at
>>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.ja
>>> v
>>> a:473) at
>>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:4
>>> 2
>>> 7) at
>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContaine
>>> r
>>> .java:388) at
>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContaine
>>> r
>>> .java:341) at
>>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContaine
>>> r
>>> .java:228) at
>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848
>>> )
>>> at
>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
>>> H
>>> andler.java:1780) at
>>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(Cs
>>> r
>>> fTokenValidateFilter.java:55) at
>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
>>> H
>>> andler.java:1767) at
>>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(Csrf
>>> T
>>> okenInjectFilter.java:54) at
>>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
>>> H
>>> andler.java:1767) at
>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>>> 583) at
>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandl
>>> e
>>> r.java:224) at
>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandl
>>> e
>>> r.java:1180) at
>>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>>> 5
>>> 13) at
>>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandle
>>> r
>>> .java:185) at
>>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandle
>>> r
>>> .java:1112) at
>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
>>> a
>>> va:141) at
>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>>> java:134) at org.eclipse.jetty.server.Server.handle(Server.java:539)
>>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>>> at
>>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.jav
>>> a
>>> :251) at
>>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstra
>>> c
>>> tConnection.java:283) at
>>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>>> at
>>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoin
>>> t
>>> .java:93) at
>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeP
>>> r
>>> oduceConsume(ExecuteProduceConsume.java:303)
>>> at
>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceC
>>> o
>>> nsume(ExecuteProduceConsume.java:148)
>>> at
>>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Exec
>>> u
>>> teProduceConsume.java:136) at
>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPoo
>>> l
>>> .java:671) at
>>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>>> Caused by: java.lang.RuntimeException: Rule description
>>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>>> at
>>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.jav
>>> a
>>> :78) at
>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConverterR
>>> u
>>> le.<init>(JdbcStoragePlugin.java:224)
>>> at
>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConventio
>>> n
>>> .<init>(JdbcStoragePlugin.java:119)
>>> at
>>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStorage
>>> P
>>> lugin.java:103) at
>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInsta
>>> n
>>> ce0(Native Method) at
>>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInsta
>>> n
>>> ce(NativeConstructorAccessorImpl.java:62)
>>> at
>>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newI
>>> n
>>> stance(DelegatingConstructorAccessorImpl.java:45)
>>> at
>>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constru
>>> c
>>> tor.java:500) at
>>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>>> 4
>>> 81) at
>>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(StorageP
>>> l
>>> uginRegistryImpl.java:528)
>>> ... 56 common frames omitted
>>> 
>>> -----Original Message-----
>>> From: Charles Givre <cg...@gmail.com>
>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>> To: user@drill.apache.org
>>> Subject: Re: Initial Oracle Setup
>>> 
>>> One more thing...
>>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>>> Thanks,
>>> -- C
>>> 
>>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>> 
>>>> Hi Chris,
>>>> 
>>>> You put the JDBC driver in the 3rd party folder?
>>>> 
>>>> You're right you might be onto something if you get the password
>>>> failed message. Can you post the exact text (JSON) of the storage
>>>> plugin config?
>>>> 
>>>> -Rafael
>>>> 
>>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>>> <ch...@cardconnect.com.invalid> wrote:
>>>>> 
>>>>> Hey Everyone,
>>>>> 
>>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>> 
>>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>> 
>>>>> Christopher Kane
>>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>>> ckane@clover.com<ma...@clover.com>,
>>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>>> com>,
>>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>>> c
>>>>> o
>>>>> m>,
>>>>> m>Christopher.Kane1@fiserv.com<ma...@fiserv.com>
>>>>> 
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>> 
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> 
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> 
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.


RE: Initial Oracle Setup

Posted by Christopher Kane <ch...@cardconnect.com.INVALID>.
I'm all for it honestly, I've never used Apache Drill before and am trying it out as a POC for something I'm trying to do at work. So you're saying in addition to the driver required by whichever RDBMS you're setting up, there is an Apache Drill JDBC plugin that works in combination with the driver?

-----Original Message-----
From: Charles Givre <cg...@gmail.com>
Sent: Tuesday, June 23, 2020 3:11 PM
To: user@drill.apache.org
Subject: Re: Initial Oracle Setup

Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.

> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>
> On both the directory of drill and on startup I am running Apache
> Drill 1.17.0
>
> -----Original Message-----
> From: Charles Givre <cgivre@gmail.com <ma...@gmail.com>>
> Sent: Tuesday, June 23, 2020 3:03 PM
> To: user <user@drill.apache.org <ma...@drill.apache.org>>
> Subject: Re: Initial Oracle Setup
>
> One more question.. what version of Drill are you using?
>
>
>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>>
>> Rafael
>> -I did place it in the jars/3rdparty folder.
>>
>> Storage Plugin Config:
>> {
>> "type": "jdbc",
>> "enabled": true,
>> "driver": "oracle.jdbc.driver.OracleDriver",
>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>> }
>> (it's been modified to remove sensitive information)
>>
>> Charles
>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>>
>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>> o.a.d.e.server.rest.StorageResources - Unable to create/ update
>> plugin: QA2 Oracle
>> org.apache.drill.common.exceptions.ExecutionSetupException: Failure
>> setting up new storage plugin configuration for config
>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>> at
>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(StorageP
>> l
>> uginRegistryImpl.java:536) at
>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpdate(
>> S
>> toragePluginRegistryImpl.java:132)
>> at
>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpdateI
>> n
>> Storage(PluginConfigWrapper.java:56)
>> at
>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlug
>> i
>> nJSON(StorageResources.java:212) at
>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlug
>> i
>> n(StorageResources.java:233) at
>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Nativ
>> e
>> Method) at
>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Native
>> M
>> ethodAccessorImpl.java:62) at
>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(De
>> l
>> egatingMethodAccessorImpl.java:43)
>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>> at
>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHa
>> n
>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
>> at
>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethod
>> D
>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>> at
>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethod
>> D
>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>> at
>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatch
>> e
>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvi
>> d
>> er.java:205) at
>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethod
>> D
>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>> at
>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Resour
>> c
>> eMethodInvoker.java:389) at
>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resourc
>> e
>> MethodInvoker.java:347) at
>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resourc
>> e
>> MethodInvoker.java:102) at
>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:32
>> 6
>> ) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>> at
>> org.glassfish.jersey.process.internal.RequestScope.runInScope(Request
>> S
>> cope.java:317) at
>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:
>> 3
>> 05) at
>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHand
>> l
>> er.java:1154) at
>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.ja
>> v
>> a:473) at
>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:4
>> 2
>> 7) at
>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContaine
>> r
>> .java:388) at
>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContaine
>> r
>> .java:341) at
>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContaine
>> r
>> .java:228) at
>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848
>> )
>> at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
>> H
>> andler.java:1780) at
>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(Cs
>> r
>> fTokenValidateFilter.java:55) at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
>> H
>> andler.java:1767) at
>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(Csrf
>> T
>> okenInjectFilter.java:54) at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
>> H
>> andler.java:1767) at
>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>> 583) at
>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandl
>> e
>> r.java:224) at
>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandl
>> e
>> r.java:1180) at
>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
>> 5
>> 13) at
>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandle
>> r
>> .java:185) at
>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandle
>> r
>> .java:1112) at
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
>> a
>> va:141) at
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>> java:134) at org.eclipse.jetty.server.Server.handle(Server.java:539)
>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>> at
>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.jav
>> a
>> :251) at
>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstra
>> c
>> tConnection.java:283) at
>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>> at
>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoin
>> t
>> .java:93) at
>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeP
>> r
>> oduceConsume(ExecuteProduceConsume.java:303)
>> at
>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceC
>> o
>> nsume(ExecuteProduceConsume.java:148)
>> at
>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Exec
>> u
>> teProduceConsume.java:136) at
>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPoo
>> l
>> .java:671) at
>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>> Caused by: java.lang.RuntimeException: Rule description
>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>> at
>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.jav
>> a
>> :78) at
>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConverterR
>> u
>> le.<init>(JdbcStoragePlugin.java:224)
>> at
>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConventio
>> n
>> .<init>(JdbcStoragePlugin.java:119)
>> at
>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStorage
>> P
>> lugin.java:103) at
>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInsta
>> n
>> ce0(Native Method) at
>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInsta
>> n
>> ce(NativeConstructorAccessorImpl.java:62)
>> at
>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newI
>> n
>> stance(DelegatingConstructorAccessorImpl.java:45)
>> at
>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constru
>> c
>> tor.java:500) at
>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
>> 4
>> 81) at
>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(StorageP
>> l
>> uginRegistryImpl.java:528)
>> ... 56 common frames omitted
>>
>> -----Original Message-----
>> From: Charles Givre <cg...@gmail.com>
>> Sent: Tuesday, June 23, 2020 2:51 PM
>> To: user@drill.apache.org
>> Subject: Re: Initial Oracle Setup
>>
>> One more thing...
>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>> Thanks,
>> -- C
>>
>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>>
>>> Hi Chris,
>>>
>>> You put the JDBC driver in the 3rd party folder?
>>>
>>> You're right you might be onto something if you get the password
>>> failed message. Can you post the exact text (JSON) of the storage
>>> plugin config?
>>>
>>> -Rafael
>>>
>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>> <ch...@cardconnect.com.invalid> wrote:
>>>>
>>>> Hey Everyone,
>>>>
>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>>
>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>>
>>>> Christopher Kane
>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>> ckane@clover.com<ma...@clover.com>,
>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>> com>,
>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.
>>>> c
>>>> o
>>>> m>,
>>>> m>Christopher.Kane1@fiserv.com<ma...@fiserv.com>
>>>>
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>>
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

Re: Initial Oracle Setup

Posted by Charles Givre <cg...@gmail.com>.
Another qq:  Would you be willing to try Drill 1.18?  There were some significant changes made to the JDBC plugin in 1.18 and I wonder if that might solve the issue.

> On Jun 23, 2020, at 3:05 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> 
> On both the directory of drill and on startup I am running Apache Drill 1.17.0
> 
> -----Original Message-----
> From: Charles Givre <cgivre@gmail.com <ma...@gmail.com>>
> Sent: Tuesday, June 23, 2020 3:03 PM
> To: user <user@drill.apache.org <ma...@drill.apache.org>>
> Subject: Re: Initial Oracle Setup
> 
> One more question.. what version of Drill are you using?
> 
> 
>> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>> 
>> Rafael
>> -I did place it in the jars/3rdparty folder.
>> 
>> Storage Plugin Config:
>> {
>> "type": "jdbc",
>> "enabled": true,
>> "driver": "oracle.jdbc.driver.OracleDriver",
>> "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
>> }
>> (it's been modified to remove sensitive information)
>> 
>> Charles
>> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
>> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=>  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e= <https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=>  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>> 
>> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
>> o.a.d.e.server.rest.StorageResources - Unable to create/ update
>> plugin: QA2 Oracle
>> org.apache.drill.common.exceptions.ExecutionSetupException: Failure
>> setting up new storage plugin configuration for config
>> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
>> at
>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(StoragePl
>> uginRegistryImpl.java:536) at
>> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpdate(S
>> toragePluginRegistryImpl.java:132)
>> at
>> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpdateIn
>> Storage(PluginConfigWrapper.java:56)
>> at
>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlugi
>> nJSON(StorageResources.java:212) at
>> org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlugi
>> n(StorageResources.java:233) at
>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
>> Method) at
>> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeM
>> ethodAccessorImpl.java:62) at
>> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Del
>> egatingMethodAccessorImpl.java:43)
>> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>> at
>> org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHan
>> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
>> at
>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodD
>> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
>> at
>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodD
>> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
>> at
>> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatche
>> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvid
>> er.java:205) at
>> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodD
>> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
>> at
>> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Resourc
>> eMethodInvoker.java:389) at
>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resource
>> MethodInvoker.java:347) at
>> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resource
>> MethodInvoker.java:102) at
>> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326
>> ) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
>> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
>> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
>> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
>> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
>> at
>> org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestS
>> cope.java:317) at
>> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:3
>> 05) at
>> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandl
>> er.java:1154) at
>> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.jav
>> a:473) at
>> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:42
>> 7) at
>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer
>> .java:388) at
>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer
>> .java:341) at
>> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer
>> .java:228) at
>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848)
>> at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletH
>> andler.java:1780) at
>> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(Csr
>> fTokenValidateFilter.java:55) at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletH
>> andler.java:1767) at
>> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(CsrfT
>> okenInjectFilter.java:54) at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletH
>> andler.java:1767) at
>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
>> 583) at
>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandle
>> r.java:224) at
>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandle
>> r.java:1180) at
>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:5
>> 13) at
>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler
>> .java:185) at
>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler
>> .java:1112) at
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
>> va:141) at
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
>> java:134) at org.eclipse.jetty.server.Server.handle(Server.java:539)
>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
>> at
>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java
>> :251) at
>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstrac
>> tConnection.java:283) at
>> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
>> at
>> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint
>> .java:93) at
>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executePr
>> oduceConsume(ExecuteProduceConsume.java:303)
>> at
>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceCo
>> nsume(ExecuteProduceConsume.java:148)
>> at
>> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Execu
>> teProduceConsume.java:136) at
>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool
>> .java:671) at
>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
>> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
>> Caused by: java.lang.RuntimeException: Rule description
>> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
>> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
>> at
>> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.java
>> :78) at
>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConverterRu
>> le.<init>(JdbcStoragePlugin.java:224)
>> at
>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConvention
>> .<init>(JdbcStoragePlugin.java:119)
>> at
>> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStorageP
>> lugin.java:103) at
>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstan
>> ce0(Native Method) at
>> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstan
>> ce(NativeConstructorAccessorImpl.java:62)
>> at
>> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newIn
>> stance(DelegatingConstructorAccessorImpl.java:45)
>> at
>> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Construc
>> tor.java:500) at
>> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:4
>> 81) at
>> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(StoragePl
>> uginRegistryImpl.java:528)
>> ... 56 common frames omitted
>> 
>> -----Original Message-----
>> From: Charles Givre <cg...@gmail.com>
>> Sent: Tuesday, June 23, 2020 2:51 PM
>> To: user@drill.apache.org
>> Subject: Re: Initial Oracle Setup
>> 
>> One more thing...
>> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
>> Thanks,
>> -- C
>> 
>>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>> 
>>> Hi Chris,
>>> 
>>> You put the JDBC driver in the 3rd party folder?
>>> 
>>> You're right you might be onto something if you get the password
>>> failed message. Can you post the exact text (JSON) of the storage
>>> plugin config?
>>> 
>>> -Rafael
>>> 
>>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>>> <ch...@cardconnect.com.invalid> wrote:
>>>> 
>>>> Hey Everyone,
>>>> 
>>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>> 
>>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>> 
>>>> Christopher Kane
>>>> Software Test Engineer | Clover, CardConnect, FiServ
>>>> ckane@clover.com<ma...@clover.com>,
>>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>>> com>,
>>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.c
>>>> o
>>>> m>,
>>>> m>Christopher.Kane1@fiserv.com<ma...@fiserv.com>
>>>> 
>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>> 
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> 
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.


RE: Initial Oracle Setup

Posted by Christopher Kane <ch...@cardconnect.com.INVALID>.
On both the directory of drill and on startup I am running Apache Drill 1.17.0

-----Original Message-----
From: Charles Givre <cg...@gmail.com>
Sent: Tuesday, June 23, 2020 3:03 PM
To: user <us...@drill.apache.org>
Subject: Re: Initial Oracle Setup

One more question.. what version of Drill are you using?


> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
>
> Rafael
> -I did place it in the jars/3rdparty folder.
>
> Storage Plugin Config:
> {
>  "type": "jdbc",
>  "enabled": true,
>  "driver": "oracle.jdbc.driver.OracleDriver",
>  "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
> }
> (it's been modified to remove sensitive information)
>
> Charles
> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://urldefense.proofpoint.com/v2/url?u=https-3A__www.oracle.com_database_technologies_jdbc-2Ddrivers-2D12c-2Ddownloads.html&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=zddp1Im2FovgkwAQ3SyRaJzBS1FxeOgiwYdViTSn4H4&e=  and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://urldefense.proofpoint.com/v2/url?u=https-3A__drill.apache.org_docs_rdbms-2Dstorage-2Dplugin_&d=DwIFAg&c=rE3mhBYFJfJGqQ7WI0-DPw&r=BYRbCBlPlEiTy68EGn8lfllmVqBXbraSyDLC7XDswJU&m=8cPWOW4PY_sKPTUxECbL9XacM9DQCSnBbAJL9oQht0s&s=rzaAsfW2VGICMfzMAhjoT2vZqBRkti6X56uH4Uv1HU0&e=  and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
>
> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR
> o.a.d.e.server.rest.StorageResources - Unable to create/ update
> plugin: QA2 Oracle
> org.apache.drill.common.exceptions.ExecutionSetupException: Failure
> setting up new storage plugin configuration for config
> org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
> at
> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(StoragePl
> uginRegistryImpl.java:536) at
> org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpdate(S
> toragePluginRegistryImpl.java:132)
> at
> org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpdateIn
> Storage(PluginConfigWrapper.java:56)
> at
> org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlugi
> nJSON(StorageResources.java:212) at
> org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlugi
> n(StorageResources.java:233) at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method) at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeM
> ethodAccessorImpl.java:62) at
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Del
> egatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
> at
> org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHan
> dlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
> at
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodD
> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
> at
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodD
> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
> at
> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatche
> rProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvid
> er.java:205) at
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodD
> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
> at
> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Resourc
> eMethodInvoker.java:389) at
> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resource
> MethodInvoker.java:347) at
> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resource
> MethodInvoker.java:102) at
> org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326
> ) at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
> at
> org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestS
> cope.java:317) at
> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:3
> 05) at
> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandl
> er.java:1154) at
> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.jav
> a:473) at
> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:42
> 7) at
> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer
> .java:388) at
> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer
> .java:341) at
> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer
> .java:228) at
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848)
> at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletH
> andler.java:1780) at
> org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(Csr
> fTokenValidateFilter.java:55) at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletH
> andler.java:1767) at
> org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(CsrfT
> okenInjectFilter.java:54) at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletH
> andler.java:1767) at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> 583) at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandle
> r.java:224) at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandle
> r.java:1180) at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:5
> 13) at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler
> .java:185) at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler
> .java:1112) at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> va:141) at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> java:134) at org.eclipse.jetty.server.Server.handle(Server.java:539)
> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
> at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java
> :251) at
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstrac
> tConnection.java:283) at
> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
> at
> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint
> .java:93) at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executePr
> oduceConsume(ExecuteProduceConsume.java:303)
> at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceCo
> nsume(ExecuteProduceConsume.java:148)
> at
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(Execu
> teProduceConsume.java:136) at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool
> .java:671) at
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.
> java:589) at java.base/java.lang.Thread.run(Thread.java:832)
> Caused by: java.lang.RuntimeException: Rule description
> 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid at
> org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
> at
> org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.java
> :78) at
> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConverterRu
> le.<init>(JdbcStoragePlugin.java:224)
> at
> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConvention
> .<init>(JdbcStoragePlugin.java:119)
> at
> org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStorageP
> lugin.java:103) at
> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstan
> ce0(Native Method) at
> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstan
> ce(NativeConstructorAccessorImpl.java:62)
> at
> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newIn
> stance(DelegatingConstructorAccessorImpl.java:45)
> at
> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Construc
> tor.java:500) at
> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:4
> 81) at
> org.apache.drill.exec.store.StoragePluginRegistryImpl.create(StoragePl
> uginRegistryImpl.java:528)
> ... 56 common frames omitted
>
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Tuesday, June 23, 2020 2:51 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
>
> One more thing...
> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
> Thanks,
> -- C
>
>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>>
>> Hi Chris,
>>
>> You put the JDBC driver in the 3rd party folder?
>>
>> You're right you might be onto something if you get the password
>> failed message. Can you post the exact text (JSON) of the storage
>> plugin config?
>>
>> -Rafael
>>
>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>> <ch...@cardconnect.com.invalid> wrote:
>>>
>>> Hey Everyone,
>>>
>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>>
>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>>
>>> Christopher Kane
>>> Software Test Engineer | Clover, CardConnect, FiServ
>>> ckane@clover.com<ma...@clover.com>,
>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>> com>,
>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.c
>>> o
>>> m>,
>>> m>Christopher.Kane1@fiserv.com<ma...@fiserv.com>
>>>
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
>
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

Re: Initial Oracle Setup

Posted by Charles Givre <cg...@gmail.com>.
One more question.. what version of Drill are you using?


> On Jun 23, 2020, at 3:01 PM, Christopher Kane <ch...@cardconnect.com.INVALID> wrote:
> 
> Rafael
> -I did place it in the jars/3rdparty folder.
> 
> Storage Plugin Config:
> {
>  "type": "jdbc",
>  "enabled": true,
>  "driver": "oracle.jdbc.driver.OracleDriver",
>  "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
> }
> (it's been modified to remove sensitive information)
> 
> Charles
> -I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
> -I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://www.oracle.com/database/technologies/jdbc-drivers-12c-downloads.html and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://drill.apache.org/docs/rdbms-storage-plugin/ and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.
> 
> 2020-06-23 14:52:37,017 [qtp377017996-50] ERROR o.a.d.e.server.rest.StorageResources - Unable to create/ update plugin: QA2 Oracle
> org.apache.drill.common.exceptions.ExecutionSetupException: Failure setting up new storage plugin configuration for config org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
> at org.apache.drill.exec.store.StoragePluginRegistryImpl.create(StoragePluginRegistryImpl.java:536)
> at org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpdate(StoragePluginRegistryImpl.java:132)
> at org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpdateInStorage(PluginConfigWrapper.java:56)
> at org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePluginJSON(StorageResources.java:212)
> at org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlugin(StorageResources.java:233)
> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:564)
> at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
> at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
> at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
> at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:205)
> at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
> at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
> at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
> at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
> at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
> at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
> at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
> at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
> at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
> at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
> at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
> at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
> at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
> at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
> at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
> at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
> at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848)
> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1780)
> at org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(CsrfTokenValidateFilter.java:55)
> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767)
> at org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(CsrfTokenInjectFilter.java:54)
> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767)
> at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
> at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:224)
> at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
> at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:513)
> at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
> at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
> at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
> at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
> at org.eclipse.jetty.server.Server.handle(Server.java:539)
> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
> at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
> at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
> at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
> at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
> at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
> at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
> at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
> at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
> at java.base/java.lang.Thread.run(Thread.java:832)
> Caused by: java.lang.RuntimeException: Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid
> at org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
> at org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.java:78)
> at org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConverterRule.<init>(JdbcStoragePlugin.java:224)
> at org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConvention.<init>(JdbcStoragePlugin.java:119)
> at org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStoragePlugin.java:103)
> at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
> at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
> at org.apache.drill.exec.store.StoragePluginRegistryImpl.create(StoragePluginRegistryImpl.java:528)
> ... 56 common frames omitted
> 
> -----Original Message-----
> From: Charles Givre <cg...@gmail.com>
> Sent: Tuesday, June 23, 2020 2:51 PM
> To: user@drill.apache.org
> Subject: Re: Initial Oracle Setup
> 
> One more thing...
> Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
> Thanks,
> -- C
> 
>> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>> 
>> Hi Chris,
>> 
>> You put the JDBC driver in the 3rd party folder?
>> 
>> You're right you might be onto something if you get the password
>> failed message. Can you post the exact text (JSON) of the storage
>> plugin config?
>> 
>> -Rafael
>> 
>> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
>> <ch...@cardconnect.com.invalid> wrote:
>>> 
>>> Hey Everyone,
>>> 
>>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>> 
>>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>> 
>>> Christopher Kane
>>> Software Test Engineer | Clover, CardConnect, FiServ
>>> ckane@clover.com<ma...@clover.com>,
>>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>>> com>,
>>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.co
>>> m>, Christopher.Kane1@fiserv.com<ma...@fiserv.com>
>>> 
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.
> 
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.


RE: Initial Oracle Setup

Posted by Christopher Kane <ch...@cardconnect.com.INVALID>.
Rafael
-I did place it in the jars/3rdparty folder.

Storage Plugin Config:
{
  "type": "jdbc",
  "enabled": true,
  "driver": "oracle.jdbc.driver.OracleDriver",
  "url": "jdbc:oracle:thin:username/password@chris-ora-scan:1521/chris_app"
}
(it's been modified to remove sensitive information)

Charles
-I did turn Verbose on as you instructed, below is the full stacktrace. Now I will say that the one DBA I was conversing with mentioned something about JRE, and I find interesting in this stack trace that it seems to be a RunTime exception.
-I'm not sure if I was aware they were at a version 10? This is the link I was using to download the JDBC driver: https://www.oracle.com/database/technologies/jdbc-drivers-12c-downloads.html and the only options I see available and relevant are either ojdbc7.jar or ojdbc6.jar. At this point I've tried both but am willing to change my configuration while troubleshooting. In addition the recommended driver for Oracle by Apache seems to be ojdbc7.12.1.0.2.jar referenced from this page here: https://drill.apache.org/docs/rdbms-storage-plugin/ and that is the one I am currently using, ojdbc7.jar from the 12.1.0.2 release of Oracle Database.

2020-06-23 14:52:37,017 [qtp377017996-50] ERROR o.a.d.e.server.rest.StorageResources - Unable to create/ update plugin: QA2 Oracle
org.apache.drill.common.exceptions.ExecutionSetupException: Failure setting up new storage plugin configuration for config org.apache.drill.exec.store.jdbc.JdbcStorageConfig@7d9c9e53
at org.apache.drill.exec.store.StoragePluginRegistryImpl.create(StoragePluginRegistryImpl.java:536)
at org.apache.drill.exec.store.StoragePluginRegistryImpl.createOrUpdate(StoragePluginRegistryImpl.java:132)
at org.apache.drill.exec.server.rest.PluginConfigWrapper.createOrUpdateInStorage(PluginConfigWrapper.java:56)
at org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePluginJSON(StorageResources.java:212)
at org.apache.drill.exec.server.rest.StorageResources.createOrUpdatePlugin(StorageResources.java:233)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:205)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1780)
at org.apache.drill.exec.server.rest.CsrfTokenValidateFilter.doFilter(CsrfTokenValidateFilter.java:55)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767)
at org.apache.drill.exec.server.rest.CsrfTokenInjectFilter.doFilter(CsrfTokenInjectFilter.java:54)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1767)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:224)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:513)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
at org.eclipse.jetty.server.Server.handle(Server.java:539)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.lang.RuntimeException: Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid
at org.apache.calcite.plan.RelOptRule.<init>(RelOptRule.java:104)
at org.apache.calcite.rel.convert.ConverterRule.<init>(ConverterRule.java:78)
at org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$JdbcDrelConverterRule.<init>(JdbcStoragePlugin.java:224)
at org.apache.drill.exec.store.jdbc.JdbcStoragePlugin$DrillJdbcConvention.<init>(JdbcStoragePlugin.java:119)
at org.apache.drill.exec.store.jdbc.JdbcStoragePlugin.<init>(JdbcStoragePlugin.java:103)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
at org.apache.drill.exec.store.StoragePluginRegistryImpl.create(StoragePluginRegistryImpl.java:528)
... 56 common frames omitted

-----Original Message-----
From: Charles Givre <cg...@gmail.com>
Sent: Tuesday, June 23, 2020 2:51 PM
To: user@drill.apache.org
Subject: Re: Initial Oracle Setup

One more thing...
Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
Thanks,
-- C

> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
>
> Hi Chris,
>
> You put the JDBC driver in the 3rd party folder?
>
> You're right you might be onto something if you get the password
> failed message. Can you post the exact text (JSON) of the storage
> plugin config?
>
> -Rafael
>
> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
> <ch...@cardconnect.com.invalid> wrote:
>>
>> Hey Everyone,
>>
>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>>
>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>>
>> Christopher Kane
>> Software Test Engineer | Clover, CardConnect, FiServ
>> ckane@clover.com<ma...@clover.com>,
>> Christopher.Kane@cardconnect.com<mailto:Christopher.Kane@cardconnect.
>> com>,
>> Christopher.Kane2@firstdata.com<mailto:Christopher.Kane2@firstdata.co
>> m>, Christopher.Kane1@fiserv.com<ma...@fiserv.com>
>>
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.

Re: Initial Oracle Setup

Posted by Charles Givre <cg...@gmail.com>.
One more thing...
Did you try with the current Oracle JDBC driver?  I believe they are at version 10 now.
Thanks,
-- C

> On Jun 23, 2020, at 1:59 PM, Rafael Jaimes III <ra...@gmail.com> wrote:
> 
> Hi Chris,
> 
> You put the JDBC driver in the 3rd party folder?
> 
> You're right you might be onto something if you get the password
> failed message. Can you post the exact text (JSON) of the storage
> plugin config?
> 
> -Rafael
> 
> On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
> <ch...@cardconnect.com.invalid> wrote:
>> 
>> Hey Everyone,
>> 
>> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>> 
>> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>> 
>> Christopher Kane
>> Software Test Engineer | Clover, CardConnect, FiServ
>> ckane@clover.com<ma...@clover.com>, Christopher.Kane@cardconnect.com<ma...@cardconnect.com>, Christopher.Kane2@firstdata.com<ma...@firstdata.com>, Christopher.Kane1@fiserv.com<ma...@fiserv.com>
>> 
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.


Re: Initial Oracle Setup

Posted by Rafael Jaimes III <ra...@gmail.com>.
Hi Chris,

You put the JDBC driver in the 3rd party folder?

You're right you might be onto something if you get the password
failed message. Can you post the exact text (JSON) of the storage
plugin config?

-Rafael

On Tue, Jun 23, 2020 at 1:56 PM Christopher Kane
<ch...@cardconnect.com.invalid> wrote:
>
> Hey Everyone,
>
> I'm looking to setup and create a new Oracle Storage Plugin for my local Apache Drill instance. I have determined that a correct oracle connection string with an incorrect password results in the following message: Please retry: Error while creating / updating storage : java.sql.SQLException: Cannot create PoolableConnectionFactory (ORA-01017: invalid username/password; logon denied ). Now updating the connection string to use the correct password results in the following message: Please retry: Error while creating / updating storage : Rule description 'JDBC_DREL_ConverterJDBC.QA2 Oracle' is not valid.
>
> I have confirmed with our DBAs and through my own testing that my connection string is correct. When attempting to google anything related to the message 'JDBC_DREL_Converter' unfortunately I am not able to find anything useful. At this point I'm kind of grasping at straws as to what my issue is at this point. In addition I also have the correct oracle thin driver installed, which was the recommend one from the RDBMS page within the Apache Drill documentation and I've also added this line to my drill-override.conf, drill.exec.sys.store.provider.local.path = "ojdbc7.jar". But I'm assuming if any of that wasn't setup correctly, I wouldn't be able to get an error message back from Oracle saying that my password was incorrect. Any help in regards to this would be greatly appreciated.
>
> Christopher Kane
> Software Test Engineer | Clover, CardConnect, FiServ
> ckane@clover.com<ma...@clover.com>, Christopher.Kane@cardconnect.com<ma...@cardconnect.com>, Christopher.Kane2@firstdata.com<ma...@firstdata.com>, Christopher.Kane1@fiserv.com<ma...@fiserv.com>
>
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information protected from disclosure and intended only for the use of the recipient(s) named above. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this message or any attachments is strictly prohibited. If you have received this communication in error, please notify CardConnect immediately by replying to this message and then delete this message and any attachments from your computer.