Does the error go away after a period of time from the client? I think the client has some functionality to blacklist servers that it can't connect to for one ping interval (10 seconds).
-Dan On Wed, Dec 13, 2017 at 1:21 AM, Rupert St John Webster < [email protected]> wrote: > 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]> 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 > > > >
