Tuesday, 13 August 2013

IBM BPM Standard 7.5.1.1 - Fixing the Boostrap process by fixing DB2

I hit an interesting DB2-related issue whilst bootstrapping my IBM BPM databases: -

$ cd /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin
$ ./bootstrapProcessServerData.sh

which failed with: -

BUILD FAILED
/opt/IBM/WebSphere/AppServer/BPM/base/profile/actions/bootstrapData.ant:40: The following error occurred while executing this line:
/opt/IBM/WebSphere/AppServer/BPM/base/profile/actions/bootstrapData.ant:42: The following error occurred while executing this line:
/opt/IBM/WebSphere/AppServer/BPM/base/profile/actions/bootstrapData.ant:69: The following error occurred while executing this line:
/opt/IBM/WebSphere/AppServer/BPM/base/profile/actions/tw_init_bootstrap.ant:310: Java returned: 1

Total time: 54 seconds

Bootstrap failed


and, in the logs: -

$ cat /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/logs/bootstrapProcesServerData.Tue-Aug-13-14.56.20-2013.log

INFO: CWLLG0378I: Importing snapshot 7.5.1.1 from process application Process Portal(TWP) :FAILED
13-Aug-2013 14:57:14 com.lombardisoftware.server.ejb.repositoryservices.RepositoryServicesCore importPackageInternal
INFO: CWLLG0162I: Import Failed
File /opt/IBM/WebSphere/AppServer/BPM/Lombardi/imports/process-portal.twx failed.
13-Aug-2013 14:57:14 com.lombardisoftware.utility.WLELoggerUtils logError
SEVERE: CWLLG2015E:  An unexpected runtime exception occurred. See exception for more details.  Error: PreparedStatementCallback; uncategorized SQLException for SQL [insert into LSW_RESOURCE_BUNDLE_KEY (RESOURCE_BUNDLE_KEY_ID,VERSION_ID,AKEY,VALUE,GUID,LAST_MODIFIED,RESOURCE_BUNDLE_ID,LAST_MODIFIED_BY_USER_ID) values (?,?,?,?,?,?,?,?)]; SQL state [57011]; error code [-964]; DB2 SQL Error: SQLCODE=-964, SQLSTATE=57011, SQLERRMC=null, DRIVER=3.61.65; nested exception is com.ibm.db2.jcc.am.SqlException: DB2 SQL Error: SQLCODE=-964, SQLSTATE=57011, SQLERRMC=null, DRIVER=3.61.65.
Throwable occurred: com.lombardisoftware.expimp.ExportImportException: PreparedStatementCallback; uncategorized SQLException for SQL [insert into LSW_RESOURCE_BUNDLE_KEY (RESOURCE_BUNDLE_KEY_ID,VERSION_ID,AKEY,VALUE,GUID,LAST_MODIFIED,RESOURCE_BUNDLE_ID,LAST_MODIFIED_BY_USER_ID) values (?,?,?,?,?,?,?,?)]; SQL state [57011]; error code [-964]; DB2 SQL Error: SQLCODE=-964, SQLSTATE=57011, SQLERRMC=null, DRIVER=3.61.65; nested exception is com.ibm.db2.jcc.am.SqlException: DB2 SQL Error: SQLCODE=-964, SQLSTATE=57011, SQLERRMC=null, DRIVER=3.61.65


When I checked the corresponding DB2 log: -

$ cat /home/db2inst1/sqllib/db2dump/db2diag.log

I found: -

2013-08-13-14.57.07.540232+060 E948764E592         LEVEL: Error
PID     : 4484                 TID  : 140562648786688PROC : db2sysc 0
INSTANCE: db2inst1             NODE : 000          DB   : BPMDB
APPHDL  : 0-598                APPID: 127.0.0.1.34033.130813135710
AUTHID  : DB2INST1
EDUID   : 240                  EDUNAME: db2agent (BPMDB) 0
FUNCTION: DB2 UDB, data protection services, sqlpgResSpace, probe:2860
MESSAGE : ADM1823E  The active log is full and is held by application handle
          "598..".  Terminate this application by COMMIT, ROLLBACK or FORCE
          APPLICATION.


and: -

2013-08-13-14.57.07.540872+060 I949357E554         LEVEL: Error
PID     : 4484                 TID  : 140562648786688PROC : db2sysc 0
INSTANCE: db2inst1             NODE : 000          DB   : BPMDB
APPHDL  : 0-598                APPID: 127.0.0.1.34033.130813135710
AUTHID  : DB2INST1
EDUID   : 240                  EDUNAME: db2agent (BPMDB) 0
FUNCTION: DB2 UDB, data protection services, sqlpWriteLR, probe:6680
MESSAGE : ZRC=0x85100009=-2062548983=SQLP_NOSPACE
          "Log File has reached its saturation point"
          DIA8309C Log file was full.


This ties up with this IBM Technote: -


from which the solution is to increase the primary and secondary log file sizes.

This is what I did: -

$ db2 connect to bpmdb

db2 get snapshot for all on bpmdb > /tmp/snapshot.txt

which showed: -

Log space available to the database (Bytes)= 70955008
Log space used by the database (Bytes)     = 0
Secondary logs allocated currently         = 0


I updated the number of Secondary Logs as follows: -

$ db2 update db cfg for bpmdb using logsecond 12

and re-ran the bootstrap process.

This time it ran through to completion, which is nice :-)

Job done :-)

No comments: