cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nick LIVENS <nick.liv...@nuagenetworks.net>
Subject Re: MySQL : No suitable driver found for jdbc:mysql
Date Wed, 18 May 2016 14:43:15 GMT
Java :
[root@csc-1 ~]# java -version
java version "1.7.0_85"
OpenJDK Runtime Environment (rhel-2.6.1.2.el7_1-x86_64 u85-b01)
OpenJDK 64-Bit Server VM (build 24.85-b03, mixed mode)


Tomcat :
[root@csc-1 ~]# 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


Environment :
[root@csc-1 ~]# cat /etc/*-release
NAME="Red Hat Enterprise Linux Server"
VERSION="7.1 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="7.1"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.1 (Maipo)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.1:GA:server"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.1
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="7.1"
Red Hat Enterprise Linux Server release 7.1 (Maipo)
Red Hat Enterprise Linux Server release 7.1 (Maipo)

[root@csc-1 ~]# cat /proc/version
Linux version 3.10.0-229.7.2.el7.x86_64 (
mockbuild@x86-030.build.eng.bos.redhat.com) (gcc version 4.8.3 20140911
(Red Hat 4.8.3-9) (GCC) )


If you need any more information, feel free to ask. But as a stated before,
the mysql-connector-java.jar is loaded
[root@csc-1 ~]# lsof -p 14058 | grep mysql
java    14058 cloud  mem    REG              253,1    883899 134860304
/usr/share/java/mysql-connector-java.jar
java    14058 cloud   38r   REG              253,1    883899 134860304
/usr/share/java/mysql-connector-java.jar

Kind regards,
Nick Livens

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

> 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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message