0
votes

I just installed Bonita and tried some starter example (so no changes on general configuration were made). My problem is that every time I try to write some attribute of any business variable is like if the process would stop.

I figured this out because if I try to set some default value in my business data (by editing them in the pool variables panel) the Portal doesn't even start, otherwise if I use a service task to set the attributes by operations and than I connect it to a human task, the process starts but the human task is never detected (like of the process would stop to the first task).

So I suppose something goes wrong when I write an attribute in any way and for any object (I've double-checked with object made by the VacationRequest example). How can I fix that?

EDIT: I'm posting log data for the case where I try to insert my inputs by an operation in a service task and than connecting this task to an human one (which is never displayed in the portal)

This is the Studio log:

!ENTRY org.bonitasoft.studio.engine 1 0 2015-12-11 16:19:22.615
!MESSAGE Attempt to login as helen.kelly

!ENTRY org.bonitasoft.studio.engine 1 0 2015-12-11 16:19:22.644
!MESSAGE Login successful.

!ENTRY org.bonitasoft.studio.engine 1 0 2015-12-11 16:19:23.164
!MESSAGE Building bar for process Pool (1.0 )...

!ENTRY org.bonitasoft.studio.engine 1 0 2015-12-11 16:19:24.398
!MESSAGE Build complete for process Pool (1.0 ).

!ENTRY org.bonitasoft.studio.engine 1 0 2015-12-11 16:19:24.407
!MESSAGE Attempt to login as helen.kelly

!ENTRY org.bonitasoft.studio.engine 1 0 2015-12-11 16:19:24.431
!MESSAGE Login successful.

!ENTRY org.bonitasoft.studio.engine 1 0 2015-12-11 16:19:25.138
!MESSAGE Attempt to login as helen.kelly

!ENTRY org.bonitasoft.studio.engine 1 0 2015-12-11 16:19:25.162
!MESSAGE Login successful.

!ENTRY org.bonitasoft.studio.engine 1 0 2015-12-11 16:19:25.195
!MESSAGE Attempt to login as helen.kelly

!ENTRY org.bonitasoft.studio.engine 1 0 2015-12-11 16:19:25.219
!MESSAGE Login successful.

!ENTRY org.bonitasoft.studio.engine 1 0 2015-12-11 16:19:25.314
!MESSAGE Attempt to login as helen.kelly

!ENTRY org.bonitasoft.studio.engine 1 0 2015-12-11 16:19:25.337
!MESSAGE Login successful.

This is the Engine log:

2015-12-11 16:19:22.686 +0100 org.bonitasoft.engine.api.impl.transaction.process.DisableProcess org.bonitasoft.engine.log.technical.TechnicalLoggerSLF4JImpl log 
Informazioni: THREAD_ID=4392 | HOSTNAME=Light-PC | TENANT_ID=1 | The user <helen.kelly> has disabled process <Pool> in version <1.0> with id <8793400777422165775>
2015-12-11 16:19:23.131 +0100 org.bonitasoft.engine.api.impl.ProcessManagementAPIImplDelegate org.bonitasoft.engine.log.technical.TechnicalLoggerSLF4JImpl log 
Informazioni: THREAD_ID=66 | HOSTNAME=Light-PC | TENANT_ID=1 | The user <walter.bates> has deleted process with id = <8793400777422165775>
2015-12-11 16:19:25.115 +0100 org.bonitasoft.engine.api.impl.ProcessAPIImpl org.bonitasoft.engine.log.technical.TechnicalLoggerSLF4JImpl log 
Informazioni: THREAD_ID=4333 | HOSTNAME=Light-PC | TENANT_ID=1 | The user <helen.kelly> has installed process <Pool> in version <1.0> with id <7896310222649598842>
2015-12-11 16:19:25.174 +0100 org.bonitasoft.engine.api.impl.transaction.process.EnableProcess org.bonitasoft.engine.log.technical.TechnicalLoggerSLF4JImpl log 
Informazioni: THREAD_ID=4333 | HOSTNAME=Light-PC | TENANT_ID=1 | The user <helen.kelly> has enabled process <Pool> in version <1.0> with id <7896310222649598842>
2015-12-11 16:19:25.282 +0100 org.bonitasoft.engine.api.impl.ProcessStarter org.bonitasoft.engine.log.technical.TechnicalLoggerSLF4JImpl log 
Informazioni: THREAD_ID=4333 | HOSTNAME=Light-PC | TENANT_ID=1 | The user <helen.kelly> has started the process instance <26> of process <Pool> in version <1.0> and id <7896310222649598842>
2015-12-11 16:19:25.343 +0100 org.hibernate.engine.jdbc.spi.SqlExceptionHelper org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions 
WARN: SQL Error: 23502, SQLState: 23502
2015-12-11 16:19:25.344 +0100 org.hibernate.engine.jdbc.spi.SqlExceptionHelper org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions 
ERROR: NULL not allowed for column "DATAINGRESSOUE"; SQL statement:
insert into CITIZEN (persistenceId, DATAINGRESSOUE, DATAUSCITAUE, FINEVALIDITAVISTO, FINGERPRINT, GIORNISPESI, INIZIOVALIDITAVISTO, NAME, RPT, SURNAME, persistenceVersion) values (null, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [23502-170]
2015-12-11 16:19:25.349 +0100 org.bonitasoft.engine.execution.work.FailureHandlingBonitaWork org.bonitasoft.engine.log.technical.TechnicalLoggerSLF4JImpl log 
Grave: THREAD_ID=5005 | HOSTNAME=Light-PC | TENANT_ID=1 | The work [ExecuteFlowNodeWork: processInstanceId:26, flowNodeInstanceId: 44] failed. The failure will be handled.
2015-12-11 16:19:25.356 +0100 org.bonitasoft.engine.execution.work.FailureHandlingBonitaWork org.bonitasoft.engine.log.technical.TechnicalLoggerSLF4JImpl log 
Grave: THREAD_ID=5005 | HOSTNAME=Light-PC | TENANT_ID=1 | javax.persistence.PersistenceException : "org.hibernate.exception.ConstraintViolationException: could not execute statement"
javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement
    at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387)
    at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310)
    at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1316)
    at org.hibernate.ejb.AbstractEntityManagerImpl.merge(AbstractEntityManagerImpl.java:898)
    at org.bonitasoft.engine.business.data.impl.JPABusinessDataRepositoryImpl.merge(JPABusinessDataRepositoryImpl.java:259)
    at org.bonitasoft.engine.operation.MergeEntityAction.execute(MergeEntityAction.java:41)
    at org.bonitasoft.engine.operation.EntitiesActionsExecutor.executeAction(EntitiesActionsExecutor.java:42)
    at org.bonitasoft.engine.operation.BusinessDataJavaMethodOperationExecutorStrategy.delegateBusinessValueForLeftOperand(BusinessDataJavaMethodOperationExecutorStrategy.java:64)
    at org.bonitasoft.engine.operation.BusinessDataJavaMethodOperationExecutorStrategy.computeNewValueForLeftOperand(BusinessDataJavaMethodOperationExecutorStrategy.java:46)
    at org.bonitasoft.engine.core.operation.impl.OperationServiceImpl.calculateRightOperandValue(OperationServiceImpl.java:122)
    at org.bonitasoft.engine.core.operation.impl.OperationServiceImpl.executeOperators(OperationServiceImpl.java:105)
    at org.bonitasoft.engine.core.operation.impl.OperationServiceImpl.execute(OperationServiceImpl.java:94)
    at org.bonitasoft.engine.core.operation.impl.OperationServiceImpl.execute(OperationServiceImpl.java:81)
    at org.bonitasoft.engine.execution.StateBehaviors.executeOperations(StateBehaviors.java:657)
    at org.bonitasoft.engine.execution.state.ExecutingAutomaticActivityStateImpl.onEnterToOnFinish(ExecutingAutomaticActivityStateImpl.java:48)
    at org.bonitasoft.engine.execution.state.FlowNodeStateWithConnectors.execute(FlowNodeStateWithConnectors.java:73)
    at org.bonitasoft.engine.execution.state.FlowNodeStateWithConnectors.execute(FlowNodeStateWithConnectors.java:35)
    at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.executeState(FlowNodeExecutorImpl.java:128)
    at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.updateState(FlowNodeExecutorImpl.java:180)
    at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.stepForward(FlowNodeExecutorImpl.java:164)
    at org.bonitasoft.engine.execution.FlowNodeExecutorImpl.executeFlowNode(FlowNodeExecutorImpl.java:315)
    at org.bonitasoft.engine.execution.work.ExecuteFlowNodeWork.work(ExecuteFlowNodeWork.java:72)
    at org.bonitasoft.engine.execution.work.TxBonitaWork$1.call(TxBonitaWork.java:48)
    at org.bonitasoft.engine.execution.work.TxBonitaWork$1.call(TxBonitaWork.java:44)
    at org.bonitasoft.engine.transaction.JTATransactionServiceImpl.executeInTransaction(JTATransactionServiceImpl.java:316)
    at org.bonitasoft.engine.execution.work.TxBonitaWork.work(TxBonitaWork.java:53)
    at org.bonitasoft.engine.execution.work.LockProcessInstanceWork.work(LockProcessInstanceWork.java:79)
    at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42)
    at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42)
    at org.bonitasoft.engine.execution.work.failurewrapping.TxInHandleFailureWrappingWork.work(TxInHandleFailureWrappingWork.java:42)
    at org.bonitasoft.engine.execution.work.FailureHandlingBonitaWork.work(FailureHandlingBonitaWork.java:66)
    at org.bonitasoft.engine.work.BonitaWork.run(BonitaWork.java:56)
    at org.bonitasoft.engine.work.SequenceRunnableExecutor.innerRun(SequenceRunnableExecutor.java:47)
    at org.bonitasoft.engine.work.BonitaRunnable.run(BonitaRunnable.java:35)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)
Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement
    at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:129)
    at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:124)
    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:109)
    at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:189)
    at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:96)
    at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:58)
    at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2987)
    at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3499)
    at org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:81)
    at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:395)
    at org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:229)
    at org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:209)
    at org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:193)
    at org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:321)
    at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:286)
    at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:192)
    at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:125)
    at org.hibernate.ejb.event.EJB3MergeEventListener.saveWithGeneratedId(EJB3MergeEventListener.java:71)
    at org.hibernate.event.internal.DefaultMergeEventListener.saveTransientEntity(DefaultMergeEventListener.java:236)
    at org.hibernate.event.internal.DefaultMergeEventListener.entityIsTransient(DefaultMergeEventListener.java:216)
    at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:154)
    at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:76)
    at org.hibernate.internal.SessionImpl.fireMerge(SessionImpl.java:833)
    at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:817)
    at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:821)
    at org.hibernate.ejb.AbstractEntityManagerImpl.merge(AbstractEntityManagerImpl.java:889)
    ... 33 more
Caused by: org.h2.jdbc.JdbcSQLException: NULL not allowed for column "DATAINGRESSOUE"; SQL statement:
insert into CITIZEN (persistenceId, DATAINGRESSOUE, DATAUSCITAUE, FINEVALIDITAVISTO, FINGERPRINT, GIORNISPESI, INIZIOVALIDITAVISTO, NAME, RPT, SURNAME, persistenceVersion) values (null, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [23502-170]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
at org.h2.message.DbException.get(DbException.java:169)
at org.h2.message.DbException.get(DbException.java:146)
at org.h2.table.Column.validateConvertUpdateSequence(Column.java:293)
at org.h2.table.Table.validateConvertUpdateSequence(Table.java:689)
at org.h2.command.dml.Insert.insertRows(Insert.java:120)
at org.h2.command.dml.Insert.update(Insert.java:84)
at org.h2.command.CommandContainer.update(CommandContainer.java:75)
at org.h2.command.Command.executeUpdate(Command.java:230)
at org.h2.server.TcpServerThread.process(TcpServerThread.java:333)
at org.h2.server.TcpServerThread.run(TcpServerThread.java:149)
at java.lang.Thread.run(Thread.java:744)

at org.h2.engine.SessionRemote.done(SessionRemote.java:568)
at org.h2.command.CommandRemote.executeUpdate(CommandRemote.java:181)
at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:156)
at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:142)
at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at bitronix.tm.resource.jdbc.BaseProxyHandlerClass.invoke(BaseProxyHandlerClass.java:64)
at com.sun.proxy.$Proxy142.executeUpdate(Unknown Source)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:186)
... 55 more
1
Do you run your process from Bonita Studio or from your own server setup? Can you share your process so I can try to reproduce the issue? Maybe log files as well.Antoine Mottier
From Bonita Studio, where do I find the log?Giuseppe Trapasso
In the Help menu you can access "Studio log" for errors related to Studio and also "Engine log" for errors related to process deployment and execution. Note that you can also access the file in <studio folder>/workspace.metadata/ folder. .log is Studio log file, tomcat.log is Engine log file.Antoine Mottier
I just edited my question with both Studio and Engine log, hoping it will be of any help.Giuseppe Trapasso

1 Answers

2
votes

Based on the Engine log content it seems that when you create a new entry for "CITIZEN" business variable you didn't specify any value (or specify a null value) for "DATAINGRESSOUE" attribute.

This attribute is probably mandatory, that would explain the error log message: NULL not allowed for column "DATAINGRESSOUE";

You have two options here:

  • Edit your business data model to make this attribute optional. I would also recommend that when you publish your changes you check the option to reset existing data even if for such change it should not be mandatory.
  • Edit the default value Groovy script to make sure that a non-null value is provided for "DATAINGRESSOUE" attribute and all others mandatory attributes.