drill-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Charles Givre <cgi...@gmail.com>
Subject Re: Initial Oracle Setup
Date Tue, 23 Jun 2020 19:02:59 GMT
One more question.. what version of Drill are you using?


> On Jun 23, 2020, at 3:01 PM, Christopher Kane <christopher.kane@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 <cgivre@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 <rafjaimes@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
>> <christopher.kane@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<mailto:ckane@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<mailto:Christopher.Kane1@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.


Mime
View raw message