[JBossCache] - Re: What does this ReplicationException mean?
by jamieqho
Here is the entire stack trace in case you need it:
org.jboss.cache.ReplicationException: rsp=sender=10.133.192.106:3439, retval=null, received=false, suspected=false
at org.jboss.cache.CacheImpl.callRemoteMethods(CacheImpl.java:1984)
at org.jboss.cache.CacheImpl.callRemoteMethods(CacheImpl.java:1898)
at org.jboss.cache.CacheImpl.callRemoteMethods(CacheImpl.java:2009)
at org.jboss.cache.RPCManagerImpl.callRemoteMethods(RPCManagerImpl.java:72)
at org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall(BaseRpcInterceptor.java:91)
at org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall(BaseRpcInterceptor.java:63)
at org.jboss.cache.interceptors.ReplicationInterceptor.handleReplicatedMethod(ReplicationInterceptor.java:116)
at org.jboss.cache.interceptors.ReplicationInterceptor.invoke(ReplicationInterceptor.java:88)
at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:75)
at org.jboss.cache.interceptors.NotificationInterceptor.invoke(NotificationInterceptor.java:22)
at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:75)
at org.jboss.cache.interceptors.TxInterceptor.handleNonTxMethod(TxInterceptor.java:294)
at org.jboss.cache.interceptors.TxInterceptor.invoke(TxInterceptor.java:128)
at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:75)
at org.jboss.cache.interceptors.CacheMgmtInterceptor.invoke(CacheMgmtInterceptor.java:142)
at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:75)
at org.jboss.cache.interceptors.InvocationContextInterceptor.invoke(InvocationContextInterceptor.java:66)
at org.jboss.cache.CacheImpl.invokeMethod(CacheImpl.java:3752)
at org.jboss.cache.CacheImpl.put(CacheImpl.java:1480)
at org.jboss.cache.UnversionedNode.put(UnversionedNode.java:214)
at org.jboss.cache.UnversionedNode.putIfAbsent(UnversionedNode.java:445)
at com.adobe.acorn.util.ExpirableCache.putIfAbsent(ExpirableCache.java:74)
at com.adobe.acorn.meeting.MeetingManager.getMeetingSession(MeetingManager.java:110)
at com.adobe.acorn.ws.SystemServlet.doGet(SystemServlet.java:73)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:498)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:715)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:401)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:285)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:458)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:776)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:500)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:358)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:336)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
Caused by: org.jboss.cache.lock.TimeoutException: Replication timeout for 10.133.192.106:3439
at org.jboss.cache.CacheImpl.callRemoteMethods(CacheImpl.java:1982)
... 42 more
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4048514#4048514
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4048514
18 years, 11 months
[JBossCache] - What does this ReplicationException mean?
by jamieqho
Hi,
I just realized that my application should be using the cache in REPL_SYNC mode, not REPL_ASYNC. The caches have to always be in sync.
Now I notice that my servers are throwing ReplicationExceptions. They seem to be colliding and deadlocking. Is this a fatal error? Should my servers be shutting down when this happens or is it okay to just print the error and proceed?
Thanks,
Jamie
Server 1:
org.jboss.cache.ReplicationException: rsp=sender=10.133.192.106:3439, retval=null, received=false, suspected=false
at org.jboss.cache.CacheImpl.callRemoteMethods(CacheImpl.java:1984)
at org.jboss.cache.CacheImpl.callRemoteMethods(CacheImpl.java:1898)
at org.jboss.cache.CacheImpl.callRemoteMethods(CacheImpl.java:2009)
at org.jboss.cache.RPCManagerImpl.callRemoteMethods(RPCManagerImpl.java:72)
at org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall(BaseRpcInterceptor.java:91)
at org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall(BaseRpcInterceptor.java:63)
at
Server 2:
org.jboss.cache.ReplicationException: rsp=sender=10.133.192.106:3348, retval=nul
l, received=false, suspected=false
at org.jboss.cache.CacheImpl.callRemoteMethods(CacheImpl.java:1984)
at org.jboss.cache.CacheImpl.callRemoteMethods(CacheImpl.java:1898)
at org.jboss.cache.CacheImpl.callRemoteMethods(CacheImpl.java:2009)
at org.jboss.cache.RPCManagerImpl.callRemoteMethods(RPCManagerImpl.java:
72)
at org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall(BaseRpc
Interceptor.java:91)
at org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall(BaseRpc
Interceptor.java:63)
at org.jboss.cache.interceptors.ReplicationInterceptor.handleReplicatedM
ethod(ReplicationInterceptor.java:116)
at org.jboss.cache.interceptors.ReplicationInterceptor.invoke(Replicatio
nInterceptor.java:88)
at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:75)
at org.jboss.cache.interceptors.NotificationInterceptor.invoke(Notificat
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4048513#4048513
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4048513
18 years, 11 months
[JBoss Seam] - Conversation Question
by gzoller
Hello,
I've written a wizard page that uses a statefull bean in conversation context. I want to create a conversation when I enter the page, or join an existing conversation if one exists. When/if the user goes to the home page I want to end the conversation.
I have two page.xml files:
home.page.xml
| <page>
| <end-conversation/>
| </page>
|
wizard.page.xml
| <page>
| <begin-conversation join="true"/>
| </page>
|
Simple enough. What's happening though when I look at the debug screen is that 1) a new conversation is created every time I load/reload the wizard page (the join=true either isn't working or I don't understand its use), and 2) when I nav to the home page the end-conversation isn't closing any of the conversations.
Net result is I seem to be spawning conversations, which would be bad in production.
Any ideas? Thanks in advance.
Regards,
Greg
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4048508#4048508
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4048508
18 years, 11 months
[Clustering/JBoss] - JBoss EJB3 SLSB Failover
by milmber
Hi,
I'm running two vanilla instances of on the same machines using the "all" configuration. I have a webapp that looks up the SLSB. This works when the TestEJB.jar and TestWebApp.war is on the same node. When I delete the TestEJB.jar from the node where TestWebApp.war is deployed...I expect TestWebApp.war to lookup the TestSessionBean(in TestEJB.jar on both nodes) to be looked up via HAJNDI.
This doesn't work though...plus the TestSessionBean is not listed in the HAJNDI section using JNDIView in the jmx-console? Am I missing something here - as I figure this should work out of the box using JBoss 4.2.0.GA?
My code is as follows:
TestSessionBean implementation
| package com.xxx.test.ejb3.sessionbean;
|
| import org.jboss.annotation.ejb.Clustered;
| import org.jboss.annotation.ejb.LocalBinding;
| import org.jboss.annotation.ejb.RemoteBinding;
| import org.jboss.ha.framework.interfaces.RoundRobin;
| import org.apache.log4j.Logger;
|
| import javax.ejb.Stateless;
| import javax.ejb.Local;
| import javax.ejb.Remote;
| import javax.persistence.EntityManager;
| import javax.persistence.PersistenceContext;
| import javax.persistence.Query;
|
| import com.xxx.test.ejb3.entityejb.TestEntity;
|
| import java.util.List;
|
| @Remote(TestSession.class)
| @Local(TestSession.class)
| @Stateless(name = "TestSessionEJB")
| @Clustered(loadBalancePolicy = RoundRobin.class)
| public class TestSessionBean implements TestSession {
| private static final Logger log = Logger.getLogger(TestSession.class);
| @PersistenceContext
| protected EntityManager entityManager;
|
|
| public TestSessionBean() {
| }
|
| public void testMethod() {
| log.info("testMethod() called....");
| }
|
| public void persistEntity() {
| log.info("persisteEntity() called....");
| TestEntity testEntity = new TestEntity();
| testEntity.setName("tom");
| testEntity.setSurname("jones");
| entityManager.persist(testEntity);
| }
|
| @SuppressWarnings("unchecked")
| public TestEntity[] getPersistedEntities() {
| Query query = entityManager.createQuery("select t from TestEntity t");
| List<TestEntity> testEntities = query.getResultList();
| return testEntities.toArray(new TestEntity[testEntities.size()]);
| }
| }
|
TestSession interface:
| package com.xxx.test.ejb3.sessionbean;
|
| import com.xxx.test.ejb3.entityejb.TestEntity;
|
| import javax.ejb.Remote;
| import javax.ejb.Local;
| import java.util.List;
|
| public interface TestSession {
|
| public void testMethod();
|
| public void persistEntity();
|
| public TestEntity[] getPersistedEntities();
| }
|
jboss.xml:
| <?xml version="1.0"?>
| <!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 4.0//EN"
| "http://www.jboss.org/j2ee/dtd/jboss_4_0.dtd">
| <jboss>
| </jboss>
|
Global JNDI Namespace:
| +- TestSessionEJB (class: org.jnp.interfaces.NamingContext)
| | +- local (proxy: $Proxy95 implements interface com.xxx.test.ejb3.sessionbean.TestSession,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject)
| | +- remote (proxy: $Proxy94 implements interface com.xxx.test.ejb3.sessionbean.TestSession,interface org.jboss.ejb3.JBossProxy)
|
The HA-JNDI Namespace is empty...
>From the logs my cluster of 2 nodes seems to be up and running correctly...
| 23:58:19,580 INFO [DefaultPartition] New cluster view for partition DefaultPartition (id: 1, delta: 1) : [192.168.1.12:1099, 192.168.1.12:1199]
| 23:58:19,582 INFO [DefaultPartition] I am (192.168.1.12:1099) received membershipChanged event:
| 23:58:19,582 INFO [DefaultPartition] Dead members: 0 ([])
| 23:58:19,582 INFO [DefaultPartition] New Members : 1 ([192.168.1.12:1199])
| 23:58:19,582 INFO [DefaultPartition] All Members : 2 ([192.168.1.12:1099, 192.168.1.12:1199])
|
My client JSP to look up the Session Bean looks as follows:
| <%@ page import="com.xxx.test.ejb3.entityejb.TestEntity" %>
| <%@ page import="com.xxx.test.ejb3.sessionbean.TestSession" %>
| <%@ page import="javax.naming.InitialContext" %>
| <%@ page import="java.util.Properties" %>
| <%@ page contentType="text/html;charset=UTF-8" language="java" %>
| <%
| TestSession testSessionBean = null;
| try {
| Properties props = new Properties();
| props.put(InitialContext.PROVIDER_URL, "192.168.1.12:1100");
| props.put(InitialContext.URL_PKG_PREFIXES, "jboss.naming:org.jnp.interfaces");
| props.put(InitialContext.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
| InitialContext initialContext = new InitialContext(props);
| testSessionBean = (TestSession) initialContext.lookup("TestSessionEJB/remote");
| } catch (Exception e) {
| e.printStackTrace();
| }
| if (request.getParameter("operation") != null && request.getParameter("operation").equalsIgnoreCase("method")) {
| testSessionBean.testMethod();
| } else
| if (request.getParameter("operation") != null && request.getParameter("operation").equalsIgnoreCase("persist")) {
| testSessionBean.persistEntity();
| }
| TestEntity[] testEntities = testSessionBean.getPersistedEntities();
| %>
| <%@ page contentType="text/html;charset=UTF-8" language="java" %>
| <html>
| <head><title>Simple test jsp page</title></head>
| <body>
| <a href="index.jsp?operation=method">dummy method</a>
| <a href="index.jsp?operation=persist">persist</a><br>
| <% for (int i=0;i<testEntities.length;i++) {%>
| <%=testEntities.getId()%> <%=testEntities.getName()%> <%=testEntities.getSurname()%><br>
| <%}%>
| </body>
| </html>
|
and finally, my stacktrace when I delete the TestEJB.jar on one server:
| 00:05:45,399 ERROR [STDERR] javax.naming.CommunicationException [Root exception is java.lang.ClassNotFoundException: com.xxx.test.ejb3.sessionbean.TestSession (no security manager: RMI class loader disabled)]
| 00:05:45,399 ERROR [STDERR] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:728)
| 00:05:45,399 ERROR [STDERR] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
| 00:05:45,400 ERROR [STDERR] at javax.naming.InitialContext.lookup(InitialContext.java:351)
| 00:05:45,400 ERROR [STDERR] at org.apache.jsp.index_jsp._jspService(index_jsp.java:71)
| 00:05:45,400 ERROR [STDERR] at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
| 00:05:45,400 ERROR [STDERR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
| 00:05:45,400 ERROR [STDERR] at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:387)
| 00:05:45,400 ERROR [STDERR] at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
| 00:05:45,400 ERROR [STDERR] at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
| 00:05:45,400 ERROR [STDERR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
| 00:05:45,400 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
| 00:05:45,400 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| 00:05:45,400 ERROR [STDERR] at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| 00:05:45,400 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| 00:05:45,400 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| 00:05:45,401 ERROR [STDERR] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
| 00:05:45,401 ERROR [STDERR] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
| 00:05:45,401 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
| 00:05:45,401 ERROR [STDERR] at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
| 00:05:45,401 ERROR [STDERR] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
| 00:05:45,401 ERROR [STDERR] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
| 00:05:45,401 ERROR [STDERR] at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
| 00:05:45,401 ERROR [STDERR] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
| 00:05:45,401 ERROR [STDERR] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
| 00:05:45,401 ERROR [STDERR] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
| 00:05:45,401 ERROR [STDERR] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
| 00:05:45,401 ERROR [STDERR] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
| 00:05:45,401 ERROR [STDERR] at java.lang.Thread.run(Thread.java:613)
| 00:05:45,402 ERROR [STDERR] Caused by: java.lang.ClassNotFoundException: com.xxx.test.ejb3.sessionbean.TestSession (no security manager: RMI class loader disabled)
| 00:05:45,402 ERROR [STDERR] at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:531)
| 00:05:45,402 ERROR [STDERR] at java.rmi.server.RMIClassLoader$2.loadProxyClass(RMIClassLoader.java:628)
| 00:05:45,402 ERROR [STDERR] at org.jboss.system.JBossRMIClassLoader.loadProxyClass(JBossRMIClassLoader.java:82)
| 00:05:45,402 ERROR [STDERR] at java.rmi.server.RMIClassLoader.loadProxyClass(RMIClassLoader.java:294)
| 00:05:45,402 ERROR [STDERR] at sun.rmi.server.MarshalInputStream.resolveProxyClass(MarshalInputStream.java:238)
| 00:05:45,402 ERROR [STDERR] at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1500)
| 00:05:45,402 ERROR [STDERR] at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1463)
| 00:05:45,402 ERROR [STDERR] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
| 00:05:45,402 ERROR [STDERR] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
| 00:05:45,403 ERROR [STDERR] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
| 00:05:45,403 ERROR [STDERR] at java.rmi.MarshalledObject.get(MarshalledObject.java:135)
| 00:05:45,403 ERROR [STDERR] at org.jnp.interfaces.MarshalledValuePair.get(MarshalledValuePair.java:72)
| 00:05:45,403 ERROR [STDERR] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:652)
| 00:05:45,403 ERROR [STDERR] ... 27 more
| 00:05:45,404 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
| java.lang.NullPointerException
| at org.apache.jsp.index_jsp._jspService(index_jsp.java:76)
| at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
| at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:387)
| at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
| at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
| 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:230)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
| at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
| at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
| at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
| at java.lang.Thread.run(Thread.java:613)
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4048504#4048504
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4048504
18 years, 11 months