Hi Laszlo,

Thanks for the fix.  It does fix this problem.  I took a quick look.

As I understand it from Alena, Darren had to move the initialization of the 
LockMasterListener higher due to some problems Mike experienced.  My guess is 
that it had to be higher because Spring cannot work with the ordered 
initialization that we used to have for the components (new, configure, start) 
so it was moved into static which relies on jvm initialization order.  So 
moving the initialization of LockMasterListener back into start() method of 
ManagementServer basically will break things for Mike again.  I'll leave it to 
Darren to resolve this for now.  I don't know enough about Spring loading to 
resolve this correctly for both cases.

--Alex

> -----Original Message-----
> From: Laszlo Hornyak [mailto:laszlo.horn...@gmail.com]
> Sent: Friday, October 25, 2013 3:19 PM
> To: dev@cloudstack.apache.org
> Subject: Re: failing unit tests....
> 
> I have just sent a fix for that, looks like everything is green now. Please 
> check!
> 
> 
> On Fri, Oct 25, 2013 at 11:52 PM, Darren Shepherd <
> darren.s.sheph...@gmail.com> wrote:
> 
> > I'll fix that.
> >
> > Darren
> >
> > On Fri, Oct 25, 2013 at 1:54 PM, Alex Huang <alex.hu...@citrix.com>
> wrote:
> > > I'm getting this failing unit test when building with the latest
> > > from
> > master.  Anyone working on it or know what it is already?  From the
> > stack, it looks like it's a problem location the jdbc driver.  This
> > was working just yesterday.
> > >
> > > Test set: com.cloud.alert.AlertControlsUnitTest
> > >
> > ----------------------------------------------------------------------
> > ---------
> > > Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed:
> > > 0.175
> > sec <<< FAILURE!
> > > warning(junit.framework.TestSuite$1)  Time elapsed: 0.004 sec  <<<
> > FAILURE!
> > > junit.framework.AssertionFailedError: Exception in constructor:
> > testInjected (java.lang.ExceptionInInitializerError
> > >         at
> > com.cloud.alert.AlertControlsUnitTest.<init>(AlertControlsUnitTest.jav
> > a:46)
> > >         at
> > > sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> > Method)
> > >         at
> > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructo
> > rAccessorImpl.java:57)
> > >         at
> > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCo
> > nstructorAccessorImpl.java:45)
> > >         at
> > java.lang.reflect.Constructor.newInstance(Constructor.java:526)
> > >         at junit.framework.TestSuite.createTest(TestSuite.java:61)
> > >         at junit.framework.TestSuite.addTestMethod(TestSuite.java:294)
> > >         at
> > junit.framework.TestSuite.addTestsFromTestCase(TestSuite.java:150)
> > >         at junit.framework.TestSuite.<init>(TestSuite.java:129)
> > >         at
> > org.junit.internal.runners.JUnit38ClassRunner.<init>(JUnit38ClassRunne
> > r.java:71)
> > >         at
> > org.junit.internal.builders.JUnit3Builder.runnerForClass(JUnit3Builder
> > .java:14)
> > >         at
> > org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder
> > .java:57)
> > >         at
> > org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForCl
> > ass(AllDefaultPossibilitiesBuilder.java:29)
> > >         at
> > org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder
> > .java:57)
> > >         at
> > org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:2
> > 4)
> > >         at
> > org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider
> > .java:234)
> > >         at
> > org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4P
> > rovider.java:134)
> > >         at
> > org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.
> > java:113)
> > >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >         at
> >
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
> > ava:57)
> > >         at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> s
> > orImpl.java:43)
> > >         at java.lang.reflect.Method.invoke(Method.java:606)
> > >         at
> > org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(R
> > eflectionUtils.java:189)
> > >         at
> > org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(
> > ProviderFactory.java:165)
> > >         at
> > org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(Provid
> > erFactory.java:85)
> > >         at
> >
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(Forke
> > dBooter.java:103)
> > >         at
> >
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:7
> > 4)
> > > Caused by: com.cloud.utils.exception.CloudRuntimeException: Unable
> > > to
> > initialize a connection to the database for locking purposes:
> > >         at com.cloud.utils.db.Merovingian2.<init>(Merovingian2.java:74)
> > >         at
> > com.cloud.utils.db.Merovingian2.createLockMaster(Merovingian2.java:80)
> > >         at
> > com.cloud.server.LockMasterListener.<init>(LockMasterListener.java:33)
> > >         at
> >
> com.cloud.server.ManagementServerImpl.<clinit>(ManagementServerImpl.
> ja
> > va:602)
> > >         ... 27 more
> > > Caused by: java.sql.SQLException: No suitable driver found for
> >
> jdbc:mysql://localhost:3306/cloud?autoReconnect=true&prepStmtCacheSize
> > =517&cachePrepStmts=true&prepStmtCacheSqlLimit=4096
> > >         at java.sql.DriverManager.getConnection(DriverManager.java:596)
> > >         at java.sql.DriverManager.getConnection(DriverManager.java:215)
> > >         at
> >
> org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnec
> tio
> > n(DriverManagerConnectionFactory.java:75)
> > >         at
> >
> org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(Poolabl
> eC
> > onnectionFactory.java:582)
> > >
> > > --Alex
> >
> 
> 
> 
> --
> 
> EOF

Reply via email to