You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by Jim Hopper <ho...@gmail.com> on 2022/11/13 22:19:23 UTC

hive 3.1.3 debug problem

Hi,

I try to debug one of the test classes in Intellij under linux.
I have my metastore setup with mysql and I can build hive 3.1.3
I build hive using: mvn clean install -DskipTests -P thriftif
-Dthrift.home=/use/local
but when I run debug in Intellij I get this error:

javax.jdo.JDOException: Exception thrown when executing query : SELECT
'org.apache.hadoop.hive.metastore.model.MDatabase' AS
`NUCLEUS_TYPE`,`A0`.`CTLG_NAME`,`A0`.`DESC`,`A0`.`DB_LOCATION_URI`,`A0`.`NAME`,`A0`.`OWNER_NAME`,`A0`.`OWNER_TYPE`,`A0`.`DB_ID`
FROM `DBS` `A0` WHERE `A0`.`NAME` = ''
at
org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:677)
~[datanucleus-api-jdo-4.2.4.jar:?]
at org.datanucleus.api.jdo.JDOQuery.executeInternal(JDOQuery.java:391)
~[datanucleus-api-jdo-4.2.4.jar:?]
at org.datanucleus.api.jdo.JDOQuery.execute(JDOQuery.java:216)
~[datanucleus-api-jdo-4.2.4.jar:?]

is there any other step I miss?

Re: hive 3.1.3 debug problem

Posted by Jim Hopper <ho...@gmail.com>.
thanks!

it was caused by a missing db name in jdbc url and reported way deeper in
stack trace:

Caused by: java.sql.SQLException: *No database selected*
at
com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
~[mysql-connector-j-8.0.31.jar:8.0.31]
at
com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
~[mysql-connector-j-8.0.31.jar:8.0.31]
at
com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916)
~[mysql-connector-j-8.0.31.jar:8.0.31]
at
com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:972)
~[mysql-connector-j-8.0.31.jar:8.0.31]
at
com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52)
~[HikariCP-2.6.1.jar:?]
at
com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java)
~[HikariCP-2.6.1.jar:?]
at
org.datanucleus.store.rdbms.ParamLoggingPreparedStatement.executeQuery(ParamLoggingPreparedStatement.java:375)
~[datanucleus-rdbms-4.1.19.jar:?]
at
org.datanucleus.store.rdbms.SQLController.executeStatementQuery(SQLController.java:552)
~[datanucleus-rdbms-4.1.19.jar:?]
at
org.datanucleus.store.rdbms.query.JDOQLQuery.performExecute(JDOQLQuery.java:617)
~[datanucleus-rdbms-4.1.19.jar:?]
at org.datanucleus.store.query.Query.executeQuery(Query.java:1855)
~[datanucleus-core-4.1.17.jar:?]

On Mon, Nov 14, 2022 at 9:52 AM Alessandro Solimando <
alessandro.solimando@gmail.com> wrote:

> Hi Jim,
> you need to enrich metastore classes with datanucleus as follows:
>
> $ cd standalone-metastore/metastore-server && mvn datanucleus:enhance
>
> Best regards,
> Alessandro
>
> On Sun, 13 Nov 2022 at 23:19, Jim Hopper <ho...@gmail.com> wrote:
>
> > Hi,
> >
> > I try to debug one of the test classes in Intellij under linux.
> > I have my metastore setup with mysql and I can build hive 3.1.3
> > I build hive using: mvn clean install -DskipTests -P thriftif
> > -Dthrift.home=/use/local
> > but when I run debug in Intellij I get this error:
> >
> > javax.jdo.JDOException: Exception thrown when executing query : SELECT
> > 'org.apache.hadoop.hive.metastore.model.MDatabase' AS
> >
> >
> `NUCLEUS_TYPE`,`A0`.`CTLG_NAME`,`A0`.`DESC`,`A0`.`DB_LOCATION_URI`,`A0`.`NAME`,`A0`.`OWNER_NAME`,`A0`.`OWNER_TYPE`,`A0`.`DB_ID`
> > FROM `DBS` `A0` WHERE `A0`.`NAME` = ''
> > at
> >
> >
> org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:677)
> > ~[datanucleus-api-jdo-4.2.4.jar:?]
> > at org.datanucleus.api.jdo.JDOQuery.executeInternal(JDOQuery.java:391)
> > ~[datanucleus-api-jdo-4.2.4.jar:?]
> > at org.datanucleus.api.jdo.JDOQuery.execute(JDOQuery.java:216)
> > ~[datanucleus-api-jdo-4.2.4.jar:?]
> >
> > is there any other step I miss?
> >
>

Re: hive 3.1.3 debug problem

Posted by Alessandro Solimando <al...@gmail.com>.
Hi Jim,
you need to enrich metastore classes with datanucleus as follows:

$ cd standalone-metastore/metastore-server && mvn datanucleus:enhance

Best regards,
Alessandro

On Sun, 13 Nov 2022 at 23:19, Jim Hopper <ho...@gmail.com> wrote:

> Hi,
>
> I try to debug one of the test classes in Intellij under linux.
> I have my metastore setup with mysql and I can build hive 3.1.3
> I build hive using: mvn clean install -DskipTests -P thriftif
> -Dthrift.home=/use/local
> but when I run debug in Intellij I get this error:
>
> javax.jdo.JDOException: Exception thrown when executing query : SELECT
> 'org.apache.hadoop.hive.metastore.model.MDatabase' AS
>
> `NUCLEUS_TYPE`,`A0`.`CTLG_NAME`,`A0`.`DESC`,`A0`.`DB_LOCATION_URI`,`A0`.`NAME`,`A0`.`OWNER_NAME`,`A0`.`OWNER_TYPE`,`A0`.`DB_ID`
> FROM `DBS` `A0` WHERE `A0`.`NAME` = ''
> at
>
> org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:677)
> ~[datanucleus-api-jdo-4.2.4.jar:?]
> at org.datanucleus.api.jdo.JDOQuery.executeInternal(JDOQuery.java:391)
> ~[datanucleus-api-jdo-4.2.4.jar:?]
> at org.datanucleus.api.jdo.JDOQuery.execute(JDOQuery.java:216)
> ~[datanucleus-api-jdo-4.2.4.jar:?]
>
> is there any other step I miss?
>