1 2 3 Previous Next 30 Replies Latest reply on Oct 19, 2009 8:40 AM by mwohlf Go to original post
      • 15. Re: Problems with indexes in jbpm.history.hbm.xml
        mwohlf

        couldn't find a fitting jira to reopen:
        https://jira.jboss.org/jira/browse/JBPM-2477

        • 16. Re: Problems with indexes in jbpm.history.hbm.xml
          kukeltje

          hmmm. I meant to ask if you could checked with an older driver and if there is no problem with that older driver, report it. Not just opening a jira issue ;-)

          I'll comment there...

          • 17. Re: Problems with indexes in jbpm.history.hbm.xml
            mwohlf

            lol, hey I don't use "older drivers", just the latest and greatest, one of the reasons why I try out jbpm4 ;-)

            • 18. Re: Problems with indexes in jbpm.history.hbm.xml
              kukeltje

              hahaha... 'try' in the sense of does it 'fix' the problem, so we *know* it is caused by this instead of staring in the dark. That is called deduction I think. I never said you should use an older driver in production. But it might be (quite sure in the mean time) that you use an *untested* (by JBoss) combination of latest and greatest things.

              • 19. Re: Problems with indexes in jbpm.history.hbm.xml
                hwa

                Okay, there are two situations where this error occurs for me.

                One is when I just have a simple jBPM workflow and I see the error messages but like the JIRA says, everything is able to continue and it's not a blocking issue.

                Another is when I have a jBPM workflow with a Java node in particular (which is the problem I saw from day 1). Then jBoss will loop infinitely and keep exporting the schema to db over and over again and the only error message I see is the Oracle "such column list already indexed". I'm using jBPM 4.0 GA now and this instance of the problem is blocking me because it loops indefinitely and does not even start the workflow process. But if I remove the Java task node, then everything works again. My code is the same as the one I posted here: http://www.jboss.org/index.html?module=bb&op=viewtopic&t=158889

                • 20. Re: Problems with indexes in jbpm.history.hbm.xml
                  kukeltje

                  Can you make a unit test that demonstrates the problem?

                  • 21. Re: Problems with indexes in jbpm.history.hbm.xml
                    hwa

                    Test cases that demonstrates the two situations with the same db error messages: one without the Java node (which prints out errors but continues the workflow process without any blocking issues), another with the Java node (which prints out errors and gets stuck in infinite loop while exporting schema to db over and over again).

                    For both cases, I use the same Java code; relevant snippet from my App.java is shown here.

                    App.java:

                     private ProcessEngine processEngine;
                     private RepositoryService repositoryService;
                     private ExecutionService executionService;
                     private TaskService taskService;
                    
                     private Map<String, Object> caseinfo = new HashMap<String, Object>();
                     private int tenth = 0;
                    
                     public App() {
                     processEngine = new Configuration().buildProcessEngine();
                     repositoryService = processEngine.getRepositoryService();
                     executionService = processEngine.getExecutionService();
                     taskService = processEngine.getTaskService();
                    
                     repositoryService.createDeployment().addResourceFromClasspath("workflow.jpdl.xml").deploy();
                     }
                    
                     public String whatCond() {
                     tenth++;
                     if (tenth == 10) {
                     tenth = 0;
                     log.info("Checking isTenth: YES");
                     return "yes";
                     } else {
                     log.info("Checking isTenth: NO");
                     return "no";
                     }
                     }
                    
                     public String runPOC(String arg) {
                     ProcessInstance processInstance = executionService.startProcessInstanceByKey("test");
                     String pid = processInstance.getId();
                     String cond = "yes";
                    
                     List<Task> taskList = taskService.findPersonalTasks("cathy");
                     Task task = taskList.get(0);
                     String taskDbid = task.getId();
                     Map<String, Object> variables = new HashMap<String, Object>();
                     variables.put("arg", arg);
                     variables.put("cond", cond);
                     taskService.setVariables(taskDbid, variables);
                     taskService.completeTask(taskDbid);
                    
                     processInstance = executionService.findProcessInstanceById(pid);
                     String result = processInstance.findActiveActivityNames().toArray()[0].toString();
                     log.info("Result: " + result);
                    
                     return result;
                     }
                    


                    Here's the test case with no Java nodes where it prints out the error message but continues without any blocking issues.

                    workflow.jpdl.xml:
                    <?xml version="1.0" encoding="UTF-8"?>
                    
                    <process name="test" xmlns="http://jbpm.org/4.0/jpdl">
                     <decision expr="#{arg}" g="228,336,61,49" name="runJava?">
                     <transition g="-5,5" name="no" to="nojava"/>
                     <transition name="yes" to="java" g="-44,-21"/>
                     </decision>
                     <task assignee="cathy" g="60,336,97,49" name="new">
                     <transition g="-24,-18" name="to runJava?" to="runJava?"/>
                     </task>
                     <task assignee="peter" g="276,216,97,49" name="nojava">
                     <transition g="-41,-21" name="to end" to="end"/>
                     </task>
                     <task assignee="cathy" g="612,456,97,49" name="bad">
                     <transition g="-21,-16" name="to end" to="end"/>
                     </task>
                     <task assignee="peter" g="444,336,97,49" name="good">
                     <transition g="-41,-21" name="to end" to="end"/>
                     </task>
                     <end g="636,336,49,49" name="end"/>
                     <start g="84,216,49,49" name="start">
                     <transition g="7,-11" name="to new" to="new"/>
                     </start>
                     <decision expr="#{cond}" g="468,456,49,49" name="condition?">
                     <transition g="-11,-18" name="no" to="bad"/>
                     <transition g="-21,-3" name="yes" to="good"/>
                     </decision>
                     <state name="java" g="288,456,97,49">
                     <transition name="to condition?" to="condition?" g="-40,-21"/>
                     </state>
                    </process>
                    


                    Errors appears but workflow continues. In the example here, I pass runPOC with arg "no" first, then I tried it with arg "yes":
                    11:49:07,678 INFO [SchemaExport] exporting generated schema to database
                    11:49:10,256 SEVERE [SchemaExport] Unsuccessful: create index IDX_HDETAIL_HVAR on JBPM4_HIST_DETAIL (HVAR_)
                    11:49:10,256 SEVERE [SchemaExport] ORA-01408: such column list already indexed
                    
                    11:49:10,256 SEVERE [SchemaExport] Unsuccessful: create index IDX_HDETAIL_HTASK on JBPM4_HIST_DETAIL (HTASK_)
                    11:49:10,272 SEVERE [SchemaExport] ORA-01408: such column list already indexed
                    
                    11:49:10,272 SEVERE [SchemaExport] Unsuccessful: create index IDX_HDETAIL_HACTI on JBPM4_HIST_DETAIL (HACTI_)
                    11:49:10,272 SEVERE [SchemaExport] ORA-01408: such column list already indexed
                    
                    11:49:10,272 SEVERE [SchemaExport] Unsuccessful: create index IDX_HDETAIL_HPROCI on JBPM4_HIST_DETAIL (HPROCI_)
                    11:49:10,272 SEVERE [SchemaExport] ORA-01408: such column list already indexed
                    
                    11:49:10,912 INFO [SchemaExport] schema export complete
                    11:50:47,148 INFO [App] Result: nojava
                    11:50:50,711 INFO [App] Result: java
                    


                    ----------------------------------------------------------

                    Here is the test case where it prints out the error message but does NOT work and cannot start the workflow process.

                    workflow.jpdl.xml:
                    <?xml version="1.0" encoding="UTF-8"?>
                    
                    <process name="test" xmlns="http://jbpm.org/4.0/jpdl">
                     <decision expr="#{arg}" g="228,336,61,49" name="runJava?">
                     <transition g="-4,-20" name="yes" to="java"/>
                     <transition g="-5,5" name="no" to="nojava"/>
                     </decision>
                     <decision expr="#{cond}" g="468,456,49,49" name="condition?">
                     <transition g="-11,-18" name="no" to="bad"/>
                     <transition g="-21,-3" name="yes" to="good"/>
                     </decision>
                     <task assignee="cathy" g="60,336,97,49" name="new">
                     <transition g="-24,-18" name="to runJava?" to="runJava?"/>
                     </task>
                     <task assignee="peter" g="276,216,97,49" name="nojava">
                     <transition name="to end" to="end" g="-41,-21"/>
                     </task>
                     <java class="com.hwa.poc.server.App" continue="sync" g="276,456,97,49" method="whatCond" name="java" var="cond">
                     <transition g="-40,-18" name="to condition?" to="condition?"/>
                     </java>
                     <task assignee="cathy" g="612,456,97,49" name="bad">
                     <transition g="-21,-16" name="to end" to="end"/>
                     </task>
                     <task assignee="peter" g="444,336,97,49" name="good">
                     <transition name="to end" to="end" g="-41,-21"/>
                     </task>
                     <end g="636,336,49,49" name="end"/>
                     <start g="84,216,49,49" name="start">
                     <transition g="7,-11" name="to new" to="new"/>
                     </start>
                    </process>
                    


                    Then the following will repeat over and over again in some infinite loop without ever starting the workflow process.
                    11:31:36,580 INFO [Configuration] configuring from resource: jbpm.hibernate.cfg.xml
                    11:31:36,580 INFO [Configuration] Configuration resource: jbpm.hibernate.cfg.xml
                    11:31:36,580 INFO [Configuration] Reading mappings from resource : jbpm.repository.hbm.xml
                    11:31:36,595 INFO [HbmBinder] Mapping class: org.jbpm.pvm.internal.repository.DeploymentImpl -> JBPM4_DEPLOYMENT
                    11:31:36,595 INFO [HbmBinder] Mapping class: org.jbpm.pvm.internal.repository.DeploymentProperty -> JBPM4_DEPLOYPROP
                    11:31:36,595 INFO [Configuration] Reading mappings from resource : jbpm.execution.hbm.xml
                    11:31:36,642 INFO [HbmBinder] Mapping class: org.jbpm.pvm.internal.model.ExecutionImpl -> JBPM4_EXECUTION
                    11:31:36,658 INFO [HbmBinder] Mapping class: org.jbpm.pvm.internal.type.Variable -> JBPM4_VARIABLE
                    11:31:36,658 INFO [HbmBinder] Mapping subclass: org.jbpm.pvm.internal.type.variable.DateVariable -> JBPM4_VARIABLE
                    11:31:36,658 INFO [HbmBinder] Mapping subclass: org.jbpm.pvm.internal.type.variable.DoubleVariable -> JBPM4_VARIABLE
                    11:31:36,658 INFO [HbmBinder] Mapping subclass: org.jbpm.pvm.internal.type.variable.HibernateLongVariable -> JBPM4_VARIABLE
                    11:31:36,705 INFO [HbmBinder] Mapping subclass: org.jbpm.pvm.internal.type.variable.LongVariable -> JBPM4_VARIABLE
                    11:31:36,705 INFO [HbmBinder] Mapping subclass: org.jbpm.pvm.internal.type.variable.HibernateStringVariable -> JBPM4_VARIABLE
                    11:31:36,705 INFO [HbmBinder] Mapping subclass: org.jbpm.pvm.internal.type.variable.StringVariable -> JBPM4_VARIABLE
                    11:31:36,705 INFO [HbmBinder] Mapping subclass: org.jbpm.pvm.internal.type.variable.TextVariable -> JBPM4_VARIABLE
                    11:31:36,705 INFO [HbmBinder] Mapping subclass: org.jbpm.pvm.internal.type.variable.NullVariable -> JBPM4_VARIABLE
                    11:31:36,705 INFO [HbmBinder] Mapping subclass: org.jbpm.pvm.internal.type.variable.BlobVariable -> JBPM4_VARIABLE
                    11:31:36,705 INFO [HbmBinder] Mapping class: org.jbpm.pvm.internal.lob.Lob -> JBPM4_LOB
                    11:31:36,705 INFO [HbmBinder] Mapping class: org.jbpm.pvm.internal.job.JobImpl -> JBPM4_JOB
                    11:31:36,720 INFO [HbmBinder] Mapping subclass: org.jbpm.pvm.internal.job.MessageImpl -> JBPM4_JOB
                    11:31:36,720 INFO [HbmBinder] Mapping subclass: org.jbpm.pvm.internal.model.op.ExecuteActivityMessage -> JBPM4_JOB
                    11:31:36,720 INFO [HbmBinder] Mapping subclass: org.jbpm.pvm.internal.model.op.ExecuteEventListenerMessage -> JBPM4_JOB
                    11:31:36,720 INFO [HbmBinder] Mapping subclass: org.jbpm.pvm.internal.job.CommandMessage -> JBPM4_JOB
                    11:31:36,720 INFO [HbmBinder] Mapping subclass: org.jbpm.pvm.internal.job.TimerImpl -> JBPM4_JOB
                    11:31:36,720 INFO [Configuration] Reading mappings from resource : jbpm.history.hbm.xml
                    11:31:36,751 INFO [HbmBinder] Mapping class: org.jbpm.pvm.internal.history.model.HistoryProcessInstanceImpl -> JBPM4_HIST_PROCINST
                    11:31:36,751 INFO [HbmBinder] Mapping class: org.jbpm.pvm.internal.history.model.HistoryActivityInstanceImpl -> JBPM4_HIST_ACTINST
                    11:31:36,767 INFO [HbmBinder] Mapping subclass: org.jbpm.pvm.internal.history.model.HistoryAutomaticInstanceImpl -> JBPM4_HIST_ACTINST
                    11:31:36,767 INFO [HbmBinder] Mapping subclass: org.jbpm.pvm.internal.history.model.HistoryDecisionInstanceImpl -> JBPM4_HIST_ACTINST
                    11:31:36,767 INFO [HbmBinder] Mapping subclass: org.jbpm.pvm.internal.history.model.HistoryTaskInstanceImpl -> JBPM4_HIST_ACTINST
                    11:31:36,767 INFO [HbmBinder] Mapping class: org.jbpm.pvm.internal.history.model.HistoryTaskImpl -> JBPM4_HIST_TASK
                    11:31:36,767 INFO [HbmBinder] Mapping class: org.jbpm.pvm.internal.history.model.HistoryVariableImpl -> JBPM4_HIST_VAR
                    11:31:36,767 INFO [HbmBinder] Mapping class: org.jbpm.pvm.internal.history.model.HistoryDetailImpl -> JBPM4_HIST_DETAIL
                    11:31:36,767 INFO [HbmBinder] Mapping subclass: org.jbpm.pvm.internal.history.model.HistoryCommentImpl -> JBPM4_HIST_DETAIL
                    11:31:36,767 INFO [HbmBinder] Mapping subclass: org.jbpm.pvm.internal.history.model.HistoryPriorityUpdateImpl -> JBPM4_HIST_DETAIL
                    11:31:36,767 INFO [HbmBinder] Mapping subclass: org.jbpm.pvm.internal.history.model.HistoryTaskAssignmentImpl -> JBPM4_HIST_DETAIL
                    11:31:36,767 INFO [HbmBinder] Mapping subclass: org.jbpm.pvm.internal.history.model.HistoryTaskDuedateUpdateImpl -> JBPM4_HIST_DETAIL
                    11:31:36,767 INFO [HbmBinder] Mapping subclass: org.jbpm.pvm.internal.history.model.HistoryVariableUpdateImpl -> JBPM4_HIST_DETAIL
                    11:31:36,767 INFO [Configuration] Reading mappings from resource : jbpm.task.hbm.xml
                    11:31:36,783 INFO [HbmBinder] Mapping class: org.jbpm.pvm.internal.task.TaskImpl -> JBPM4_TASK
                    11:31:42,830 INFO [HbmBinder] Mapping class: org.jbpm.pvm.internal.task.ParticipationImpl -> JBPM4_PARTICIPATION
                    11:31:42,830 INFO [HbmBinder] Mapping class: org.jbpm.pvm.internal.task.SwimlaneImpl -> JBPM4_SWIMLANE
                    11:31:42,830 INFO [Configuration] Reading mappings from resource : jbpm.identity.hbm.xml
                    11:31:42,861 INFO [HbmBinder] Mapping class: org.jbpm.pvm.internal.identity.impl.UserImpl -> JBPM4_ID_USER
                    11:31:42,861 INFO [HbmBinder] Mapping class: org.jbpm.pvm.internal.identity.impl.MembershipImpl -> JBPM4_ID_MEMBERSHIP
                    11:31:42,861 INFO [HbmBinder] Mapping class: org.jbpm.pvm.internal.identity.impl.GroupImpl -> JBPM4_ID_GROUP
                    11:31:42,861 INFO [Configuration] Configured SessionFactory: null
                    11:31:42,877 INFO [HbmBinder] Mapping collection: org.jbpm.pvm.internal.repository.DeploymentImpl.resources -> JBPM4_LOB
                    11:31:42,877 INFO [HbmBinder] Mapping collection: org.jbpm.pvm.internal.repository.DeploymentImpl.objectProperties -> JBPM4_DEPLOYPROP
                    11:31:42,877 INFO [HbmBinder] Mapping collection: org.jbpm.pvm.internal.model.ExecutionImpl.variables -> JBPM4_VARIABLE
                    11:31:42,877 INFO [HbmBinder] Mapping collection: org.jbpm.pvm.internal.model.ExecutionImpl.systemVariables -> JBPM4_VARIABLE
                    11:31:42,877 INFO [HbmBinder] Mapping collection: org.jbpm.pvm.internal.model.ExecutionImpl.executions -> JBPM4_EXECUTION
                    11:31:42,877 INFO [HbmBinder] Mapping collection: org.jbpm.pvm.internal.model.ExecutionImpl.swimlanes -> JBPM4_SWIMLANE
                    11:31:42,892 INFO [HbmBinder] Mapping collection: org.jbpm.pvm.internal.history.model.HistoryProcessInstanceImpl.historyActivityInstances -> JBPM4_HI
                    ST_ACTINST
                    11:31:42,892 INFO [HbmBinder] Mapping collection: org.jbpm.pvm.internal.history.model.HistoryProcessInstanceImpl.historyVariables -> JBPM4_HIST_VAR
                    11:31:42,892 INFO [HbmBinder] Mapping collection: org.jbpm.pvm.internal.history.model.HistoryProcessInstanceImpl.details -> JBPM4_HIST_DETAIL
                    11:31:42,892 INFO [HbmBinder] Mapping collection: org.jbpm.pvm.internal.history.model.HistoryActivityInstanceImpl.details -> JBPM4_HIST_DETAIL
                    11:31:42,892 INFO [HbmBinder] Mapping collection: org.jbpm.pvm.internal.history.model.HistoryTaskImpl.details -> JBPM4_HIST_DETAIL
                    11:31:42,892 INFO [HbmBinder] Mapping collection: org.jbpm.pvm.internal.history.model.HistoryTaskImpl.historyVariables -> JBPM4_HIST_VAR
                    11:31:42,892 INFO [HbmBinder] Mapping collection: org.jbpm.pvm.internal.history.model.HistoryTaskImpl.subTasks -> JBPM4_HIST_TASK
                    11:31:42,908 INFO [HbmBinder] Mapping collection: org.jbpm.pvm.internal.history.model.HistoryVariableImpl.details -> JBPM4_HIST_DETAIL
                    11:31:42,908 INFO [HbmBinder] Mapping collection: org.jbpm.pvm.internal.history.model.HistoryCommentImpl.replies -> JBPM4_HIST_DETAIL
                    11:31:42,908 INFO [HbmBinder] Mapping collection: org.jbpm.pvm.internal.task.TaskImpl.participations -> JBPM4_PARTICIPATION
                    11:31:42,908 INFO [HbmBinder] Mapping collection: org.jbpm.pvm.internal.task.TaskImpl.variables -> JBPM4_VARIABLE
                    11:31:42,908 INFO [HbmBinder] Mapping collection: org.jbpm.pvm.internal.task.TaskImpl.subTasks -> JBPM4_TASK
                    11:31:42,923 INFO [HbmBinder] Mapping collection: org.jbpm.pvm.internal.task.SwimlaneImpl.participations -> JBPM4_PARTICIPATION
                    11:31:42,923 INFO [DriverManagerConnectionProvider] Using Hibernate built-in connection pool (not for production use!)
                    11:31:42,923 INFO [DriverManagerConnectionProvider] Hibernate connection pool size: 20
                    11:31:42,923 INFO [DriverManagerConnectionProvider] autocommit mode: false
                    11:31:42,923 INFO [DriverManagerConnectionProvider] using driver: oracle.jdbc.OracleDriver at URL: jdbc:oracle:oci:@orcl
                    11:31:42,939 INFO [DriverManagerConnectionProvider] connection properties: {user=jbpm, password=****}
                    11:31:43,002 INFO [SettingsFactory] RDBMS: Oracle, version: Oracle Database 10g Release 10.2.0.1.0 - Production
                    11:31:43,002 INFO [SettingsFactory] JDBC driver: Oracle JDBC driver, version: 10.2.0.1.0
                    11:31:43,002 INFO [Dialect] Using dialect: org.hibernate.dialect.Oracle10gDialect
                    11:31:43,002 INFO [TransactionFactoryFactory] Using default transaction strategy (direct JDBC transactions)
                    11:31:43,002 INFO [TransactionManagerLookupFactory] No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional se
                    cond-level cache is not recommended)
                    11:31:43,002 INFO [SettingsFactory] Automatic flush during beforeCompletion(): disabled
                    11:31:43,017 INFO [SettingsFactory] Automatic session close at end of transaction: disabled
                    11:31:43,017 INFO [SettingsFactory] JDBC batch size: 15
                    11:31:43,017 INFO [SettingsFactory] JDBC batch updates for versioned data: disabled
                    11:31:43,017 INFO [SettingsFactory] Scrollable result sets: enabled
                    11:31:43,017 INFO [SettingsFactory] JDBC3 getGeneratedKeys(): disabled
                    11:31:43,017 INFO [SettingsFactory] Connection release mode: auto
                    11:31:43,017 INFO [SettingsFactory] Default batch fetch size: 1
                    11:31:43,017 INFO [SettingsFactory] Generate SQL with comments: disabled
                    11:31:43,017 INFO [SettingsFactory] Order SQL updates by primary key: disabled
                    11:31:43,017 INFO [SettingsFactory] Order SQL inserts for batching: disabled
                    11:31:43,017 INFO [SettingsFactory] Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
                    11:31:43,017 INFO [ASTQueryTranslatorFactory] Using ASTQueryTranslatorFactory
                    11:31:43,017 INFO [SettingsFactory] Query language substitutions: {}
                    11:31:43,017 INFO [SettingsFactory] JPA-QL strict compliance: disabled
                    11:31:43,017 INFO [SettingsFactory] Second-level cache: enabled
                    11:31:43,017 INFO [SettingsFactory] Query cache: disabled
                    11:31:43,017 INFO [SettingsFactory] Cache region factory : org.hibernate.cache.impl.NoCachingRegionFactory
                    11:31:43,017 INFO [SettingsFactory] Optimize cache for minimal puts: disabled
                    11:31:43,033 INFO [SettingsFactory] Structured second-level cache entries: disabled
                    11:31:43,033 INFO [SettingsFactory] Statistics: disabled
                    11:31:43,033 INFO [SettingsFactory] Deleted entity synthetic identifier rollback: disabled
                    11:31:43,033 INFO [SettingsFactory] Default entity-mode: pojo
                    11:31:43,033 INFO [SettingsFactory] Named query checking : enabled
                    11:31:43,033 INFO [SessionFactoryImpl] building session factory
                    11:31:43,173 INFO [SessionFactoryObjectFactory] Not binding factory to JNDI, no JNDI name configured
                    11:31:43,189 INFO [SchemaExport] Running hbm2ddl schema export
                    11:31:43,189 INFO [SchemaExport] exporting generated schema to database
                    11:31:35,689 SEVERE [SchemaExport] Unsuccessful: create index IDX_HDETAIL_HVAR on JBPM4_HIST_DETAIL (HVAR_)
                    11:31:35,689 SEVERE [SchemaExport] ORA-01408: such column list already indexed
                    
                    11:31:35,705 SEVERE [SchemaExport] Unsuccessful: create index IDX_HDETAIL_HTASK on JBPM4_HIST_DETAIL (HTASK_)
                    11:31:35,705 SEVERE [SchemaExport] ORA-01408: such column list already indexed
                    
                    11:31:35,705 SEVERE [SchemaExport] Unsuccessful: create index IDX_HDETAIL_HACTI on JBPM4_HIST_DETAIL (HACTI_)
                    11:31:35,705 SEVERE [SchemaExport] ORA-01408: such column list already indexed
                    
                    11:31:35,705 SEVERE [SchemaExport] Unsuccessful: create index IDX_HDETAIL_HPROCI on JBPM4_HIST_DETAIL (HPROCI_)
                    11:31:35,736 SEVERE [SchemaExport] ORA-01408: such column list already indexed
                    
                    11:31:36,408 INFO [SchemaExport] schema export complete
                    


                    • 22. Re: Problems with indexes in jbpm.history.hbm.xml
                      hwa

                      Oh, and I forgot to include my jbpm.hibernate.cfg.xml:

                      <?xml version="1.0" encoding="utf-8"?>
                      
                      <!DOCTYPE hibernate-configuration PUBLIC
                       "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
                       "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
                      
                      <hibernate-configuration>
                       <session-factory>
                      
                       <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
                       <property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property>
                       <property name="hibernate.connection.url">jdbc:oracle:oci:@orcl</property>
                       <property name="hibernate.connection.username">jbpm</property>
                       <property name="hibernate.connection.password">jbpm</property>
                       <property name="hibernate.hbm2ddl.auto">create-drop</property>
                       <property name="hibernate.format_sql">true</property>
                      
                       <mapping resource="jbpm.repository.hbm.xml" />
                       <mapping resource="jbpm.execution.hbm.xml" />
                       <mapping resource="jbpm.history.hbm.xml" />
                       <mapping resource="jbpm.task.hbm.xml" />
                       <mapping resource="jbpm.identity.hbm.xml" />
                      
                       </session-factory>
                      </hibernate-configuration>
                      


                      • 23. Re: Problems with indexes in jbpm.history.hbm.xml
                        kukeltje

                        uhhhhhmmmmmm..... you use the class that is your 'test app' also as the actionhandler.... and you do a lot of work in the constructor. Now that is an obvious explanation why you see the loop. since each time your actionhandler is called it is constructed and starts a new process etc... so it is not a loop, but a recursive thing.

                        Separate your java actionhandler from the test class or make the actionhandler an inner class.

                        • 24. Re: Problems with indexes in jbpm.history.hbm.xml
                          kukeltje

                          oh, and since you have 'create-drop' in your hibernate file it may become even worse.

                          • 25. Re: Problems with indexes in jbpm.history.hbm.xml
                            mr_magoo

                            Not sure if this is helpful but I ran across similar installation issues myself when trying to install jbpm4 while still having jbpm3 installed. I had assumed that since the two were stated as being able to run side by side they should not have overlapping index names.
                            Nope. They do. Worked it out after a few hours of head scratching...

                            PS:
                            jbpm4 and spring integration failed miserably and I ended up having to stick with 3. (multiple systemic problems all throughout with async and executor - no surprises there I guess) Followed every config suggestion I could find...nothing.

                            Hopefully will be sorted out in the near future as I really like the new design/config in 4. It seems async processing in both engines when integrating with spring is a bit wobbly in both. (am posting my async spring integration tips soon to help out others)

                            • 26. Re: Problems with indexes in jbpm.history.hbm.xml
                              kukeltje

                              hmmm... oracle as well? I've not seen errors regarding this in my MySQL instance.

                              • 27. Re: Problems with indexes in jbpm.history.hbm.xml
                                hwa

                                 

                                "kukeltje" wrote:
                                uhhhhhmmmmmm..... you use the class that is your 'test app' also as the actionhandler.... and you do a lot of work in the constructor. Now that is an obvious explanation why you see the loop. since each time your actionhandler is called it is constructed and starts a new process etc... so it is not a loop, but a recursive thing.

                                Separate your java actionhandler from the test class or make the actionhandler an inner class.


                                Oh shoot. That's a good point. I think I was so busy trying out all the jBPM stuff that I forgot that I had the action handler my test class constructor--I should've seen that already--of course it's looping b/c the constructor was restarting the schema over and over again...dangit...okay, that seemed to solve my problem. Thanks so much!

                                • 28. Re: Problems with indexes in jbpm.history.hbm.xml
                                  hwa

                                   

                                  "hwa" wrote:
                                  "kukeltje" wrote:
                                  uhhhhhmmmmmm..... you use the class that is your 'test app' also as the actionhandler.... and you do a lot of work in the constructor. Now that is an obvious explanation why you see the loop. since each time your actionhandler is called it is constructed and starts a new process etc... so it is not a loop, but a recursive thing.

                                  Separate your java actionhandler from the test class or make the actionhandler an inner class.


                                  Oh shoot. That's a good point. I think I was so busy trying out all the jBPM stuff that I forgot that I had the action handler my test class constructor--I should've seen that already--of course it's looping b/c the constructor was restarting the schema over and over again...dangit...okay, that seemed to solve my problem. Thanks so much!


                                  On a side note, I didn't realize that the action handler would be called until I reached that point in the process. Why would it get called over and over again before the process even starts?

                                  • 29. Re: Problems with indexes in jbpm.history.hbm.xml
                                    ronanker

                                    Hi all,

                                    I hadn't seen the bug when i installed my app on SQL Server but I'm now installing it with Oracle and I discover it...

                                    so In my SQL Server Database the 4 double-index exist so it takes lots of more space... so in next update script for my clients i'll delete useless indexes...
                                    And for my install under Oracle i'll correct the initial script not to try to create thoses useless indexes...

                                    just to say that in oracle when we use in the script :
                                    "WHENEVER SQLERROR EXIT SQL.SQLCODE ROLLBACK"
                                    then it's a blocking bug...
                                    (i'm on oracle 10g and launching initial and migration scripts with sqlplus command)

                                    as an index can easily be re-created, the migration can just consist in delete the 4x2=8 index with "if exist" or equivalent and then create the 4 good ones...

                                    I would just want to know, what will be the names of the good ones ?
                                    those with "_DET_" or those with "_DETAIL_" ?


                                    thanks :-)