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