Are you using SSL by any chance? We have the same error from native clients if we enable SSL: A previous connection attempt from this client is still being processed
https://stackoverflow.com/questions/46569723/geode-authentication-produces-handshake-rejected-by-server From: Swapnil Bawaskar [mailto:[email protected]] Sent: 13 December 2017 00:43 To: [email protected]; [email protected] Cc: [email protected] Subject: Re: ServerRefusedConnectionException Hi Paul, I cannot think of any reason why replicate region would work but the partition region would not, because the connection pooling is completely orthogonal to the region types. How quickly after disconnecting the client do you connect it back? The server monitors the clients connected to it and if they do not receive a ping from a client in 60 seconds the server will disconnect the client. You can change the timeout using maximum-time-between-pings<http://geode.apache.org/docs/guide/13/reference/topics/cache_xml.html#cache_xml_cache> property in cache.xml. On Tue, Dec 12, 2017 at 10:24 AM Paul Perez <[email protected]<mailto:[email protected]>> wrote: 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:distributedESBCache,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(OpExecutorImpl.java:798) at org.apache.geode.cache.client.internal.OpExecutorImpl.handleException(OpExecutorImpl.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(ServerRegionProxy.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(LocalRegionDataView.java:151) at org.apache.geode.internal.cache.LocalRegion.basicPut(LocalRegion.java:5027) at org.apache.geode.internal.cache.LocalRegion.validatedPut(LocalRegion.java:1580) 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.java: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(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 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
