[JBoss JIRA] Created: (JGRP-395) Parallel FD
by Bela Ban (JIRA)
Parallel FD
-----------
Key: JGRP-395
URL: http://jira.jboss.com/jira/browse/JGRP-395
Project: JGroups
Issue Type: Feature Request
Affects Versions: 2.4
Reporter: Bela Ban
Assigned To: Bela Ban
Fix For: 2.5
With FD, when we have N nodes in a cluster and the switch crashes, every node will take roughly (N-1) * TIMEOUT ms to become a singleton cluster. This is because in regular FD, we only ping the next-in-line, e.g.
- Cluster is A, B, C, D
- The plug is pulled
- Example B:
- B decides that, after TIMEOUT ms, C is dead and excludes C from the pingable members
- B then starts emitting a SUSPECT(C) until it gets a new view which excludes C
- B switches to pinging D
- After TIMEOUT ms, it switches to A
- When all of C, D and A have been excluded, B decides to become a singleton cluster (and coordinator in it)
SOLUTION:
- Nodes don't actively ping other nodes. Instead, each nodes periodically multicasts a HEARTBEAT to the cluster
- The HEARTBEAT is suppressed when a node sends data, because data counts as a heartbeat as well
- Every node maintains a table of nodes and the last time we received either a message or a HEARTBEAT from that node
- The counter is updated with the current time whenever that is the case
- Periodically, we check whether any node has not sent us data/heartbeat for more the timeout ms. If so, we suspect it
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 7 months
[JBoss JIRA] Created: (JBAS-3962) XMBean persistence and JRMPProxyFactory failing together
by Ralf Zimmermann (JIRA)
XMBean persistence and JRMPProxyFactory failing together
--------------------------------------------------------
Key: JBAS-3962
URL: http://jira.jboss.com/jira/browse/JBAS-3962
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: JMX
Affects Versions: JBossAS-4.0.5.GA, JBossAS-4.0.4.GA
Environment: Windows XP
Reporter: Ralf Zimmermann
Assigned To: Scott M Stark
I modified the XMBean persitence example to add support fpr remote access via JNDI by adding the folowing to META-INF/jboss-service.xml
<!-- Proxy factory for MyService that will call invoke(Invocation mi) on the target service -->
<mbean code="org.jboss.invocation.jrmp.server.JRMPProxyFactory"
name="jboss.jmx:type=adaptor,name=MyService,protocol=jrmp,service=proxyFactory">
<!-- Use the standard JRMPInvoker from conf/jboss-service.xxml -->
<depends optional-attribute-name="InvokerName">jboss:service=invoker,type=jrmp</depends>
<!-- The target MBean -->
<depends optional-attribute-name="TargetName">jboss.jmx:service=PersistentServiceExample</depends>
<!-- Where to bind the proxy factory -->
<attribute name="JndiName">PersistentServiceExample</attribute>
<!-- Invoke invoke(Invocation mi) operation instead of the target method -->
<attribute name="InvokeTargetMethod">true</attribute>
<!-- MyService interface -->
<attribute name="ExportedInterfaces">org.jboss.jmx.examples.persistence.PersistentServiceExampleMBean</attribute>
<attribute name="ClientInterceptors">
<interceptors>
<interceptor>org.jboss.proxy.ClientMethodInterceptor</interceptor>
<interceptor>org.jboss.proxy.SecurityInterceptor</interceptor>
<interceptor>org.jboss.jmx.connector.invoker.client.InvokerAdaptorClientInterceptor</interceptor>
<interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
</interceptors>
</attribute>
</mbean>
If i try to access methods on the proxy object from within a web application I get the followin exception:
java.lang.IllegalArgumentException: Unable to find operation getSomeString()
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:231)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.invocation.jrmp.server.JRMPProxyFactory.invoke(JRMPProxyFactory.java:175)
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 org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:169)
at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:118)
at org.jboss.invocation.InvokerInterceptor.invokeLocal(InvokerInterceptor.java:209)
at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:195)
at org.jboss.jmx.connector.invoker.client.InvokerAdaptorClientInterceptor.invoke(InvokerAdaptorClientInterceptor.java:66)
at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:70)
at org.jboss.proxy.ClientMethodInterceptor.invoke(ClientMethodInterceptor.java:74)
at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:100)
at $Proxy54.getSomeString(Unknown Source)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:48)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 7 months
[JBoss JIRA] Created: (JBPM-785) Process Instance Deletion failed due to Constraint Voilation "`LE_OLTP/JBPM_PROCESSINSTANCE`, CONSTRAINT `FK_PROCIN_SPROCTKN` FOREIGN KEY (`SUPERPROCESSTOKEN_`) REFERENCES `JBPM_TOKEN` (`ID_`))"
by Deepak jAIN (JIRA)
Process Instance Deletion failed due to Constraint Voilation "`LE_OLTP/JBPM_PROCESSINSTANCE`, CONSTRAINT `FK_PROCIN_SPROCTKN` FOREIGN KEY (`SUPERPROCESSTOKEN_`) REFERENCES `JBPM_TOKEN` (`ID_`))"
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: JBPM-785
URL: http://jira.jboss.com/jira/browse/JBPM-785
Project: JBoss jBPM
Issue Type: Bug
Components: Core Engine
Affects Versions: jBPM 3.1.3
Environment: ubuntu linux , JBPM 3.1.3 , mysql 5.0.22
Reporter: Deepak jAIN
Assigned To: Tom Baeyens
Priority: Blocker
I have a complex multi level process scenario where JBPM 3.1.3 was failing to delete a process instance because of the following constraint voilation:
"`LE_OLTP/JBPM_PROCESSINSTANCE`, CONSTRAINT `FK_PROCIN_SPROCTKN` FOREIGN KEY (`SUPERPROCESSTOKEN_`) REFERENCES `JBPM_TOKEN` (`ID_`))"
Here is my usage scenario in more detail:
Top Level Process P1 has following sub processes
-> Sub Process P2
-> Sub Process P3
-> Sub Process P4
-> Sub Process P41
-> Sub Process P5
-> Sub Process P6
Step1 : I successfully deployed all these processes and was able to successfully execute
"Top Level Process P1".
Step2 : When I try to undeploy "Top Level Process P1" or delete (undeploy internally calls deleteProcessInstance) process instance of "Top Level
Process P1". I was getting the the above mentioned constraint voliation:
"`LE_OLTP/JBPM_PROCESSINSTANCE`, CONSTRAINT `FK_PROCIN_SPROCTKN` FOREIGN KEY (`SUPERPROCESSTOKEN_`) REFERENCES
`JBPM_TOKEN` (`ID_`))"
NOTE : LE_OLTP is my schema in mysql 5.0.22
I spend a decent amount of time looking at the piece of code in action at
1. org.jbpm.db.GraphSession#deleteProcessInstance(ProcessInstance,boolean,boolean,boolean) and
2. org.jbpm.db.GraphSession#deleteSubProcesses(Token)
3. org.jbpm.db.hibernate.queries.hbm.xml
The problem had to do with couple of issues in code like :
1. bug in the query to get sub process tokens.
2. bug around how sub processes are being deleted in cascade deletion process (recursive code).
3. bug arounf the steps to delete the logs of the process instance.
NOTE : This bug cause other constraint voilations too which I have fixed as well.
I have fixed the issue (org.jbpm.db.GraphSession + hibernate.queries.hbm.xml files with change are attached, one can diff this against JBPM 3.1.3 Version to see the change). I have tested this with the above mentioned test scenarios + far more complex scenarios already.
Now I need help with w.r.t Next Steps to further get this fix in main code base:
1. I will like to checkin/provide some unit tests to add more complex scenarios like the above mentioned to help JBPM community.
2. I will like core JBPM dveleopers (tbaeyens or others ) to do a code review of the changes and accept this in main line
References :
http://www.jboss.com/index.html?module=bb&op=viewtopic&t=94218&view=previous is related but slightly different issue.
regards,
dj
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 7 months
[JBoss JIRA] Created: (JBMESSAGING-594) Consider having just one post office instance
by Tim Fox (JIRA)
Consider having just one post office instance
---------------------------------------------
Key: JBMESSAGING-594
URL: http://jira.jboss.com/jira/browse/JBMESSAGING-594
Project: JBoss Messaging
Issue Type: Task
Affects Versions: 1.0.1.CR5
Reporter: Tim Fox
Assigned To: Tim Fox
Fix For: 1.2.0.Beta1
We should consider whether it is possible to have just one post office instance per server, instead of the current queue and topic post office.
We currently have two since a queue and a topic can have the same name so we would need to distinguish whether we wanted to rout to a topic or a queue in some other way.
We should also bear in mind that the post office is supposed to be generic and not have any knowledge of what a "topic" is (this is a JMS term).
In the future we will want to do wildcard based routing for topic hierarchies or content based routing, so the routing key cannot just be some "destination" class.
One possibility is to change the PostOffice interface to take a "RoutingKey" type as opposed to a string. We could then subclass or implement this interface for different post office
types.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
19 years, 7 months