Hi If you want to retry the kubernetes endpoint, then you can use
For example to try 10 times errorHandler().maximumRedeliveries(10); See more at https://camel.apache.org/manual/latest/defaulterrorhandler.html https://camel.apache.org/components/latest/eips/dead-letter-channel.html On Fri, Jan 15, 2021 at 7:20 PM Imran Raza Khan <imranrazak...@gmail.com> wrote: > > @Claus Ibsen > > Thanks for clarification, For timer I agree as it already started so > SupervisingRouterController will not take care, but for kubernetes route is > failing at connection level but still SupervisingRouterController is not > retrying, But SupervisingRouterController retry work for my third part of > broker route > > > 2021-01-15 17:55:18,333 ERROR [org.apa.cam.pro.err.DefaultErrorHandler] > (Camel (camel-1) thread #1 - timer://ipc) Failed delivery for (MessageId: > C430425BC77567B-0000000000000000 on ExchangeId: > C430425BC77567B-0000000000000000). Exhausted after delivery attempt: 1 > caught: io.fabric8.kubernetes.client.KubernetesClientException: Operation: > [get] for kind: [Secret] with name: [broker] in namespace: [production] > failed. > > Message History (complete message history is disabled) > > --------------------------------------------------------------------------------------------------------------------------------------- > RouteId ProcessorId Processor > Elapsed (ms) > [main-route ] [main-route ] > [from[timer://ipc?delay=60000&repeatCount=1] > ] [ 4813] > ... > [GetSecretsAndYQCon] [to5 ] > [kubernetes-secrets:///?kubernetesClient=#kubernetesClient&operation=getSecret > ] [ 0] > > Stacktrace > > --------------------------------------------------------------------------------------------------------------------------------------- > : io.fabric8.kubernetes.client.KubernetesClientException: Operation: > [get] for kind: [Secret] with name: [broker] in namespace: [production] > failed. > at > io.fabric8.kubernetes.client.KubernetesClientException.launderThrowable(KubernetesClientException.java:64) > at > io.fabric8.kubernetes.client.KubernetesClientException.launderThrowable(KubernetesClientException.java:72) > at > io.fabric8.kubernetes.client.dsl.base.BaseOperation.getMandatory(BaseOperation.java:225) > at > io.fabric8.kubernetes.client.dsl.base.BaseOperation.get(BaseOperation.java:186) > at > io.fabric8.kubernetes.client.dsl.base.BaseOperation.get(BaseOperation.java:84) > at > org.apache.camel.component.kubernetes.secrets.KubernetesSecretsProducer.doGetSecret(KubernetesSecretsProducer.java:130) > at > org.apache.camel.component.kubernetes.secrets.KubernetesSecretsProducer.process(KubernetesSecretsProducer.java:72) > at > org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:66) > at > org.apache.camel.processor.SendProcessor.lambda$process$2(SendProcessor.java:188) > at > org.apache.camel.support.cache.DefaultProducerCache.doInAsyncProducer(DefaultProducerCache.java:317) > at > org.apache.camel.processor.SendProcessor.process(SendProcessor.java:187) > at > org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:395) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148) > at > org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:60) > at > org.apache.camel.processor.Pipeline.process(Pipeline.java:147) > at > org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:312) > at > org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:207) > at > org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:76) > at java.util.TimerThread.mainLoop(Timer.java:555) > at java.util.TimerThread.run(Timer.java:505) > Caused by: javax.net.ssl.SSLHandshakeException: Remote host closed > connection during handshake > at > sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:994) > at > sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1367) > at > sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1395) > at > sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1379) > at > okhttp3.internal.connection.RealConnection.connectTls(RealConnection.java:336) > at > okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.java:300) > at > okhttp3.internal.connection.RealConnection.connect(RealConnection.java:185) > at > okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.java:224) > at > okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.java:108) > at > okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.java:88) > at > okhttp3.internal.connection.Transmitter.newExchange(Transmitter.java:169) > at > okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:41) > at > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142) > at > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117) > at > okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:94) > at > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142) > at > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117) > at > okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93) > at > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142) > at > okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:88) > at > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142) > at > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117) > at > io.fabric8.kubernetes.client.utils.BackwardsCompatibilityInterceptor.intercept(BackwardsCompatibilityInterceptor.java:133) > at > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142) > at > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117) > at > io.fabric8.kubernetes.client.utils.OIDCTokenRefreshInterceptor.intercept(OIDCTokenRefreshInterceptor.java:41) > at > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142) > at > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117) > at > io.fabric8.kubernetes.client.utils.ImpersonatorInterceptor.intercept(ImpersonatorInterceptor.java:68) > at > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142) > at > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117) > at > io.fabric8.kubernetes.client.utils.HttpClientUtils.lambda$createHttpClient$3(HttpClientUtils.java:153) > at > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142) > at > okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117) > at > okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:229) > at okhttp3.RealCall.execute(RealCall.java:81) > at > io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleResponse(OperationSupport.java:472) > at > io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleResponse(OperationSupport.java:435) > at > io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleGet(OperationSupport.java:402) > at > io.fabric8.kubernetes.client.dsl.base.OperationSupport.handleGet(OperationSupport.java:384) > at > io.fabric8.kubernetes.client.dsl.base.BaseOperation.handleGet(BaseOperation.java:935) > at > io.fabric8.kubernetes.client.dsl.base.BaseOperation.getMandatory(BaseOperation.java:220) > ... 17 more > Caused by: java.io.EOFException: SSL peer shut down incorrectly > at sun.security.ssl.InputRecord.read(InputRecord.java:505) > at > sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:975) > ... 58 more -- Claus Ibsen ----------------- http://davsclaus.com @davsclaus Camel in Action 2: https://www.manning.com/ibsen2