[MDEV-11678] CONNECT engine JDBC Google Big Query error Created: 2016-12-28  Updated: 2016-12-30

Status: Open
Project: MariaDB Server
Component/s: Storage Engine - Connect
Affects Version/s: 10.1.20
Fix Version/s: 10.1

Type: Bug Priority: Major
Reporter: Robert Dyas Assignee: Olivier Bertrand
Resolution: Unresolved Votes: 0
Labels: None
Environment:

centOS 7



 Description   

When attempting to use CONNECT JDBC with the JDBC driver provided on Google's website for Google BigQuery I get the following error:

Got error 174 'Cannot get result size rc=-1' from CONNECT Query is: SELECT `bigquery_appeng_log_2`.`httpRequest` FROM `bigquery_appeng_log_2` WHERE ( ( TRUE ) AND ( TRUE ) ) LIMIT 0,50

Note also that this is the same error ("Cannot get result size rc=-1") as previously reported for a different JDBC driver (provided by a different company for a different back end service)... so it appears that CONNECT JDBC is making a JDBC call (or query?) that is not supported by common JDBC drivers that do not have a native SQL database underneath.

If you need any extra info please let me know. Thank you!



 Comments   
Comment by Olivier Bertrand [ 2016-12-29 ]

Which driver are you using, is it the Simba driver?

Comment by Robert Dyas [ 2016-12-29 ]

Yes, the Simba driver from the Google website for BigQuery.

Comment by Olivier Bertrand [ 2016-12-29 ]

I cannot find how to call it from java. There is almost no code sample in its documentation and to install it, one needs a license file that is not in the download zip file. Is it a paying driver?

The only samples available show two ways to get the connection. One is a classical connection to a JDBC driver but the other one is using a specific data source class:

private static Connection connectViaDS() throws Exception
{
Connection connection = null;
DataSource ds = new com.simba.googlebigquery.jdbc4.DataSource();
ds.setURL(CONNECTION_URL);
connection = ds.getConnection();
return connection;
}

Maybe this one should be used with this driver but the information given in the documentation is not enough to write a wrapper using this method.

Could you make a run enabling debug tracing by:

set connect_xtrace=1;

and post the result of the query that fails?

BTW how did you create the table supposed to use it?

Comment by Robert Dyas [ 2016-12-29 ]

RE " Is it a paying driver?" No....the PDF documentation refers to a license file, but none is required.

The driver class I'm using is:

com.simba.googlebigquery.jdbc41.Driver

The connect url I'm using with a Service Account created for BigQuery access is:

jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;ProjectId=parasql-app;OAuthType=0;OAuthServiceAcctEmail=hyperbigquerytest@parasql-app.iam.gserviceaccount.com;OAuthPvtKeyPath=/opt/parasql/etc/parasql-app-big-query-user.p12

If this is too much to learn/set up to test, I could possibly private message you a OAuth p12 private key file next week for testing with our account. Next week I'll be able to upload some more simple data to test with as well.

I will set connect_xtrace=1; in my.conf and get back with results. Where will this log info?

Comment by Olivier Bertrand [ 2016-12-30 ]

Ok do that. I need to do some testing with this driver in debug mode to see what appends.

No need to change your my.conf you can enter the set command any time. If the server was started with the --console option the log goes to the console (at least on Windows) or to the normal log file.

Generated at Thu Feb 08 07:51:50 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.