RE: [Fwd: hibernate-mysql50-testsuite Build Completed With Testsuite Errors]
by Steve Ebersole
Yes, you should use the MySQL5Dialect...
For SQLServer you must:
1) use 2005 and the correspnding MS driver (no jTDS!)
2) use the snapshot isolation level (hibernate.connection.isolation
4096)
Otherwise, yes that (and others, I believe) will hang.
Here are my local settings for SQLServer (2005 Express):
hibernate.dialect org.hibernate.dialect.SQLServerDialect
hibernate.connection.url jdbc:sqlserver://localhost:1681
hibernate.connection.driver_class
com.microsoft.sqlserver.jdbc.SQLServerDriver
hibernate.connection.isolation 4096
hibernate.connection.username hibernate
hibernate.connection.password hibernate
-----Original Message-----
From: Aleksandar Kostadinov [mailto:akostadinov@jboss.org]
Sent: Tuesday, December 05, 2006 2:04 PM
To: Steve Ebersole; hibernate-dev(a)lists.jboss.org
Subject: Re: [Fwd: hibernate-mysql50-testsuite Build Completed With
Testsuite Errors]
Yes. The tests run with the innodb dialect. Prabhat mentioned that there
is a separate dialect for mysql5. Should I set it for tests on mysql
5.0?
There is a problem with the SQL server tests. EJB3LockTest freezes
things until build timeout comes. Is it possible to set per test
timeouts so a single test cannot break the whole build? Or say if any
test/testcase takes longer than a minute then fail it and continue?
EJB3LockTest should be disabled or repaired so I can enable regular
SQLserver tests.
Thanks.
Steve Ebersole wrote:
>Another question. Did you create this with InnoDB as the default
>engine? If not, please do so. Running with MyISAM is not an accurate
>representation of a valid production environment.
>
>Thanks.
>
>-----Original Message-----
>From: Aleksandar Kostadinov [mailto:akostadinov@jboss.org]
>Sent: Sunday, December 03, 2006 6:18 AM
>To: hibernate-dev(a)lists.jboss.org; Steve Ebersole
>Subject: [Fwd: hibernate-mysql50-testsuite Build Completed With
>Testsuite Errors]
>
>As failings with mysql 5.0.27 are similar to these of 4.1.22 I consider
>results are consistent.
>
>Please contact me if you don't agree.
>
>
18 years
RE: [hibernate-dev] [Fwd: hibernate-mysql50-testsuite Build CompletedWith Testsuite Errors]
by Steve Ebersole
No, not really
-----Original Message-----
From: Aleksandar Kostadinov [mailto:akostadinov@jboss.org]
Sent: Tuesday, December 05, 2006 2:56 PM
To: Steve Ebersole
Cc: Darryl Miles; hibernate-dev(a)lists.jboss.org
Subject: Re: [hibernate-dev] [Fwd: hibernate-mysql50-testsuite Build
CompletedWith Testsuite Errors]
I mean is it possible to have a testcase which only tries to clean
everithing from the database it has connection to. So it is not
connected with other tests. It could not use junit at all. It will be
best to have a separate target (say cleandb) and when we run "build.sh
cleandb" we know that the database is ok.
Steve Ebersole wrote:
>It should only be a problem with the last of the test cases.
Basically,
>Hibernate tries to create and drop the schema needed for a particular
>test class once. However, this ability to run some piece of code once
>per test class is a deficiency in JUnit. The Hibernate test suite
tries
>to achieve that by some magic in on overridden version of setup.
>
>AFAICT, the only real options involve using a different test framework.
>TestNG (or even JUnit4 for that matter) offer the ability to perform
>initialization and clean-up *once per test class*.
>
>The other alternative is to (re)create the schema as part of
>setup/teardown for *each test method*, which is unacceptable.
>
>Perhaps something could be achieved by extension of JUnit. I had
>previously looked at junit.extensions.TestSetup for example. But that
>required pretty extensive changes to the test suite to accommodate.
>
>I am certainly open to suggestions...
>
>-----Original Message-----
>From: Aleksandar Kostadinov [mailto:akostadinov@jboss.com]
>Sent: Monday, December 04, 2006 2:56 PM
>To: Darryl Miles; Steve Ebersole; hibernate-dev(a)lists.jboss.org
>Subject: Re: [hibernate-dev] [Fwd: hibernate-mysql50-testsuite Build
>CompletedWith Testsuite Errors]
>
>Now we test with mysql connector 5.0.4
>
>Darryl, you want to see some info on the first page or in the
>host-version-info.txt?
>I see the latter easier to achieve and at this time cannot say anything
>about the first one.
>Anyway in this repo you can find the cruisecontrol configuration files
>svn.jboss.org/repos/qa/cruisecontrol/trunk/
>scripts/cruisecontrol/build-hibernate-db-matrix.xml is the build file
>for hibernate
>target to look at is maybe copyresults (just on my first look)
>
>I think that if it will be very useful for developers such a thing
could
>be done but I see another problem with hibernate tests that should be
>resolved. I see tables and procedures not dropped after the tests and I
>think after some time they break things. Could you think of something
>that cleans the database defore testing or after testing? Is it
possible
>to create a target in the hibernate's build file which cleans the
>database and nothing else? That ways you could get more accurate
results
>and in case of database connectivity problems only qa team get
informed.
>
>Darryl Miles wrote:
>
>
>
>>Steve Ebersole wrote:
>>
>>
>>>Um, perhaps if you are going to ask me to do something you could can
>>>
>>>
>>the
>>
>>
>>>attitude? Seems like a basic requirement to me...
>>>
>>>
>>Sorry if I put words in your mouth there or seem to be creating lots
>>of work for somebody else.
>>
>>Is the cruise control configuration / testing regime checked into a
>>repository; maybe I can assist with these changes and attach a patch
>>rather than open a JIRA feature request ?
>>
>>
>>Darryl
>>
>>
>
>
>
>
18 years
RE: [Fwd: hibernate-mysql50-testsuite Build Completed With Testsuite Errors]
by Steve Ebersole
2005 introduces the snapshot isolation level (their name for their MVCC
implementation). 2000 and earlier were plagued by deadlock issues. I
do not know of an easy way around that besides "protecting" those tests
individually via the "skipping" mechanism. I do not have the time to do
that right now. And honestly, I don't care about SQLServer pre-2005...
So if you can run against 2005, great, lets do that; if not, lets just
leave this one be for now.
jTDS (at least when I last tried) will not work with SQLServer 2005 for
a couple of reasons (for example, jTDS bombs when you try to set 4096 as
the isolation level). It has been about a year now, so this may have
changed.
-----Original Message-----
From: Aleksandar Kostadinov [mailto:akostadinov@jboss.org]
Sent: Tuesday, December 05, 2006 2:50 PM
To: Steve Ebersole
Cc: hibernate-dev(a)lists.jboss.org
Subject: Re: [Fwd: hibernate-mysql50-testsuite Build Completed With
Testsuite Errors]
jtds guys say their driver is recommended for hibernate ;)
Only this one hangs.
It's not a problem to use the MS jdbc driver but is it necessary to run
on 2005. We now have only 2000.
Steve Ebersole wrote:
>Yes, you should use the MySQL5Dialect...
>
>For SQLServer you must:
>1) use 2005 and the correspnding MS driver (no jTDS!)
>2) use the snapshot isolation level (hibernate.connection.isolation
>4096)
>Otherwise, yes that (and others, I believe) will hang.
>
>Here are my local settings for SQLServer (2005 Express):
>hibernate.dialect org.hibernate.dialect.SQLServerDialect
>hibernate.connection.url jdbc:sqlserver://localhost:1681
>hibernate.connection.driver_class
>com.microsoft.sqlserver.jdbc.SQLServerDriver
>hibernate.connection.isolation 4096
>hibernate.connection.username hibernate
>hibernate.connection.password hibernate
>
>
>
>-----Original Message-----
>From: Aleksandar Kostadinov [mailto:akostadinov@jboss.org]
>Sent: Tuesday, December 05, 2006 2:04 PM
>To: Steve Ebersole; hibernate-dev(a)lists.jboss.org
>Subject: Re: [Fwd: hibernate-mysql50-testsuite Build Completed With
>Testsuite Errors]
>
>Yes. The tests run with the innodb dialect. Prabhat mentioned that
there
>is a separate dialect for mysql5. Should I set it for tests on mysql
>5.0?
>
>There is a problem with the SQL server tests. EJB3LockTest freezes
>things until build timeout comes. Is it possible to set per test
>timeouts so a single test cannot break the whole build? Or say if any
>test/testcase takes longer than a minute then fail it and continue?
>
>EJB3LockTest should be disabled or repaired so I can enable regular
>SQLserver tests.
>
>Thanks.
>
>Steve Ebersole wrote:
>
>
>
>>Another question. Did you create this with InnoDB as the default
>>engine? If not, please do so. Running with MyISAM is not an accurate
>>representation of a valid production environment.
>>
>>Thanks.
>>
>>-----Original Message-----
>>From: Aleksandar Kostadinov [mailto:akostadinov@jboss.org]
>>Sent: Sunday, December 03, 2006 6:18 AM
>>To: hibernate-dev(a)lists.jboss.org; Steve Ebersole
>>Subject: [Fwd: hibernate-mysql50-testsuite Build Completed With
>>Testsuite Errors]
>>
>>As failings with mysql 5.0.27 are similar to these of 4.1.22 I
consider
>>results are consistent.
>>
>>Please contact me if you don't agree.
>>
>>
>>
>>
18 years
RE: [hibernate-dev] [Fwd: hibernate-mysql50-testsuite Build CompletedWith Testsuite Errors]
by Steve Ebersole
It should only be a problem with the last of the test cases. Basically,
Hibernate tries to create and drop the schema needed for a particular
test class once. However, this ability to run some piece of code once
per test class is a deficiency in JUnit. The Hibernate test suite tries
to achieve that by some magic in on overridden version of setup.
AFAICT, the only real options involve using a different test framework.
TestNG (or even JUnit4 for that matter) offer the ability to perform
initialization and clean-up *once per test class*.
The other alternative is to (re)create the schema as part of
setup/teardown for *each test method*, which is unacceptable.
Perhaps something could be achieved by extension of JUnit. I had
previously looked at junit.extensions.TestSetup for example. But that
required pretty extensive changes to the test suite to accommodate.
I am certainly open to suggestions...
-----Original Message-----
From: Aleksandar Kostadinov [mailto:akostadinov@jboss.com]
Sent: Monday, December 04, 2006 2:56 PM
To: Darryl Miles; Steve Ebersole; hibernate-dev(a)lists.jboss.org
Subject: Re: [hibernate-dev] [Fwd: hibernate-mysql50-testsuite Build
CompletedWith Testsuite Errors]
Now we test with mysql connector 5.0.4
Darryl, you want to see some info on the first page or in the
host-version-info.txt?
I see the latter easier to achieve and at this time cannot say anything
about the first one.
Anyway in this repo you can find the cruisecontrol configuration files
svn.jboss.org/repos/qa/cruisecontrol/trunk/
scripts/cruisecontrol/build-hibernate-db-matrix.xml is the build file
for hibernate
target to look at is maybe copyresults (just on my first look)
I think that if it will be very useful for developers such a thing could
be done but I see another problem with hibernate tests that should be
resolved. I see tables and procedures not dropped after the tests and I
think after some time they break things. Could you think of something
that cleans the database defore testing or after testing? Is it possible
to create a target in the hibernate's build file which cleans the
database and nothing else? That ways you could get more accurate results
and in case of database connectivity problems only qa team get informed.
Darryl Miles wrote:
>
> Steve Ebersole wrote:
> > Um, perhaps if you are going to ask me to do something you could can
> the
> > attitude? Seems like a basic requirement to me...
>
>
> Sorry if I put words in your mouth there or seem to be creating lots
> of work for somebody else.
>
> Is the cruise control configuration / testing regime checked into a
> repository; maybe I can assist with these changes and attach a patch
> rather than open a JIRA feature request ?
>
>
> Darryl
18 years