[infinispan-dev] Problem creating a cache on second node
Galder Zamarreño
galder at redhat.com
Thu Mar 17 04:34:04 EDT 2011
Asymetric clusters are not supported yet - see https://issues.jboss.org/browse/ISPN-658
On Mar 16, 2011, at 8:14 PM, Brian Ashburn wrote:
> I am doing a POC to test out some things with Infinispan. I have two nodes with the same deployment on each one. If I go to a node, doesn't matter which one, and create a cache there, I can access that cache from the second node, but when I go to create another cache on the second node, I get the following exception:
>
> 15:05:23,316 INFO [STDOUT] 15:05:23,314 ERROR [RpcManagerImpl] unexpected error while replicating
> org.infinispan.manager.NamedCacheNotFoundException: Cache: cacheB
> at org.infinispan.remoting.InboundInvocationHandlerImpl.handle(InboundInvocationHandlerImpl.java:72)
> at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.executeCommand(CommandAwareRpcDispatcher.java:177)
> at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.handle(CommandAwareRpcDispatcher.java:149)
> at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:578)
> at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:489)
> at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:365)
> at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:771)
> at org.jgroups.JChannel.up(JChannel.java:1465)
> at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:954)
> at org.jgroups.protocols.pbcast.FLUSH.up(FLUSH.java:430)
> at org.jgroups.protocols.pbcast.STREAMING_STATE_TRANSFER.up(STREAMING_STATE_TRANSFER.java:265)
> at org.jgroups.protocols.FRAG2.up(FRAG2.java:190)
> at org.jgroups.protocols.FlowControl.up(FlowControl.java:419)
> at org.jgroups.protocols.FlowControl.up(FlowControl.java:419)
> at org.jgroups.protocols.pbcast.GMS.up(GMS.java:888)
> at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:234)
> at org.jgroups.protocols.UNICAST.handleDataReceived(UNICAST.java:577)
> at org.jgroups.protocols.UNICAST.up(UNICAST.java:295)
> at org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:707)
> at org.jgroups.protocols.BARRIER.up(BARRIER.java:120)
> at org.jgroups.protocols.FD_ALL.up(FD_ALL.java:169)
> at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:269)
> at org.jgroups.protocols.MERGE2.up(MERGE2.java:210)
> at org.jgroups.protocols.Discovery.up(Discovery.java:292)
> at org.jgroups.protocols.PING.up(PING.java:67)
> at org.jgroups.protocols.TP.passMessageUp(TP.java:1093)
> at org.jgroups.protocols.TP.access$100(TP.java:56)
> at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1633)
> at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1615)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> at java.lang.Thread.run(Thread.java:636)
> 15:05:23,318 INFO [STDOUT] 15:05:23,317 ERROR [JoinTask] Caught exception!
> org.infinispan.CacheException: org.infinispan.manager.NamedCacheNotFoundException: Cache: cacheB
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:114)
> at org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(RpcManagerImpl.java:125)
> at org.infinispan.distribution.JoinTask.retrieveOldCH(JoinTask.java:192)
> at org.infinispan.distribution.JoinTask.performRehash(JoinTask.java:87)
> at org.infinispan.distribution.RehashTask.call(RehashTask.java:53)
> at org.infinispan.distribution.RehashTask.call(RehashTask.java:33)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> at java.lang.Thread.run(Thread.java:636)
> Caused by: org.infinispan.manager.NamedCacheNotFoundException: Cache: cacheB
> at org.infinispan.remoting.InboundInvocationHandlerImpl.handle(InboundInvocationHandlerImpl.java:72)
> at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.executeCommand(CommandAwareRpcDispatcher.java:177)
> at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.handle(CommandAwareRpcDispatcher.java:149)
> at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:578)
> at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:489)
> at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:365)
> at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:771)
> at org.jgroups.JChannel.up(JChannel.java:1465)
> at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:954)
> at org.jgroups.protocols.pbcast.FLUSH.up(FLUSH.java:430)
> at org.jgroups.protocols.pbcast.STREAMING_STATE_TRANSFER.up(STREAMING_STATE_TRANSFER.java:265)
> at org.jgroups.protocols.FRAG2.up(FRAG2.java:190)
> at org.jgroups.protocols.FlowControl.up(FlowControl.java:419)
> at org.jgroups.protocols.FlowControl.up(FlowControl.java:419)
> at org.jgroups.protocols.pbcast.GMS.up(GMS.java:888)
> at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:234)
> at org.jgroups.protocols.UNICAST.handleDataReceived(UNICAST.java:577)
> at org.jgroups.protocols.UNICAST.up(UNICAST.java:295)
> at org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:707)
> at org.jgroups.protocols.BARRIER.up(BARRIER.java:120)
> at org.jgroups.protocols.FD_ALL.up(FD_ALL.java:169)
> at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:269)
> at org.jgroups.protocols.MERGE2.up(MERGE2.java:210)
> at org.jgroups.protocols.Discovery.up(Discovery.java:292)
> at org.jgroups.protocols.PING.up(PING.java:67)
> at org.jgroups.protocols.TP.passMessageUp(TP.java:1093)
> at org.jgroups.protocols.TP.access$100(TP.java:56)
> at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1633)
> at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1615)
> ... 3 more
>
>
> I'm accessing this with the following configuration:
> <?xml version="1.0" encoding="UTF-8"?>
> <infinispan
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="urn:infinispan:config:4.2 http://www.infinispan.org/schemas/infinispan-config-4.2.xsd"
> xmlns="urn:infinispan:config:4.2">
>
> <global>
> <transport
> clusterName="myCluster"
> transportClass="org.infinispan.remoting.transport.jgroups.JGroupsTransport"/>
> <globalJmxStatistics enabled="true"/>
> </global>
>
> <default>
> <jmxStatistics enabled="true"/>
> <clustering mode="distribution">
>
> <l1 enabled="true" lifespan="60000"/>
> <hash numOwners="2" rehashRpcTimeout="120000"/>
> <async/>
> </clustering>
> </default>
> </infinispan>
>
> And this is the code I'm executing:
> DefaultCacheManager cacheContainer = (DefaultCacheManager) ctx.lookup("java:comp/env/CacheContainer");
> Cache cache;
> if (cacheContainer.getCacheNames() != null && cacheContainer.getCacheNames().contains(name)) {
> cache = cacheContainer.getCache(name);
> } else {
> Configuration conf = new Configuration();
> if (name.endsWith("A")) {
> conf.setExpirationLifespan(5000);
> } else if (name.endsWith("B")) {
> conf.setExpirationLifespan(30000);
> } else {
> conf.setExpirationLifespan(60000);
> }
>
> cacheContainer.defineConfiguration(name, conf);
>
> cache = cacheContainer.getCache(name);
> }
> Integer counter = (Integer) cache.get("counter");
> if (counter == null)
> counter = new Integer(0);
> counter++;
> response.getOutputStream().println("Counter : " + counter);
> cache.put("counter", counter);
>
>
> This seems like a pretty straightforward use-case. I'm going to grab the git repo and start to look into it, but any help or hints would be great.
>
> Thanks,
> Brian Ashburn
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev
--
Galder Zamarreño
Sr. Software Engineer
Infinispan, JBoss Cache
More information about the infinispan-dev
mailing list