Hello all, 

I hope you are well after this wonderful SpringOne. 

 

In our project, we use Geode to transfer a message from a client A to a
client B. But before sending the message, A checks if B is alive. 

To do it, we defined a region where each client put an entry in a region
named AliveSigns to declare it is alive. When a B entry expires, we consider
that the client is unavailable. 

 

To test this feature, we unplug and re-plug the network cable of the client
B. 

When we re-plug, Geode auto reconnects the client B to the server. But
regularly we get the exception below: 

 

[warn 2017/12/12 16:55:08.336 GMT <queueTimer-DEFAULT> tid=235] Cache Client
Updater Thread  on 192.168.102.11(server1:16260)<v1>:1025 port 40404
(DESKTOP-EKI1601:40404): Caught following exception while attempting to
create a server-to-client communication socket and will exit:
org.apache.geode.cache.client.ServerRefusedConnectionException: <null
inet_addr hostname><ec>:40404 refused connection: A previous connection
attempt from this client is still being processed:
identity(192.168.102.12(distributedESBCache:6304:loner):60248:b034a24b:distr
ibutedESBCache,connection=1

 

And when the reconnected client wants to put an entry to notify its
availability, we get that exception

 

org.apache.geode.cache.client.ServerConnectivityException: Pool unexpected
socket timed out on client connection=Pooled Connection to
DESKTOP-EKI1601:40404: Connection[DESKTOP-EKI1601:40404]@362441860). Server
unreachable: could not connect after 1 attempts

        at
org.apache.geode.cache.client.internal.OpExecutorImpl.handleException(OpExec
utorImpl.java:798)

        at
org.apache.geode.cache.client.internal.OpExecutorImpl.handleException(OpExec
utorImpl.java:623)

        at
org.apache.geode.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl
.java:174)

        at
org.apache.geode.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl
.java:115)

        at
org.apache.geode.cache.client.internal.PoolImpl.execute(PoolImpl.java:774)

        at
org.apache.geode.cache.client.internal.PutOp.execute(PutOp.java:91)

        at
org.apache.geode.cache.client.internal.ServerRegionProxy.put(ServerRegionPro
xy.java:159)

        at
org.apache.geode.internal.cache.LocalRegion.serverPut(LocalRegion.java:2987)

        at
org.apache.geode.internal.cache.LocalRegion.cacheWriteBeforePut(LocalRegion.
java:3096)

        at
org.apache.geode.internal.cache.ProxyRegionMap.basicPut(ProxyRegionMap.java:
222)

        at
org.apache.geode.internal.cache.LocalRegion.virtualPut(LocalRegion.java:5598
)

        at
org.apache.geode.internal.cache.LocalRegionDataView.putEntry(LocalRegionData
View.java:151)

        at
org.apache.geode.internal.cache.LocalRegion.basicPut(LocalRegion.java:5027)

        at
org.apache.geode.internal.cache.LocalRegion.validatedPut(LocalRegion.java:15
80)

        at
org.apache.geode.internal.cache.LocalRegion.put(LocalRegion.java:1567)

        at
org.apache.geode.internal.cache.AbstractRegion.put(AbstractRegion.java:325)

        at
com.pymma.jbi.messaging.distributed.GeodeClient.sendAliveSign(GeodeClient.ja
va:206)

        at
com.sun.jbi.messaging.MessageService$1.run(MessageService.java:372)

        at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)

        at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$
301(ScheduledThreadPoolExecutor.java:180)

        at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Sch
eduledThreadPoolExecutor.java:294)

        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:11
42)

        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:6
17)

        at java.lang.Thread.run(Thread.java:748)

 

This fault only occurs when AliveSigns is a PARTITIONED REGION.

Strangely, we can put entries in any other REPLICATED REGIONS located on the
same server.

 

We reconfigured the region AliveSigns as a REPLICATED REGION and it worked
well. 

 

Did someone face the same issue?

 

Please feel free to ask more details if needed. 

 

Thank you for your help

 

Best regards

 

Paul Perez Chief Architect

Pymma Consulting

--------------------------

Tel: +44 79 44 36 04 65 

Skype ID : polperez

 

Reply via email to