Topic
4 replies Latest Post - ‏2012-08-31T18:03:36Z by FA90_Paul_Jones
SystemAdmin
SystemAdmin
5837 Posts
ACCEPTED ANSWER

Pinned topic 9.7 Personal Edition WORKS Express-C Fails - 911

‏2012-08-22T20:19:45Z |
I am trying to change from 9.7 PE to 9.7 Express-C which I understand is the same code base.
My test is running 18355 Junit tests which are just thousands of lines of SQL one after another. Same application and I create and load Database in the same way. The only difference that I can see is DB2 Personal Edition versus Express-C and since Express-C is supposed to be the same code base, I am stumped as to where I look for the difference especially since 90% works just fine. The error codes imply that I am in a DeadLock state - but they why does this NOT happen in PE!
In 9.7 Personal Edition - 24 errors
in 9.7 Express-C 1551 errors

the error message is: (Repeated a LOT of times! )
  • ERROR ***
curam.cms.address.facade.impl.TestPostalCodeGroup.testReadPCGroupsSuccess
com.ibm.db2.jcc.c.SqlException: DB2 SQL error: SQLCODE: -911, SQLSTATE: 40001, SQLERRMC: 68
at com.ibm.db2.jcc.c.kh.c(kh.java:1660)
at com.ibm.db2.jcc.b.db.p(db.java:779)
at com.ibm.db2.jcc.b.db.h(db.java:227)
at com.ibm.db2.jcc.b.db.b(db.java:46)
at com.ibm.db2.jcc.b.t.b(t.java:40)
at com.ibm.db2.jcc.b.sb.e(sb.java:121)
at com.ibm.db2.jcc.c.kh.l(kh.java:1154)
at com.ibm.db2.jcc.c.kh.a(kh.java:1932)
at com.ibm.db2.jcc.c.kh.e(kh.java:731)
at com.ibm.db2.jcc.c.kh.execute(kh.java:715)
at curam.cms.test.cms.CuramServerTest.executeSQL(CuramServerTest.java:215)
at curam.cms.test.cms.CuramServerTest.loadTestData(CuramServerTest.java:133)
at curam.cms.address.facade.impl.TestPostalCodeGroup.testReadPCGroupsFail(TestPostalCodeGroup.java:414)
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:324)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at curam.test.framework.CMSTestingLevelClass.testMethod(CMSTestingLevelClass.java:334)
at curam.test.framework.CMSTestingLevelClass.runTests(CMSTestingLevelClass.java:158)
at curam.test.framework.CMSTestingLevelPackage.runTests(CMSTestingLevelPackage.java:134)
at curam.test.framework.CMSTestingLevelPackage.runTests(CMSTestingLevelPackage.java:97)
at curam.test.framework.CMSTestingLevelPackage.runTests(CMSTestingLevelPackage.java:97)
at curam.test.framework.CMSTestingLevelPackage.runTests(CMSTestingLevelPackage.java:97)
at curam.test.framework.CMSHtmlRunAllTests.runTests(CMSHtmlRunAllTests.java:233)
at curam.test.framework.CMSHtmlRunAllTests.main(CMSHtmlRunAllTests.java:99)
  • ERROR ***

Software versions
both: Windows 7 2 CPUs, 3 GB RAM, Virtual machines

WORKS:
D:\ccp\supp\CMS\CMSDevtools\shortcuts>db2licm -l
Product name: "DB2 Personal Edition" 32bit
License type: "Client Device"
Expiry date: "Permanent"
Product identifier: "db2pe"
Version information: "9.7"
FAILS
D:\ccp\supp\CMS\CMSDevtools\shortcuts>db2licm -l
Product name: "DB2 Express-C"
License type: "Unwarranted"
Expiry date: "Permanent"
Product identifier: "db2expc"
Version information: "9.7"
Max number of CPUs: "2"
Max amount of memory (GB): "2"
Updated on 2012-08-31T18:03:36Z at 2012-08-31T18:03:36Z by FA90_Paul_Jones
  • FA90_Paul_Jones
    FA90_Paul_Jones
    7 Posts
    ACCEPTED ANSWER

    Re: 9.7 Personal Edition WORKS Express-C Fails - 911

    ‏2012-08-23T22:55:42Z  in response to SystemAdmin
    Not sure if I can be much help but it seems to be a latency issue per the DB2 -911 error.

    Link: http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z9.doc.codes%2Fsrc%2Ftpc%2Fn911.htm
  • SystemAdmin
    SystemAdmin
    5837 Posts
    ACCEPTED ANSWER

    Re: 9.7 Personal Edition WORKS Express-C Fails - 911

    ‏2012-08-23T23:31:33Z  in response to SystemAdmin
    thanks FA90_Paul_Jones. I agree that the -911 points to deadlock and latency, but what I can't figure out is why it works on Personal Edition but Fails on Express-C when they are both version 9.7 and supposed to be the same code base.
  • SystemAdmin
    SystemAdmin
    5837 Posts
    ACCEPTED ANSWER

    Re: 9.7 Personal Edition WORKS Express-C Fails - 911

    ‏2012-08-30T21:32:39Z  in response to SystemAdmin
    Solved it: The reason DB2 v9.7 had way more Junit errors in Express-C than it did in DB2 v9.7 Personal edition was ...
    Express-C included a configuration variable called DB2_COMPATABILITY_VECTOR=MYS. I do not recall adding it, but it was there. With this set DB2 9.7 express C acted like it was MySql and created all kinds of deadlock problems. Once I finally dropped that setting the Problems went away and Express-C with Automatic tuning wherever possible was actually faster than v9.7 Personal Edition with no tuning.
    For future generations to see if you have this problem
    db2set -all

    to remove it
    db2set -g DB2_COMPATIBILITY_VECTOR=

    the -g is because in my case this was a Global variable and not an instance one.
    you will have to drop and recreate the database.

    to save your configuration for comparison purposes
    db2 get database configuration for YOURDB > YourDBSnapshot.txt
    db2 get database manager configuration > DBSnapshot.txt
    • FA90_Paul_Jones
      FA90_Paul_Jones
      7 Posts
      ACCEPTED ANSWER

      Re: 9.7 Personal Edition WORKS Express-C Fails - 911

      ‏2012-08-31T18:03:36Z  in response to SystemAdmin
      I noticed there were some issues when that DB2_COMPATABILITY_VECTOR was set to ORA and supposedly resolved with fix patch 6.