Thanks a lot Dan :-).

Yeah, that was intentional.
Your solution solves my problem.

Thanks,
Goutam Tadi.

On Fri, Sep 23, 2016 at 4:58 PM Dan Smith <[email protected]> wrote:

> Hi Goutam,
>
> It looks like you configured your two servers to have different regions.
> Was that intentional? What's happening is that the client is connecting to
> only one of the servers, which has one of your regions but not the other.
>
> Generally, when you configure gemfire servers, you should configure the
> same regions on all servers. In this case I would put both of your regions
> in the same cache.xml and use that for both servers. By default a geode
> client will assume that all of your servers have the same regions and will
> connect to one or more servers as it sees fit to minimize the number of
> connections and reduce the number of network hops.
>
> If you really want to have servers that have different regions, you will
> need to make use of the server-groups property on the server and create two
> different pools on the client, using PoolFactory.setServerGroup to control
> which group the client connects to. But I would say that's a less common
> use case.
>
> -Dan
>
> On Fri, Sep 23, 2016 at 4:47 PM, Goutam Tadi <[email protected]> wrote:
>
> > Hi,
> >
> > I was facing the *"Region not found"* exception when I do the following
> on
> > local machine (single Node) :
> > And, I don't see the exception when I was trying to perform remote debug
> > which introduced some time lapse. I tried to introduce some `sleep` , but
> > of no use
> > Can you please help and let me know what I could be possibly doing wrong?
> >
> > *Geode version: 1.0.0-incubating.M3*
> >
> > 1. *Start a locator : *
> >
> > start locator --name=testlocator --include-system-classpath
> >
> > ​
> > 2. *Start two servers:*
> >
> > - start server --name=testserver1
> > --cache-xml-file=SITMultiServerMultiRegion1.cache.xml
> > --locators=localhost[10334] --server-port=30303
> > --include-system-classpath
> >
> > - start server --name=testserver2
> > --cache-xml-file=SITMultiServerMultiRegion2.cache.xml
> > --locators=localhost[10334] --server-port=30304
> > --include-system-classpath
> >
> > ​
> > 3. *Java code to create ClientRegion and perform region.put()*
> >
> > private final static String LOCATOR_HOST = "localhost";
> > private final static int LOCATOR_PORT = 10334;
> >
> > clientCache = new ClientCacheFactory().addPoolLocator(LOCATOR_HOST,
> > LOCATOR_PORT).create();
> >
> > Region region1 = clientCache.
> > createClientRegionFactory("PROXY").create(REGION1);
> > assertNotNull(region1);
> >
> > Region region2 = clientCache.createClientRegionFactory("
> > PROXY").create(REGION2);
> > assertNotNull(region2);
> >
> > region1.put("key1", "region1"); // SUCCESSFUL
> > region2.put("key2", "region2"); // ERROR OCCURRED.
> >
> > ​
> > 4.* Cache xmls used:*
> >
> > *Cache-XML- 1*
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> >
> > <cache
> >  xmlns="http://schema.pivotal.io/gemfire/cache";
> >  xmlns:gpdb="http://schema.pivotal.io/gemfire/gpdb";
> >  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> >  xsi:schemaLocation="http://schema.pivotal.io/gemfire/cache
> > http://schema.pivotal.io/gemfire/cache/cache-8.1.xsd";
> >  version="8.1">
> >
> >  <pdx read-serialized="true" persistent="false"/>
> >
> >  <region name="SITMultiServerMultiRegion1">
> >  <region-attributes data-policy="partition">
> >  <partition-attributes redundant-copies="1" />
> >  </region>
> >
> > </cache>
> >
> > ​
> >
> >
> > *Cache-XML- 2*
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> >
> > <cache
> >  xmlns="http://schema.pivotal.io/gemfire/cache";
> >  xmlns:gpdb="http://schema.pivotal.io/gemfire/gpdb";
> >  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> >  xsi:schemaLocation="http://schema.pivotal.io/gemfire/cache
> > http://schema.pivotal.io/gemfire/cache/cache-8.1.xsd";
> >  version="8.1">
> >
> >  <pdx read-serialized="true" persistent="false"/>
> >
> >  <region name="SITMultiServerMultiRegion2">
> >  <region-attributes data-policy="partition">
> >  <partition-attributes redundant-copies="1" />
> >  </region>
> >
> > </cache>
> >
> > ​
> >
> > 5. *StackTrace*:
> >
> >
> > com.gemstone.gemfire.cache.client.ServerOperationException: remote
> > server on gpdb(28401:loner):45180:20c75e59: : While performing a
> > remote put
> >
> >     at com.gemstone.gemfire.cache.client.internal.PutOp$
> > PutOpImpl.processAck(PutOp.java:445)
> >
> >     at com.gemstone.gemfire.cache.client.internal.PutOp$
> > PutOpImpl.processResponse(PutOp.java:355)
> >
> >     at com.gemstone.gemfire.cache.client.internal.PutOp$
> > PutOpImpl.attemptReadResponse(PutOp.java:540)
> >
> >     at com.gemstone.gemfire.cache.client.internal.AbstractOp.
> > attempt(AbstractOp.java:378)
> >
> >     at com.gemstone.gemfire.cache.client.internal.ConnectionImpl.execute(
> > ConnectionImpl.java:274)
> >
> >     at com.gemstone.gemfire.cache.client.internal.pooling.
> > PooledConnection.execute(PooledConnection.java:328)
> >
> >     at com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.
> > executeWithPossibleReAuthentication(OpExecutorImpl.java:937)
> >
> >     at com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.execute(
> > OpExecutorImpl.java:155)
> >
> >     at com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.execute(
> > OpExecutorImpl.java:110)
> >
> >     at com.gemstone.gemfire.cache.client.internal.PoolImpl.
> > execute(PoolImpl.java:700)
> >
> >     at com.gemstone.gemfire.cache.client.internal.PutOp.execute(
> > PutOp.java:102)
> >
> >     at com.gemstone.gemfire.cache.client.internal.ServerRegionProxy.put(
> > ServerRegionProxy.java:175)
> >
> >     at com.gemstone.gemfire.internal.cache.LocalRegion.serverPut(
> > LocalRegion.java:3173)
> >
> >     at com.gemstone.gemfire.internal.cache.LocalRegion.
> > cacheWriteBeforePut(LocalRegion.java:3300)
> >
> >     at com.gemstone.gemfire.internal.cache.ProxyRegionMap.basicPut(
> > ProxyRegionMap.java:230)
> >
> >     at com.gemstone.gemfire.internal.cache.LocalRegion.virtualPut(
> > LocalRegion.java:5955)
> >
> >     at com.gemstone.gemfire.internal.cache.LocalRegionDataView.
> > putEntry(LocalRegionDataView.java:132)
> >
> >     at com.gemstone.gemfire.internal.cache.LocalRegion.basicPut(
> > LocalRegion.java:5350)
> >
> >     at com.gemstone.gemfire.internal.cache.LocalRegion.
> > validatedPut(LocalRegion.java:1668)
> >
> >     at com.gemstone.gemfire.internal.cache.LocalRegion.put(
> > LocalRegion.java:1655)
> >
> >     at com.gemstone.gemfire.internal.cache.AbstractRegion.put(
> > AbstractRegion.java:288)
> >
> >     at io.pivotal.gemfire.gpdb.SITSample.testMultiRegion(
> > SITSample.java:104)
> >
> > Caused by: com.gemstone.gemfire.cache.RegionDestroyedException: Server
> > connection from
> > [identity(gpdb(28401:loner):45180:20c75e59,connection=1; port=45180]:
> > Region named /SITMultiServerMultiRegion2 was not found during put
> > request
> >
> >     at com.gemstone.gemfire.internal.cache.tier.sockets.BaseCommand.
> > writeRegionDestroyedEx(BaseCommand.java:642)
> >
> >     at com.gemstone.gemfire.internal.cache.tier.sockets.command.
> > Put65.cmdExecute(Put65.java:195)
> >
> >     at com.gemstone.gemfire.internal.cache.tier.sockets.
> > BaseCommand.execute(BaseCommand.java:146)
> >
> >     at com.gemstone.gemfire.internal.cache.tier.sockets.
> > ServerConnection.doNormalMsg(ServerConnection.java:783)
> >
> >     at com.gemstone.gemfire.internal.cache.tier.sockets.
> > ServerConnection.doOneMessage(ServerConnection.java:913)
> >
> >     at com.gemstone.gemfire.internal.cache.tier.sockets.
> > ServerConnection.run(ServerConnection.java:1180)
> >
> >     at java.util.concurrent.ThreadPoolExecutor.runWorker(
> > ThreadPoolExecutor.java:1142)
> >
> >     at java.util.concurrent.ThreadPoolExecutor$Worker.run(
> > ThreadPoolExecutor.java:617)
> >
> >     at com.gemstone.gemfire.internal.cache.tier.sockets.
> > AcceptorImpl$1$1.run(AcceptorImpl.java:555)
> >
> >     at java.lang.Thread.run(Thread.java:745)
> >
> > ​
> >
> > Thanks,
> >
> > Goutam Tadi.
> >
> > --
> > Regards,
> > *Goutam Tadi.*
> >
>
-- 
Regards,
*Goutam Tadi.*

Reply via email to