[JBoss JIRA] Created: (JBPM-2119) Work around the need for an extra column to persist field Join.parentLockMode
by Alejandro Guizar (JIRA)
Work around the need for an extra column to persist field Join.parentLockMode
-----------------------------------------------------------------------------
Key: JBPM-2119
URL: https://jira.jboss.org/jira/browse/JBPM-2119
Project: JBoss jBPM
Issue Type: Task
Security Level: Public (Everyone can see)
Components: Core Engine
Affects Versions: jBPM-3.2.5.SP4
Reporter: Alejandro Guizar
Assignee: Alejandro Guizar
Priority: Blocker
Fix For: jBPM 3.2.7 GA
In JBPM-1755, a new column PARENTLOCKMODE_ was added to table JBPM_NODE for persisting field Join.parentLockMode. Turns out the schema change is a barrier for our customers to upgrade to newer versions.
The proposed solution is to provide two different mappings for the Join class, with and without the column. The provided Hibernate configuration will include the mapping without the column by default. Interested parties may inclde the version with the column in their own Hibernate configuration.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 5 months
[JBoss JIRA] Created: (JBPM-2202) jBPM might be re-loading classes when not strictly necessary
by Alejandro Guizar (JIRA)
jBPM might be re-loading classes when not strictly necessary
------------------------------------------------------------
Key: JBPM-2202
URL: https://jira.jboss.org/jira/browse/JBPM-2202
Project: JBoss jBPM
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Runtime Engine
Affects Versions: jBPM 3.2.5.SP5
Environment: 39 unique processes
243 entries in jbpm.jbpm_processdefinition
ach process has ~6 versions deployed, of which only the most recent version is in daily usage
ehcache is configured as the hibernate cache.
Reporter: Alejandro Guizar
Assignee: Alejandro Guizar
jBPM creates new Java classes out of binary process definition data stored in the database. This is needed for different versions of the process. It appears a special classloader is used for this. In SUN hotspot-class JVMs, parts of these load classes would be stored in perm gen rather than heap, which is not typically collected until absolutely necessary, potentially causing high cpu gc thrashing issues. If this was normal objects we were dealing with, the parallel scavenges or CMS fulls should collect them without problems. It appears this is not the case.
I believe the issue is that jBPM might be re-loading classes when not strictly necessary.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 5 months
[JBoss JIRA] Created: (JBPM-2360) fix deletion of deployments in cluster
by Tom Baeyens (JIRA)
fix deletion of deployments in cluster
--------------------------------------
Key: JBPM-2360
URL: https://jira.jboss.org/jira/browse/JBPM-2360
Project: JBoss jBPM
Issue Type: Task
Security Level: Public (Everyone can see)
Components: Runtime Engine
Reporter: Tom Baeyens
Fix For: jBPM 4.0
when a deployment gets deleted, the request arrives in one node of the cluster. that node can remove the deployment and its process definition from the repository cache immediately.
but how will the other nodes in the cluster know ?
some check with db access has to be added every time an object (process definition) is fetched from the repository cache. alternatively this can also be enforced at those locations where suspended must be checked: in the commands for starting a new execution, signalling and so on.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 5 months
[JBoss JIRA] Reopened: (JBPM-1620) EntitySchedulerService fails with ObjectNotFoundException
by Alejandro Guizar (JIRA)
[ https://jira.jboss.org/jira/browse/JBPM-1620?page=com.atlassian.jira.plug... ]
Alejandro Guizar reopened JBPM-1620:
------------------------------------
> EntitySchedulerService fails with ObjectNotFoundException
> ---------------------------------------------------------
>
> Key: JBPM-1620
> URL: https://jira.jboss.org/jira/browse/JBPM-1620
> Project: JBoss jBPM
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: jBPM 3.2.3
> Environment: jbpm-enterprise.ear with jbpm.cfg.xml:
> <service name="scheduler" factory="org.jbpm.scheduler.ejbtimer.EntitySchedulerServiceFactory" />
> Reporter: Martin Putz
> Assignee: Alejandro Guizar
> Fix For: jBPM 3.3.0 GA
>
>
> When a process contains a timer definition, the EntitySchedulerService#createTimer function fails with the following stacktrace:
> 2008-08-14 14:42:22,563 DEBUG [org.jbpm.scheduler.ejbtimer.EntitySchedulerService] creating timer timer(initialReminder,08-08-14 14:42:32,553,Token: 6999)
> 2008-08-14 14:42:22,563 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
> 2008-08-14 14:42:22,563 DEBUG [org.hibernate.jdbc.ConnectionManager] opening JDBC connection
> 2008-08-14 14:42:22,563 DEBUG [org.hibernate.SQL] select nextval ('hibernate_sequence')
> 2008-08-14 14:42:22,564 DEBUG [org.hibernate.id.SequenceGenerator] Sequence identifier generated: 7000
> 2008-08-14 14:42:22,564 DEBUG [org.hibernate.jdbc.AbstractBatcher] about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
> 2008-08-14 14:42:22,564 DEBUG [org.hibernate.jdbc.ConnectionManager] aggressively releasing JDBC connection
> 2008-08-14 14:42:22,564 DEBUG [org.hibernate.jdbc.ConnectionManager] releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: 0)]
> 2008-08-14 14:42:22,564 DEBUG [org.hibernate.event.def.AbstractSaveEventListener] generated identifier: 7000, using strategy: org.hibernate.id.SequenceGenerator
> 2008-08-14 14:42:22,565 DEBUG [org.jboss.ejb.plugins.cmp.jdbc.JDBCFindByPrimaryKeyQuery.TimerEntityBean#findByPrimaryKey] Executing SQL: SELECT t0_TimerEntityBean.ID_ FROM jbpm_job t0_TimerEntityBean WHERE t0_TimerEntityBean.ID_=?
> 2008-08-14 14:42:22,566 ERROR [org.jbpm.scheduler.ejbtimer.EntitySchedulerService] failed to retrieve entity for timer timer(initialReminder,08-08-14 14:42:32,553,Token: 6999)
> javax.ejb.ObjectNotFoundException: No such entity!
> at org.jboss.ejb.plugins.cmp.jdbc.JDBCFindEntityCommand.execute(JDBCFindEntityCommand.java:64)
> at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.findEntity(JDBCStoreManager.java:604)
> at org.jboss.ejb.plugins.CMPPersistenceManager.findEntity(CMPPersistenceManager.java:315)
> at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.findEntity(CachedConnectionInterceptor.java:236)
> at org.jboss.ejb.EntityContainer.findSingleObject(EntityContainer.java:1099)
> at org.jboss.ejb.EntityContainer.findLocal(EntityContainer.java:676)
> 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:585)
> ...
> at $Proxy62.findByPrimaryKey(Unknown Source)
> The new record has not been written to the JBPM_JOB table at the time the timerEntityHome.findByPrimaryKey(new Long(timer.getId())); call is made. I tried adding a Hibernate session.flush() before, which solved this problem. But as a consequence this workaround showed the symptoms of multiple 1-phase aware participants enlisting in the same transaction (http://wiki.jboss.org/wiki/Multiple1PC), so there must be a cleaner solution to it.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 5 months
[JBoss JIRA] Created: (JBPM-2452) freemarker templating for task forms: outcome (transitions) vs. outcome (result) clash
by Marko Friedemann (JIRA)
freemarker templating for task forms: outcome (transitions) vs. outcome (result) clash
--------------------------------------------------------------------------------------
Key: JBPM-2452
URL: https://jira.jboss.org/jira/browse/JBPM-2452
Project: JBoss jBPM
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Runtime Engine
Affects Versions: jBPM 4.0
Environment: Deployed in Jboss 5.1.0.GA on Windows XP.
Reporter: Marko Friedemann
In the freemarker-based templating mechanism for task forms, 'outcome' is both
"a default context information for templates".
and
"reserved field name for signaling execution".
Additionaly, "form field names become process variables and vice-versa".
(See http://www.jboss.org/index.html?module=bb&op=viewtopic&t=155048.)
,-- example code in the documentation --
| <#list outcome.values as transition>
| <input type="submit" name="outcome" value="${transition}">
| </#list>
`--------------------
This code works exactly once.
If used a second time, outcome will have become a process variable and therefore the result is an exception like:
2009-07-23 15:18:44,485 ERROR [freemarker.runtime] (http-127.0.0.1-8080-4)
Expected hash. outcome evaluated instead to freemarker.template.SimpleScalar on line 5, column 32 in review.ftl.
The problematic instruction:
----------
==> list outcome.values as transition [on line 5, column 25 in review.ftl]
----------
Java backtrace for programmers:
----------
freemarker.template.TemplateException: Expected hash. outcome evaluated instead to freemarker.template.SimpleScalar on line 5, column 32 in review.ftl.
at freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:135)
at freemarker.core.Dot._getAsTemplateModel(Dot.java:78)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:94)
at freemarker.core.Environment.visit(Environment.java:209)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:209)
at freemarker.core.Environment.process(Environment.java:189)
at freemarker.template.Template.process(Template.java:237)
at org.jbpm.integration.console.forms.AbstractFormDispatcher.processTemplate(AbstractFormDispatcher.java:116)
at org.jbpm.integration.console.forms.TaskFormDispatcher.provideForm(TaskFormDispatcher.java:161)
at org.jbpm.integration.console.forms.FormDispatcherComposite.provideForm(FormDispatcherComposite.java:65)
at sun.reflect.GeneratedMethodAccessor312.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.bpm.console.server.util.InvocationProxy.invoke(InvocationProxy.java:64)
at $Proxy291.provideForm(Unknown Source)
at org.jboss.bpm.console.server.FormProcessingFacade.provideForm(FormProcessingFacade.java:181)
at org.jboss.bpm.console.server.FormProcessingFacade.renderTaskUI(FormProcessingFacade.java:120)
at sun.reflect.GeneratedMethodAccessor311.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:117)
at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:260)
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:232)
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:166)
at org.jboss.resteasy.core.DispatcherUtilities.getJaxrsResponse(DispatcherUtilities.java:142)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:356)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:173)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:93)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:68)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.bpm.console.server.util.GWTJsonFilter.doFilter(GWTJsonFilter.java:59)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
2009-07-23 15:18:44,485 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/gwt-console-server].[Resteasy]] (http-127.0.0.1-8080-4) Servlet.service() for servlet Resteasy threw exception
org.jboss.resteasy.spi.UnhandledException: java.lang.RuntimeException: Unexpected invocation exception: null
at org.jboss.resteasy.core.SynchronousDispatcher.handleApplicationException(SynchronousDispatcher.java:319)
at org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:230)
at org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:206)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:360)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:173)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:93)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:68)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.bpm.console.server.util.GWTJsonFilter.doFilter(GWTJsonFilter.java:59)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.RuntimeException: Unexpected invocation exception: null
at org.jboss.bpm.console.server.util.InvocationProxy.invoke(InvocationProxy.java:80)
at $Proxy291.provideForm(Unknown Source)
at org.jboss.bpm.console.server.FormProcessingFacade.provideForm(FormProcessingFacade.java:181)
at org.jboss.bpm.console.server.FormProcessingFacade.renderTaskUI(FormProcessingFacade.java:120)
at sun.reflect.GeneratedMethodAccessor311.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:117)
at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:260)
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:232)
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:166)
at org.jboss.resteasy.core.DispatcherUtilities.getJaxrsResponse(DispatcherUtilities.java:142)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:356)
... 28 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor312.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.bpm.console.server.util.InvocationProxy.invoke(InvocationProxy.java:64)
... 40 more
Caused by: java.lang.RuntimeException: Failed to process task template
at org.jbpm.integration.console.forms.AbstractFormDispatcher.processTemplate(AbstractFormDispatcher.java:149)
at org.jbpm.integration.console.forms.TaskFormDispatcher.provideForm(TaskFormDispatcher.java:161)
at org.jbpm.integration.console.forms.FormDispatcherComposite.provideForm(FormDispatcherComposite.java:65)
... 44 more
Caused by: freemarker.template.TemplateException: Expected hash. outcome evaluated instead to freemarker.template.SimpleScalar on line 5, column 32 in review.ftl.
at freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:135)
at freemarker.core.Dot._getAsTemplateModel(Dot.java:78)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:94)
at freemarker.core.Environment.visit(Environment.java:209)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:209)
at freemarker.core.Environment.process(Environment.java:189)
at freemarker.template.Template.process(Template.java:237)
at org.jbpm.integration.console.forms.AbstractFormDispatcher.processTemplate(AbstractFormDispatcher.java:116)
... 46 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 5 months