cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simon Weller <swel...@ena.com>
Subject Re: MySQL : No suitable driver found for jdbc:mysql
Date Wed, 18 May 2016 14:17:40 GMT
It prevented /usr/share/cloudstack-mysql-ha/lib/*.jar from loaded. They need to be loaded together
it seems and pulling the ha jar into the classpath doesn't work either.

So this change functions for all the folks that have tested it thus far and passed CI, so
I wonder why your environment is having problem with it.
 
Can you give a bit of a run down on your build environment you're testing this on?

________________________________________
From: Nick LIVENS <nick.livens@nuagenetworks.net>
Sent: Wednesday, May 18, 2016 9:06 AM
To: dev@cloudstack.apache.org
Subject: Re: MySQL : No suitable driver found for jdbc:mysql

Simon,

If I look at the changes of the commit I've mentioned, I can only see a
change for /usr/share/cloudstack-mysql-ha/lib/*.jar (*jar -> *.jar)
The mysql-connector-java was already part of it.

This is the entry in our catalina.properties :
common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,/usr/share/java/mysql-connector-java.jar,/usr/share/cloudstack-mysql-ha/lib/*.jar

So that's exactly the same. I've narrowed it down to this exact commit, so
that's why I mentioned it.

Any idea why the removal of the mysql-connector-java in the CLASSPATH might
break it?

Kind regards,
Nick Livens

On Wed, May 18, 2016 at 3:54 PM, Simon Weller <sweller@ena.com> wrote:

> Nick,
>
> mysql-connector-java.jar  was moved into the tomcat common.loader in
> /etc/cloudstack/management/catalina.properties:
>
>
> common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,/usr/share/java/mysql-connector-java.jar,/usr/share/cloudstack-mysql-ha/lib/*.jar
>
> This was done to fix a bug where the mysql-ha feature was broken.
>
> Does your common.loader  look similar to the above?
>
> - Si
>
>
>
>
>
> ________________________________________
> From: Nick LIVENS <nick.livens@nuagenetworks.net>
> Sent: Wednesday, May 18, 2016 5:49 AM
> To: dev@cloudstack.apache.org
> Subject: Re: MySQL : No suitable driver found for jdbc:mysql
>
> Hey all,
>
> So I've figured it out what's causing the issue, in
> commit c22659d76d73f00f41c13776c490e17a50aacd20, there has been a change in
> the classpath in cloud-management.sysconfig
> The change removes the mysql-connector-java.jar from the classpath.
>
> Before :
>
> CLASSPATH=/etc/cloudstack/management:/usr/share/cloudstack-common:/usr/share/cloudstack-management/setup:/usr/share/java/mysql-connector-java.jar
>
> After :
>
> CLASSPATH=/etc/cloudstack/management:/usr/share/cloudstack-common:/usr/share/cloudstack-management/setup
>
> Commit comment :  Addresses CLOUDSTACK-9300 where the MySQL HA
> StaticStrategy class fails to load successfully
>
> Does anyone have an idea why the mysql-connector-java.jar was removed from
> the classpath?
>
> Thanks in advance!
>
> On Wed, May 18, 2016 at 8:40 AM, Paul Angus <paul.angus@shapeblue.com>
> wrote:
>
> > Thanks Rohit,
> >
> > I see what you're saying.
> > The conversation was actually based on your statement 'Nick, install
> > libmysql-java or equivalent pkg' to which I asked why a user would have
> to
> > install an apparently additional component (Nick had already said that
> > mysql-connector-java.jar was loaded).
> >
> > The conversation then spiralled out of control.
> >
> > Kind regards,
> >
> > Paul Angus
> >
> > paul.angus@shapeblue.com
> > www.shapeblue.com
> > 53 Chandos Place, Covent Garden, London  WC2N 4HSUK
> > @shapeblue
> >
> >
> >
> > -----Original Message-----
> > From: Rohit Yadav [mailto:rohit.yadav@shapeblue.com]
> > Sent: 18 May 2016 03:51
> > To: dev@cloudstack.apache.org
> > Cc: dev@cloudstack.apache.org
> > Subject: Re: MySQL : No suitable driver found for jdbc:mysql
> >
> > Paul,
> >
> >
> > rohit.yadav@shapeblue.com
> > www.shapeblue.com
> > 53 Chandos Place, Covent Garden, London  WC2N 4HSUK @shapeblue
> >
> >
> > On May 17 2016, at 11:33 pm, Paul Angus <paul.angus@shapeblue.com>
> wrote:
> >
> > @Rohit,
> >
> > On CentOS 7 I get
> >
> > [root@localhost ~]# yum install libmysql-java
> >
> > This is incorrect, perhaps you did not read my email:
> > "The mysql-connector-java (on centos) or libmysql-java (on debian)
> package
> > provides the jar dependency that understands jdbc and is necessary for
> > CloudStack to communicate with MySQL, execute operations etc."
> >
> > The libmysql-java is the package name on debian/ubuntu, I said
> > libmysql-java or 'equivalent' as I don't know what environment Nick was
> > running. On CentOS, the same package that provides the mysql-java
> > client/jar dependency is called 'mysql-connector-java'.
> >
> > The hullabulla raised around packaging dependency, is a non-issue.
> >
> > Based on what Nick has shared, his environment has oracle-java and not
> > openjdk -- it is likely a case of missing classpath, JAVA_HOME and java
> jdk
> > directory path issue in the initd/systemd script.
> >
> > Regards.
> >
> >
> > Loaded plugins: fastestmirror
> > base | 3.6 kB 00:00:00
> > epel/x86_64/metalink | 25 kB 00:00:00
> > epel | 4.3 kB 00:00:00
> > extras | 3.4 kB 00:00:00
> > updates | 3.4 kB 00:00:00
> > (1/3): epel/x86_64/group_gz | 170 kB 00:00:00
> > (2/3): epel/x86_64/updateinfo | 555 kB 00:00:00
> > (3/3): epel/x86_64/primary_db | 4.1 MB 00:00:00
> > Loading mirror speeds from cached hostfile
> >  * base: mirrors.clouvider.net
> >  * epel: epel.mirrors.ovh.net
> >  * extras: centos.serverspace.co.uk
> >  * updates: mirror.as29550.net
> > No package libmysql-java available.
> > Error: Nothing to do
> > [root@localhost ~]#
> >
> > Kind regards,
> >
> > Paul Angus
> >
> > paul.angus@shapeblue.com
> > www.shapeblue.com
> > 53 Chandos Place, Covent Garden, London WC2N 4HSUK
> > @shapeblue
> >
> > -----Original Message-----
> > From: Rohit Yadav [mailto:rohit.yadav@shapeblue.com]
> > Sent: 17 May 2016 18:15
> > To: dev@cloudstack.apache.org
> > Subject: Re: MySQL : No suitable driver found for jdbc:mysql
> >
> > Nick, assuming it's a CentOS environment can you run
> > cloudstack-setup-databases (again), make sure that database IP and
> cluster
> > node IP parameters in db.properties are correct, and finally check that
> the
> > jar is in the classpath in the initd/systemd script (check JAVA_HOME, jdk
> > dirs etc.). Also watchout for errors in the logs.
> >
> > Oracle-java is not available from default repositories, in that case you
> > may need to fix JAVA_HOME and jdk paths in initd scripts.
> >
> > Regards.
> > ________________________________________
> > From: Nick LIVENS <nick.livens@nuagenetworks.net>
> > Sent: 17 May 2016 18:34:38
> > To: dev@cloudstack.apache.org
> > Subject: MySQL : No suitable driver found for jdbc:mysql
> >
> > Hi all,
> >
> > I'm facing the following issue when installing ACS 4.9.0 (current
> master).
> > java.sql.SQLException: No suitable driver found for
> >
> jdbc:mysql://localhost:3306/cloud?autoReconnect=true&prepStmtCacheSize=517&cachePrepStmts=true
> >         at java.sql.DriverManager.getConnection(DriverManager.java:596)
> >         at java.sql.DriverManager.getConnection(DriverManager.java:215)
> >         at
> >
> >
> org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:75)
> >         at
> >
> >
> org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
> >         at
> >
> >
> org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1188)
> >         at
> >
> >
> org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106)
> >         at
> >
> >
> com.cloud.utils.db.TransactionLegacy.getStandaloneConnectionWithException(TransactionLegacy.java:202)
> >         at com.cloud.utils.db.Merovingian2.<init>(Merovingian2.java:68)
> >         at
> > com.cloud.utils.db.Merovingian2.createLockMaster(Merovingian2.java:88)
> >
> > First, I thought that the mysql-connector-java.jar was not loaded /
> > installed correctly. But this jar is loaded :
> > [root@csc-1 java]# lsof -p 14064 | grep jar | grep mysql
> > java 14064 cloud mem REG 253,1 883899 134860304
> > /usr/share/java/mysql-connector-java.jar
> > java 14064 cloud 38r REG 253,1 883899 134860304
> > /usr/share/java/mysql-connector-java.jar
> >
> > Tomcat specifics :
> > [root@csc-1 java]# tomcat version
> > Server version: Apache Tomcat/7.0.54
> > Server built: Mar 24 2015 07:49:05
> > Server number: 7.0.54.0
> > OS Name: Linux
> > OS Version: 3.10.0-229.7.2.el7.x86_64
> > Architecture: amd64
> > JVM Version: 1.7.0_85-mockbuild_2015_07_11_12_24-b00
> > JVM Vendor: Oracle Corporation
> >
> > Does anyone have an idea why I might be facing this issue?
> >
> > Thanks!
> >
> > Kind regards,
> > Nick Livens
> >
> > rohit.yadav@shapeblue.com
> > www.shapeblue.com
> > 53 Chandos Place, Covent Garden, London WC2N 4HSUK @shapeblue
> >
>

Mime
View raw message