drill-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Rogers <par0...@yahoo.com.INVALID>
Subject Re: JDBC datasource on Websphere server 8.5.5.9
Date Mon, 30 Mar 2020 22:18:17 GMT
Hi Prabhakar,

Not being much of a JDBC expert, I did some poking around. It seems that Drill's open-source
JDBC driver is based on Apache Calcite's Avatica framework. Avatica does not appear include
JDBC DataSource support, it is just a simple, basic JDBC driver.

My attempts to Google how to use such a basic Driver with Websphere did not produce many results.
I found the click-this, type-that instructions (from 2007!) but did not see anything about
how to handle a basic driver.

So, seems that there several approaches:

1. Extend the Drill JDBC driver to include DataSource support.
2. Find a Websphere or third-party solution to wrap "plain" JDBC drivers.
3. Try MapR's commercial JDBC driver created by Simba. [1] Looks like this driver works on
Windows. The documentation [2] does not list DataSource support, however.


Contributions are welcome to solve item 1. You are probably more of a WS expert than I, so
perhaps you can research item 2. You can also check whether the MapR Driver give you what
you need.

Also, if any others out there have more JDBC experience, it would be great if someone could
add a bit more context. For example, how is this issue handled for other JDBC drivers? What
would it take for Drill to add DataSource support?


Thanks,
- Paul
[1] https://mapr.com/docs/61/Drill/drill_odbc_connector.html
[2] https://mapr.com/docs/61/attachments/JDBC_ODBC_drivers/DrillODBCInstallandConfigurationGuide.pdf

 

    On Sunday, March 29, 2020, 9:26:52 PM PDT, Prabhakar Bhosaale <bhosale.p.v@gmail.com>
wrote:  
 
 Hi Paul,

Any further inputs on JDBC driver for drill?  thx

Regards
Prabhakar

On Thu, Mar 26, 2020 at 1:25 PM Prabhakar Bhosaale <bhosale.p.v@gmail.com>
wrote:

> Hi Paul,
> Please see my answers inline below
>
> Drill is supported on Windows only in embedded mode; we have no scripts to
> run a server. Were you able to create your own solution?
> Prabhakar: We are using drill on windows only in embedded mode
>
> The exception appears to indicate that the Drill JDBC connection is being
> used inside a transaction, perhaps with other data sources, so a two-phase
> commit is needed. However, Drill does not support transactions as
> transactions don't make sense for data sources such as HDFS or S3.
>
>
> Is there a way to configure WAS to use Drill just for read-only access
> without transactions? See this link: [1]. To quote:
>
> Non-transactional data source
> Specifies that the application server does not enlist the connections from
> this data source in global or local transactions. Applications must
> explicitly call setAutoCommit(false) on the connection if they want to
> start a local transaction on the connection, and they must commit or roll
> back the transaction that they started.
>
> Prabhakar: I tried making the datasource as non-transactional data source.
> But still it gave same error
>
> Can you run a test? Will SQLLine connect to your Drill server? If so, then
> you know that you have the host name correct, that the ports are open, and
> that Drill runs well enough on Windows for your needs.
>
> Prabhakar: I tried connecting drill using squirrel and it connected
> successfully to drill. Even we tried simple java code using this driver
> class and it successfully retrieved the data. So drill with its port and
> host is working fine.
>
>
> Our understanding is that webphere is expecting any JDBC driver to
> implement the javax.sql.ConnectionPoolDataSource class, But in drill driver
> we are not sure whether this is implemented.
>
> Please refer
> https://www.ibm.com/mysupport/s/question/0D50z000062kMU2CAM/classcastexception-comibmoptimconnectjdbcnvdriver-incompatible-with-javaxsqlconnectionpooldatasource?language=en_US
>
> Any help in this regard is highly appreciated. thx
>
> REgards
> Prabhakar
>
> On Thu, Mar 26, 2020 at 10:52 AM Paul Rogers <par0328@yahoo.com.invalid>
> wrote:
>
>> Hi Prabhakar,
>>
>> Drill is supported on Windows only in embedded mode; we have no scripts
>> to run a server. Were you able to create your own solution?
>>
>> The exception appears to indicate that the Drill JDBC connection is being
>> used inside a transaction, perhaps with other data sources, so a two-phase
>> commit is needed. However, Drill does not support transactions as
>> transactions don't make sense for data sources such as HDFS or S3.
>>
>>
>> Is there a way to configure WAS to use Drill just for read-only access
>> without transactions? See this link: [1]. To quote:
>>
>> Non-transactional data source
>> Specifies that the application server does not enlist the connections
>> from this data source in global or local transactions. Applications must
>> explicitly call setAutoCommit(false) on the connection if they want to
>> start a local transaction on the connection, and they must commit or roll
>> back the transaction that they started.
>>
>> Can you run a test? Will SQLLine connect to your Drill server? If so,
>> then you know that you have the host name correct, that the ports are open,
>> and that Drill runs well enough on Windows for your needs.
>>
>> By the way, the Apache mail agent does not support attachments. Can you
>> post the log somewhere else? Or, just past into an e-mail the lines around
>> the failure.
>>
>> Thanks,
>> - Paul
>>
>>
>> [1]
>> https://www.ibm.com/support/knowledgecenter/en/SSAW57_8.5.5/com.ibm.websphere.nd.multiplatform.doc/ae/udat_jdbcdatasorprops.html
>>
>>
>>
>>
>>    On Wednesday, March 25, 2020, 8:53:31 PM PDT, Prabhakar Bhosaale <
>> bhosale.p.v@gmail.com> wrote:
>>
>>  Hi Charles,
>>
>> Thanks for the reply.  The dril version is 1.16 and JDBC version is also
>> same. The drill is installed on windows in standalone mode.
>>
>> The challenge here is that, when we created the data provider and data
>> source on WAS, we have not given any hostname or port details of drill
>> server, so when test connection happens on WAS server, it is actually not
>> connecting to drill.
>>
>> Please let me know if you need any additional information. Once again
>> thanks for your help
>>
>> Regards
>> Prabhakar
>>
>> On Tue, Mar 24, 2020 at 6:19 PM Charles Givre <cgivre@gmail.com> wrote:
>>
>> > HI Prabhakar,
>> > Thanks for your interest in Drill.  Can you share your config info as
>> well
>> > as the versions of Drill and JDBC Driver that you are using?
>> > Thanks,
>> > -- C
>> >
>> >
>> > > On Mar 24, 2020, at 7:07 AM, Prabhakar Bhosaale <
>> bhosale.p.v@gmail.com>
>> > wrote:
>> > >
>> > > Hi Team,
>> > >
>> > > we are trying to connect to apache drill from websphere 8.5.5.9.  We
>> > created the the Data provider and data source as per standard process of
>> > WAS.  But when we try to test the connection, it gives following error.
>> > >
>> > > "Test connection operation failed for data source retrievalds on
>> server
>> > ARCHIVE_SERVER at node ARCHIVALPROFILENode1 with the following
>> exception:
>> > java.lang.Exception: DSRA8101E: DataSource class cannot be used as
>> > one-phase: ClassCastException: org.apache.drill.jdbc.Driver incompatible
>> > with javax.sql.ConnectionPoolDataSource  "
>> > >
>> > > We are using SDK version 1.8
>> > > Attaching the JVM log also for your reference. thx
>> > >
>> > > Any pointers or any documentation in this regards would be
>> appreciated.
>> > Please help. thx
>> > >
>> > > Regards
>> > > Prabhakar
>> > > <JVM_Error_Log.txt>
>> >
>> >
>>
>
>
  
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message