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 
> <[email protected]> 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 <[email protected]>
> Sent: Tuesday, June 23, 2020 3:14 PM
> To: [email protected]
> 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 <[email protected]>
> Sent: Tuesday, June 23, 2020 3:11 PM
> To: [email protected]
> 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 
>> <[email protected]> wrote:
>> 
>> On both the directory of drill and on startup I am running Apache
>> Drill 1.17.0
>> 
>> -----Original Message-----
>> From: Charles Givre <[email protected] <mailto:[email protected]>>
>> Sent: Tuesday, June 23, 2020 3:03 PM
>> To: user <[email protected] <mailto:[email protected]>>
>> 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 
>>> <[email protected]> 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 <[email protected]>
>>> Sent: Tuesday, June 23, 2020 2:51 PM
>>> To: [email protected]
>>> 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 <[email protected]> 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
>>>> <[email protected]> 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
>>>>> [email protected]<mailto:[email protected]>,
>>>>> [email protected]<mailto:Christopher.Kane@cardconnect.
>>>>> com>,
>>>>> [email protected]<mailto:Christopher.Kane2@firstdata.
>>>>> c
>>>>> o
>>>>> m>,
>>>>> m>[email protected]<mailto:[email protected]>
>>>>> 
>>>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are 
>>>>> proprietary and confidential information protected from disclosure and 
>>>>> intended only for the use of the recipient(s) named above. If the reader 
>>>>> of this message is not the intended recipient, or an employee or agent 
>>>>> responsible for delivering this message to the intended recipient, you 
>>>>> are hereby notified that any dissemination, distribution or copying of 
>>>>> this message or any attachments is strictly prohibited. If you have 
>>>>> received this communication in error, please notify CardConnect 
>>>>> immediately by replying to this message and then delete this message and 
>>>>> any attachments from your computer.
>>> 
>>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are 
>>> proprietary and confidential information protected from disclosure and 
>>> intended only for the use of the recipient(s) named above. If the reader of 
>>> this message is not the intended recipient, or an employee or agent 
>>> responsible for delivering this message to the intended recipient, you are 
>>> hereby notified that any dissemination, distribution or copying of this 
>>> message or any attachments is strictly prohibited. If you have received 
>>> this communication in error, please notify CardConnect immediately by 
>>> replying to this message and then delete this message and any attachments 
>>> from your computer.
>> 
>> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are 
>> proprietary and confidential information protected from disclosure and 
>> intended only for the use of the recipient(s) named above. If the reader of 
>> this message is not the intended recipient, or an employee or agent 
>> responsible for delivering this message to the intended recipient, you are 
>> hereby notified that any dissemination, distribution or copying of this 
>> message or any attachments is strictly prohibited. If you have received this 
>> communication in error, please notify CardConnect immediately by replying to 
>> this message and then delete this message and any attachments from your 
>> computer.
> 
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are 
> proprietary and confidential information protected from disclosure and 
> intended only for the use of the recipient(s) named above. If the reader of 
> this message is not the intended recipient, or an employee or agent 
> responsible for delivering this message to the intended recipient, you are 
> hereby notified that any dissemination, distribution or copying of this 
> message or any attachments is strictly prohibited. If you have received this 
> communication in error, please notify CardConnect immediately by replying to 
> this message and then delete this message and any attachments from your 
> computer.
> THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are 
> proprietary and confidential information protected from disclosure and 
> intended only for the use of the recipient(s) named above. If the reader of 
> this message is not the intended recipient, or an employee or agent 
> responsible for delivering this message to the intended recipient, you are 
> hereby notified that any dissemination, distribution or copying of this 
> message or any attachments is strictly prohibited. If you have received this 
> communication in error, please notify CardConnect immediately by replying to 
> this message and then delete this message and any attachments from your 
> computer.

Reply via email to