[jBPM] - Connection TimeOut while getting assigned tasks
by Prashanth Karnam
Prashanth Karnam [https://community.jboss.org/people/pras_karnam] created the discussion
"Connection TimeOut while getting assigned tasks"
To view the discussion, visit: https://community.jboss.org/message/648811#648811
--------------------------------------------------------------
Hi All,
We are using the BlockingSummaryTaskHandler to get assigned tasks and we are getting the following timeout errors while fetching results.This is very critical , can anyone please help on this
48322772 26/01 08:27:43,710[http-8082-7] INFO emirates.sds.wf.exit - Exit [CTaskClient] CTaskClient method
Hibernate: select task0_.id as col_0_0_, task0_.processInstanceId as col_1_0_, names5_.text as col_2_0_, subjects3_.text as col_3_0_, descriptio4_.text as col_4_0_, task0_.status as col_5_0_, task0_.priority as col_6_0_, task0_.skipable as col_7_0_, task0_.actualOwner_id as col_8_0_, task0_.createdBy_id as col_9_0_, task0_.createdOn as col_10_0_, task0_.activationTime as col_11_0_, task0_.expirationTime as col_12_0_, task0_.processId as col_13_0_, task0_.processSessionId as col_14_0_ from Task task0_ left outer join OrganizationalEntity user1_ on task0_.createdBy_id=user1_.id left outer join OrganizationalEntity user2_ on task0_.actualOwner_id=user2_.id left outer join I18NText subjects3_ on task0_.id=subjects3_.Task_Subjects_Id left outer join I18NText descriptio4_ on task0_.id=descriptio4_.Task_Descriptions_Id left outer join I18NText names5_ on task0_.id=names5_.Task_Names_Id, OrganizationalEntity organizati6_ where organizati6_.id=? and (organizati6_.id in (select potentialo9_.entity_id from PeopleAssignments_PotOwners potentialo9_ where task0_.id=potentialo9_.task_id)) and (names5_.language=? or (select count(names10_.Task_Names_Id) from I18NText names10_ where task0_.id=names10_.Task_Names_Id)=0) and (subjects3_.language=? or (select count(subjects11_.Task_Subjects_Id) from I18NText subjects11_ where task0_.id=subjects11_.Task_Subjects_Id)=0) and (descriptio4_.language=? or (select count(descriptio12_.Task_Descriptions_Id) from I18NText descriptio12_ where task0_.id=descriptio12_.Task_Descriptions_Id)=0) and (task0_.expirationTime is null)
48332776 26/01 08:27:53,714[http-8082-7] ERROR emirates.sds.wf.error - [CWorkflowDesignerMBean] method : getAssignedTasks:*Timeout : unable to retrieve results trace : java.lang.RuntimeException: Timeout : unable to retrieve results*
1. *java.lang.RuntimeException: Timeout : unable to retrieve results*
at org.jbpm.task.service.responsehandlers.BlockingTaskSummaryResponseHandler.getResults(BlockingTaskSummaryResponseHandler.java:41)
at com.emirates.sds.workflow.mbean.CWorkflowDesignerMBean.getAssignedTasks(CWorkflowDesignerMBean.java:1592)
at com.emirates.sds.workflow.mbean.CWorkflowDesignerMBean.getTasks(CWorkflowDesignerMBean.java:2921)
at sun.reflect.GeneratedMethodAccessor112.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javax.el.BeanELResolver.getValue(BeanELResolver.java:62)
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:71)
at org.apache.el.parser.AstValue.getValue(AstValue.java:118)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:190)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:178)
at javax.faces.component.UIData.getValue(UIData.java:554)
at org.ajax4jsf.component.UIDataAdaptorBase.getValue(UIDataAdaptorBase.java:1647)
at org.ajax4jsf.component.SequenceDataAdaptor.getDataModel(SequenceDataAdaptor.java:65)
at org.richfaces.component.UIExtendedDataTable.resetDataModel(UIExtendedDataTable.java:390)
at org.ajax4jsf.component.UIDataAdaptorBase.beforeRenderResponse(UIDataAdaptorBase.java:1656)
at org.richfaces.component.UIExtendedDataTable.beforeRenderResponse(UIExtendedDataTable.java:417)
at org.ajax4jsf.component.RenderPhaseUIDataAdaptorVisitor.beforeComponent(RenderPhaseUIDataAdaptorVisitor.java:44)
at org.richfaces.event.RenderPhaseComponentListener.processComponents(RenderPhaseComponentListener.java:47)
at org.richfaces.event.RenderPhaseComponentListener.processComponents(RenderPhaseComponentListener.java:55)
at org.richfaces.event.RenderPhaseComponentListener.processComponents(RenderPhaseComponentListener.java:55)
at org.richfaces.event.RenderPhaseComponentListener.processComponents(RenderPhaseComponentListener.java:55)
at org.richfaces.event.RenderPhaseComponentListener.beforePhase(RenderPhaseComponentListener.java:71)
at org.ajax4jsf.component.AjaxViewRoot.processPhaseListeners(AjaxViewRoot.java:188)
at org.ajax4jsf.component.AjaxViewRoot.encodeBegin(AjaxViewRoot.java:510)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1641)
at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:117)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:309)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:349)
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:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:662)
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/648811#648811]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 6 months
[jBPM] - JBPM 5.2 console can't get any Guvnor Process Definition
by Rogelio Di Pasquale
Rogelio Di Pasquale [https://community.jboss.org/people/roger0681] created the discussion
"JBPM 5.2 console can't get any Guvnor Process Definition"
To view the discussion, visit: https://community.jboss.org/message/646993#646993
--------------------------------------------------------------
I'm using
jbpm-5.2.0.Final
jbpm-5.2.0.Final-gwt-console
guvnor-distribution-wars-5.3.1.Final
on
jboss-as-7.0.1
I could create process definitions in Eclipse, add them to Guvnor, build the package, create snapshots, etc. But when trying to see process definitions in jbpm-console, I just see nothing.
If I try using the rest api ( http://127.0.0.1:8080/gwt-console-server/rs/process/definitions http://127.0.0.1:8080/gwt-console-server/rs/process/definitions), I get:
{"definitions":[]}
(and JBoss logs says that parsed 0 process definitions).
I've made several packages in Guvnor, and jbpm-console seems to be trying to parse processes from all of them, but keeps saying he got 0 processes to parse.
Here I upload a list of assets obtained from the Guvnor's rest api ( http://127.0.0.1:8080/drools-guvnor/rest/packages/defaultPackage/assets http://127.0.0.1:8080/drools-guvnor/rest/packages/defaultPackage/assets).
Should jbpm-console see any process? What does a process definition look like in the rest API when it is parseable by jbpm-console?
Thanks a lot,
Roger
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/646993#646993]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 6 months
[jBPM] - jbpm5 scale out reference architecture..
by Affan Dar
Affan Dar [https://community.jboss.org/people/affandar] created the discussion
"jbpm5 scale out reference architecture.."
To view the discussion, visit: https://community.jboss.org/message/717611#717611
--------------------------------------------------------------
After scavenging the forums and docs for jbpm 5 over the last week, I have drafted up the attached 'reference architecture' for a scalable jBPM 5 deployment. Would love to get feedback (aka ripped apart :) ).
Here are the key pieces:
1. A shared KnowlegeBase which acts as a repository of processes across the whole deployment (master-slave replicated with writes-to-master and reads-from-slaves etc etc)
2. There are a fixed number of KnowledgeSessions spread across DBs in a DB farm (DB1, DB2)
3. A table contains the mapping between these sessions, the database that they are stored in and the node that is assigned to these sessions. Management of the data in this table is an admin config operation (either automatic or manual).
4. A number of worker nodes which load the KnowledgeSessions that belong to them (as per the table above)
5. Another table that has mapping of processes-to-sessions. This table is updated by the worker nodes when a new process is created.
6. A router or client proxy that routes process instance managment requests as per the following rules:
- For process instance creation requests, round robin to any node
- For requests pertaining to a specific process instance, consult the table in (5) & (6) and route to appropriate node
Now how to scale out:
- If the bottleneck is the CPU/memory of the worker nodes then add more nodes and rebalance the session distribution in table (3)
- If the bottleneck is the DB capacity or disk then add a database, migrate processes/session data to the new database and update table (3)
Of course the resharding above is crude and manual and can probably be more sophisticated but would love to hear thoughts/comments on the basic idea.
Also practically speaking, I hope it is possible to migrate a session and processes to a different DB at all?
Thanks
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/717611#717611]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 7 months