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 
> <[email protected]> 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 <[email protected]>
> Sent: Tuesday, June 30, 2020 4:14 PM
> To: [email protected]
> 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 <[email protected]>
> Sent: Tuesday, June 30, 2020 4:06 PM
> To: user <[email protected]>
> 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 
>> <[email protected]> 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 <[email protected]>
>> Sent: Thursday, June 25, 2020 11:27 AM
>> To: [email protected]
>> 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 <[email protected]>
>> Sent: Wednesday, June 24, 2020 10:14 PM
>> To: [email protected]
>> 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 
>>> <[email protected]> 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 <[email protected]>
>>> Sent: Wednesday, June 24, 2020 5:34 PM
>>> To: [email protected]
>>> 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 <[email protected]>
>>> Sent: Wednesday, June 24, 2020 5:25 PM
>>> To: [email protected]
>>> 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 
>>>> <[email protected]> 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 <[email protected]>
>>>> Sent: Wednesday, June 24, 2020 5:13 PM
>>>> To: [email protected]
>>>> 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 
>>>>> <[email protected]> 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 <[email protected]>
>>>>> Sent: Wednesday, June 24, 2020 4:55 PM
>>>>> To: [email protected]
>>>>> 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 <[email protected]> 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 
>>>>>>> <[email protected]> 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 <[email protected]>
>>>>>>> Sent: Wednesday, June 24, 2020 3:30 PM
>>>>>>> To: user <[email protected]>
>>>>>>> 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 
>>>>>>>> <[email protected]> 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 <[email protected]>
>>>>>>>> Sent: Tuesday, June 23, 2020 5:19 PM
>>>>>>>> To: [email protected]
>>>>>>>> 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 <[email protected]>
>>>>>>>> Sent: Tuesday, June 23, 2020 4:35 PM
>>>>>>>> To: [email protected]
>>>>>>>> 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 
>>>>>>>>> <[email protected]> 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 <[email protected]>
>>>>>>>>> Sent: Tuesday, June 23, 2020 3:43 PM
>>>>>>>>> To: [email protected]
>>>>>>>>> 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 
>>>>>>>>> <[email protected]> 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 <[email protected]>
>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:31 PM
>>>>>>>>>> To: [email protected]
>>>>>>>>>> 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 <[email protected]>
>>>>>>>>>> Sent: Tuesday, June 23, 2020 3:23 PM
>>>>>>>>>> To: user <[email protected]>
>>>>>>>>>> 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 
>>>>>>>>>>> <[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(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 <[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: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.

Reply via email to