Hi,
ok,I'll try it later.


wkhapy...@gmail.com
 
From: Maksim Timonin
Date: 2022-06-23 13:53
To: user
Subject: Re: ignite client can not reconnect to ignite Kubernetes cluster,after 
pod restart
Hi, 

Please, try to use `ClientConfiguration#setRetryLimit` additionally to 
`ClientRetryAllPolicy`. It should help you. Please let me know if it solves the 
issue or not.

Thanks!


On Wed, Jun 22, 2022 at 8:02 AM Ilya Korol <llivezk...@gmail.com> wrote:
Hi,

Please take look to 
https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/client/ClientAddressFinder.html,
 
according to this ThinClientKubernetesAddressFinder should refresh address list 
on client connection failure, or you can try to set paritionAwareness = true in 
ClientConfiguration, that should force ip finder to proactively refresh address 
list.

On 2022/06/22 01:53:38 f cad wrote:
> below if client code config
> KubernetesConnectionConfiguration kcfg = new
> KubernetesConnectionConfiguration();
> 
> kcfg.setNamespace(igniteK8sNameSpace);kcfg.setServiceName(igniteK8sServiceName);cfg.setAddressesFinder(new
> ThinClientKubernetesAddressFinder(kcfg));cfg.setRetryPolicy(new
> ClientRetryAllPolicy());
> 
> 
> after ignite pod restart
> 
> client throw Exceptionorg.apache.ignite.client.ClientConnectionException:
> Connection timed out
> at 
> org.apache.ignite.internal.client.thin.io.gridnioserver.GridNioClientConnectionMultiplexer.open(GridNioClientConnectionMultiplexer.java:144)
> at 
> org.apache.ignite.internal.client.thin.TcpClientChannel.<init>(TcpClientChannel.java:178)
> at 
> org.apache.ignite.internal.client.thin.ReliableChannel$ClientChannelHolder.getOrCreateChannel(ReliableChannel.java:917)
> at 
> org.apache.ignite.internal.client.thin.ReliableChannel$ClientChannelHolder.getOrCreateChannel(ReliableChannel.java:898)
> at 
> org.apache.ignite.internal.client.thin.ReliableChannel$ClientChannelHolder.access$200(ReliableChannel.java:847)
> at 
> org.apache.ignite.internal.client.thin.ReliableChannel.applyOnDefaultChannel(ReliableChannel.java:759)
> at 
> org.apache.ignite.internal.client.thin.ReliableChannel.applyOnDefaultChannel(ReliableChannel.java:731)
> at 
> org.apache.ignite.internal.client.thin.ReliableChannel.service(ReliableChannel.java:167)
> at 
> org.apache.ignite.internal.client.thin.ReliableChannel.request(ReliableChannel.java:288)
> at 
> org.apache.ignite.internal.client.thin.TcpIgniteClient.getOrCreateCache(TcpIgniteClient.java:185)
> 
> and i use retry to reconnect and print
> clientConfiguration.getAddressesFinder().getAddresses() and it address is
> pod address,but client not reconnect
> 
> while (retryTimeTmp < retryTimes) {
> try {
> return igniteClient.getOrCreateCache(new
> ClientCacheConfiguration()
> .setName(cacheName)
> .setAtomicityMode(TRANSACTIONAL)
> .setCacheMode(PARTITIONED)
> .setBackups(2)
> .setWriteSynchronizationMode(PRIMARY_SYNC));
> }catch (Exception e) {
> LOGGER.error("get cache [{}] not success", cacheName, e);
> LOGGER.error("get address info [{}], ipfinder [{}]",
> clientConfiguration.getAddresses(),
> clientConfiguration.getAddressesFinder().getAddresses());
> 
> retrySleep();
> } finally {
> retryTimeTmp++;
> }
> 

Reply via email to