Skip to Content.
Sympa Menu

grouper-dev - [grouper-dev] RE: mssql tests

Subject: Grouper Developers Forum

List archive

[grouper-dev] RE: mssql tests


Chronological Thread 
  • From: Chris Hyzer <>
  • To: Grouper Dev <>
  • Subject: [grouper-dev] RE: mssql tests
  • Date: Sun, 11 Mar 2012 15:27:44 +0000
  • Accept-language: en-US

ok, I hadnt set the grouper.properties setting to this, I guess this is the default schema in sql server?

ddlutils.schema = dbo

also, nested transactions aggressively lock in sql server... e.g. if I insert a group, it locks the whole grouper_groups table for reads or writes.  So if you have a nested transaction in one thread, the outer transaction inserts a group, the inner reads a different group, it will be a deadlock and the registry will be wedged (nothing can read the grouper_groups table).  So now there is a grouper.properties setting:

# if your database is locking to broadly (e.g. table level), and it causes deadlocks,
# maybe you need to turn off nested transactions...
ddlutils.use.nestedTransactions = true

If you have locking problems in sql server, you can set this to false, and no nested autonomous transactions will be used (no matter what is coded), and it should reduce deadlocks though I dont know how table level locking could have good performance in a large deployment... hmmm

In summary, I am satisfied with the SQL server API tests and they all pass for 2.1... (though the save point test sees if sql server and doesnt do the same test since it will deadlock).

Thanks,
Chris




From: Chris Hyzer
Sent: Friday, March 09, 2012 9:27 AM
To: Grouper Dev
Subject: mssql tests

I ran the api unit tests on ms sql server.  It hung on the savepoint nested transaction test, had to kill it.  And this one failed.  Need to look more into it later...

edu.internet2.middleware.grouper.exception.StemNotFoundException: Can't find stem by name: 'collaboration:collabGroups'
    at edu.internet2.middleware.grouper.internal.dao.hib3.Hib3StemDAO.findByName(Hib3StemDAO.java:1336)
    at edu.internet2.middleware.grouper.StemFinder.findByName(StemFinder.java:101)
    at edu.internet2.middleware.grouper.StemFinder.findByName(StemFinder.java:77)
    at edu.internet2.middleware.grouper.subj.decoratorExamples.SubjectCustomizerForDecoratorTestingCollabGroup.filterSubjects(SubjectCustomizerForDecoratorTestingCollabGroup.java:47)
    at edu.internet2.middleware.grouper.SubjectFinder.filterSubjects(SubjectFinder.java:1415)
    at edu.internet2.middleware.grouper.subj.SourcesXmlResolver.findAllHelper(SourcesXmlResolver.java:781)
    at edu.internet2.middleware.grouper.subj.SourcesXmlResolver.findAll(SourcesXmlResolver.java:718)
    at edu.internet2.middleware.grouper.subj.SourcesXmlResolver.findAll(SourcesXmlResolver.java:313)
    at edu.internet2.middleware.grouper.subj.CachingResolver.findAll(CachingResolver.java:143)
    at edu.internet2.middleware.grouper.subj.ValidatingResolver.findAll(ValidatingResolver.java:100)
    at edu.internet2.middleware.grouper.SubjectFinder.findAll(SubjectFinder.java:569)
    at edu.internet2.middleware.grouper.subj.TestSubjectFinder.testFindAll(TestSubjectFinder.java:1071)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at junit.framework.TestCase.runTest(TestCase.java:168)
    at junit.framework.TestCase.runBare(TestCase.java:134)
    at junit.framework.TestResult$1.protect(TestResult.java:110)
    at junit.framework.TestResult.runProtected(TestResult.java:128)
    at junit.framework.TestResult.run(TestResult.java:113)
    at junit.framework.TestCase.run(TestCase.java:124)
    at junit.framework.TestSuite.runTest(TestSuite.java:232)
    at junit.framework.TestSuite.run(TestSuite.java:227)
    at junit.framework.TestSuite.runTest(TestSuite.java:232)
    at junit.framework.TestSuite.run(TestSuite.java:227)
    at junit.framework.TestSuite.runTest(TestSuite.java:232)
    at junit.framework.TestSuite.run(TestSuite.java:227)
    at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:79)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)





Archive powered by MHonArc 2.6.16.

Top of Page