[daisy] jbpm causes sql error when launching repo 2.0-dev

Marc Portier mpo at outerthought.org
Tue Nov 21 06:23:05 CST 2006


just wanted to give the merged workflow stuff a spin

- emptied/recreated the data_dirs en databases (daisyrepo and activemq)
- stepped through the README carefully...
- took all defaults

When starting the repository I see an error
> "Data truncation: Out of range value adjusted for column 'ISTERMINATIONIMPLICIT_' at row 1"
occuring during the generation of the jbmp dataschema...

This blocks the startup of the server.

When checking the database I see quite a load of tables with 'JBPM_'
prefixes were made:

counting them gives: 33 (dunno if that is complete or not?)
> $ mysql -uroot -p -Ddaisyrepository -e "show tables like 'JBPM%';"|grep JBPM_|wc -l
> Enter password:
> 33


When checking the stacktrace (below) I find that this happens during the
loading of the built-in samples.

and is somehow related to the schema of the process-definition-table:
> CREATE TABLE `JBPM_PROCESSDEFINITION` (
>   `ID_` bigint(20) NOT NULL auto_increment,
>   `NAME_` varchar(255) default NULL,
>   `VERSION_` int(11) default NULL,
>   `ISTERMINATIONIMPLICIT_` bit(1) default NULL,
>   `STARTSTATE_` bigint(20) default NULL,
>   PRIMARY KEY  (`ID_`),
>   KEY `FK_PROCDEF_STRTSTA` (`STARTSTATE_`),
>   CONSTRAINT `FK_PROCDEF_STRTSTA` FOREIGN KEY (`STARTSTATE_`) REFERENCES `JBPM_NODE` (`ID_`)
> ) ENGINE=InnoDB DEFAULT CHARSET=utf8


Before digging any deeper I'ld like to check if I'm not overlooking the
obvious here...




[other settings I assume that are relevant]
mysql-version:
> $ mysql -uroot -p -e "show variables like 'version';"
> Enter password:
> +---------------+---------------------------------+
> | Variable_name | Value                           |
> +---------------+---------------------------------+
> | version       | 5.0.22-Debian_0ubuntu6.06.2-log |
> +---------------+---------------------------------+

connector used:
> $ cat myconfig.xml | grep mysql-connector
>           <classpath>/home/mpo/.maven/repository/mysql/jars/mysql-connector-java-3.1.12-bin.jar</classpath>

database url:
> $ cat myconfig.xml | grep jdbc | grep daisy
>       <url>jdbc:mysql://localhost/daisyrepository?useServerPrepStmts=false</url>


[logging and trace]

> [WARN   ] (daisy.extensions.workflow.workflow-manager): Creating jBPM (workflow engine) database schema. Please be patient...
> Creating jBPM (workflow engine) database schema. Please be patient...
> [INFO   ] (daisy.jcl.org.hibernate.dialect.Dialect): Using dialect: org.hibernate.dialect.MySQLInnoDBDialect
> [INFO   ] (daisy.jcl.org.hibernate.tool.hbm2ddl.SchemaExport): Running hbm2ddl schema export
> [INFO   ] (daisy.jcl.org.hibernate.tool.hbm2ddl.SchemaExport): exporting generated schema to database
> [INFO   ] (daisy.jcl.org.hibernate.connection.ConnectionProviderFactory): Initializing connection provider: org.outerj.daisy.workflow.serverimpl.DaisyConnectionProvider
> [INFO   ] (daisy.jcl.org.hibernate.tool.hbm2ddl.SchemaExport): schema export complete
> [WARN   ] (daisy.jcl.org.jbpm.jpdl.xml.JpdlXmlReader): process xml warning: swimlane 'initiator' does not have an assignment
> [WARN   ] (daisy.jcl.org.hibernate.util.JDBCExceptionReporter): SQL Error: 0, SQLState: 01004
> [ERROR  ] (daisy.jcl.org.hibernate.util.JDBCExceptionReporter): Data truncation: Out of range value adjusted for column 'ISTERMINATIONIMPLICIT_' at row 1

caused deep down by this:

> ---- cause ---------------------------------------------------------------------
> Exception: com.mysql.jdbc.MysqlDataTruncation
> Message: Data truncation: Out of range value adjusted for column 'ISTERMINATIONIMPLICIT_' at row 1
> ---- stack trace ---------------------------------------------------------------
> com.mysql.jdbc.MysqlDataTruncation: Data truncation: Out of range value adjusted for column 'ISTERMINATIONIMPLICIT_' at row 1
> com.mysql.jdbc.SQLError.convertShowWarningsToSQLWarnings(SQLError.java:709)
> com.mysql.jdbc.MysqlIO.scanForAndThrowDataTruncation(MysqlIO.java:3410)
> com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1804)
> com.mysql.jdbc.Connection.execSQL(Connection.java:2994)
> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:936)
> com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1166)
> com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1082)
> com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1067)
> org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:94)
> org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:1968)
> org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2405)
> org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:37)
> org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
> org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:269)
> org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:167)
> org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:101)
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186)
> org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:175)
> org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
> org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:530)
> org.hibernate.impl.SessionImpl.save(SessionImpl.java:518)
> org.hibernate.impl.SessionImpl.save(SessionImpl.java:514)
> org.jbpm.db.GraphSession.deployProcessDefinition(GraphSession.java:77)
> org.jbpm.JbpmContext.deployProcessDefinition(JbpmContext.java:173)
> org.outerj.daisy.workflow.serverimpl.CommonWorkflowManager.internalDeploy(CommonWorkflowManager.java:255)
> org.outerj.daisy.workflow.serverimpl.CommonWorkflowManager.assureJbpmSchemaExists(CommonWorkflowManager.java:182)
> org.outerj.daisy.workflow.serverimpl.CommonWorkflowManager.initialize(CommonWorkflowManager.java:123)
> org.outerj.daisy.workflow.serverimpl.CommonWorkflowManagerComponent.initialize(CommonWorkflowManagerComponent.java:36)
> org.apache.avalon.framework.container.ContainerUtil.initialize(ContainerUtil.java:244)
> org.apache.avalon.activation.impl.DefaultComponentFactory.incarnation(DefaultComponentFactory.java:402)
> org.apache.avalon.activation.impl.DefaultComponentFactory.incarnate(DefaultComponentFactory.java:130)
> org.apache.avalon.activation.impl.SingletonLifestyleManager.refreshReference(SingletonLifestyleManager.java:144)
> org.apache.avalon.activation.impl.SingletonLifestyleManager.commission(SingletonLifestyleManager.java:60)
> org.apache.avalon.activation.impl.DefaultAppliance.commission(DefaultAppliance.java:94)
> org.apache.avalon.activation.impl.DefaultRuntime.commission(DefaultRuntime.java:86)
> org.apache.avalon.composition.model.impl.DefaultSystemContext.commission(DefaultSystemContext.java:362)
> org.apache.avalon.composition.model.impl.DefaultDeploymentModel.commission(DefaultDeploymentModel.java:122)
> org.apache.avalon.composition.model.impl.Commissioner.run(Commissioner.java:185)
> java.lang.Thread.run(Thread.java:595)



-marc=
-- 
Marc Portier                            http://outerthought.org/
Outerthought - Open Source, Java & XML Competence Support Center
Read my weblog at                http://blogs.cocoondev.org/mpo/
mpo at outerthought.org                              mpo at apache.org


More information about the daisy mailing list