[ 
https://issues.apache.org/jira/browse/CAMEL-16370?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jason updated CAMEL-16370:
--------------------------
    Description: 
We are consuming Salesforce platform-events following the documented 
recommendations and our connection will not reconnect after being disconnected, 
apparently, from Salesforce.  I am not quite certain as to the circumstances 
that Salesforce sends some sort of disconnect signal, but that is what's logged 
from the SubscriptionHelper class. Our initial connection to Salesforce is 
successful and we are able to receive platform-events up until the point of the 
spontaneous disconnection.  Re-connection fails consistently and always in the 
same way.  Logging is slightly different across version, but the behavior seems 
to always be the same.

Our only work around for this is to run our service consuming this message like 
a cron job and restart it every 15 minutes (period we settled on through 
experimentation).  This is not how we'd prefer to sun this service, it's quite 
hacky and we'd like to not have to force a restart to work around what appears 
to an issue with how the reconnect is handled.

 

Here is the stacktrace:

[DEBUG] 2021-03-17 13:30:48,513 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$5 
[SalesforceHttpClient@60c73e58-25 ] - Received messages 
[{clientId=[--------redacted--------], channel=/meta/connect, id=21, 
successful=true}][DEBUG] 2021-03-17 13:30:48,513 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-25 ] - [CHANNEL:META_CONNECT]: 
{clientId=[--------redacted--------], channel=/meta/connect, id=21, 
successful=true}
[DEBUG] 2021-03-17 13:32:38,588 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$5 
[SalesforceHttpClient@60c73e58-25 ] - Received messages 
[{clientId=[--------redacted--------], channel=/meta/connect, id=22, 
successful=true}]
[DEBUG] 2021-03-17 13:32:38,589 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-25 ] - [CHANNEL:META_CONNECT]: 
{clientId=[--------redacted--------], channel=/meta/connect, id=22, 
successful=true}
[DEBUG] 2021-03-17 13:34:28,665 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$5 
[SalesforceHttpClient@60c73e58-25 ] - Received messages 
[{clientId=[--------redacted--------], channel=/meta/connect, id=23, 
successful=true}]
[DEBUG] 2021-03-17 13:34:28,666 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-25 ] - [CHANNEL:META_CONNECT]: 
{clientId=[--------redacted--------], channel=/meta/connect, id=23, 
successful=true}[DEBUG] 2021-03-17 13:34:28,766 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$5 
[SalesforceHttpClient@60c73e58-32 ] - Received messages 
[{channel=/meta/disconnect}, {clientId=[--------redacted--------], 
advice={reconnect=none, interval=0}, channel=/meta/connect, id=24, 
error=401::Authentication invalid, successful=false}]
[INFO ] 2021-03-17 13:34:28,769 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-26 ] - Restarting on unexpected disconnect from 
Salesforce...
[DEBUG] 2021-03-17 13:34:28,769 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-26 ] - Waiting to disconnect...
[DEBUG] 2021-03-17 13:34:28,770 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-32 ] - [CHANNEL:META_CONNECT]: 
{clientId=[--------redacted--------], advice={reconnect=none, interval=0}, 
channel=/meta/connect, id=24, error=401::Authentication invalid, 
successful=false}[WARN ] 2021-03-17 13:34:28,771 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-32 ] - Connect failure: 
{clientId=[--------redacted--------], advice={reconnect=none, interval=0}, 
channel=/meta/connect, id=24, error=401::Authentication invalid, 
successful=false}
[DEBUG] 2021-03-17 13:34:33,769 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-26 ] - Pausing for 0 msecs before restart attempt
[DEBUG] 2021-03-17 13:34:33,770 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-26 ] - Stopped the helper and destroyed the 
client
[DEBUG] 2021-03-17 13:34:33,862 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$5 
[SalesforceHttpClient@60c73e58-30 ] - Received messages 
[{ext={sfdc={failureReason=401::Authentication invalid}, replay=true, 
payload.format=true}, advice={reconnect=none}, channel=/meta/handshake, id=25, 
error=403::Handshake denied, successful=false}][DEBUG] 2021-03-17 13:34:33,863 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-30 ] - [CHANNEL:META_HANDSHAKE]: 
{ext={sfdc={failureReason=401::Authentication invalid}, replay=true, 
payload.format=true}, advice={reconnect=none}, channel=/meta/handshake, id=25, 
error=403::Handshake denied, successful=false}
[WARN ] 2021-03-17 13:34:33,863 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-30 ] - Handshake failure: 
{ext={sfdc={failureReason=401::Authentication invalid}, replay=true, 
payload.format=true}, advice={reconnect=none}, channel=/meta/handshake, id=25, 
error=403::Handshake denied, successful=false}
[INFO ] 2021-03-17 13:34:33,863 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-30 ] - Cleaning session (logout) from 
SalesforceSession before restarting client
[INFO ] 2021-03-17 13:34:33,867 org.cometd.bayeux.client.ClientSession 
[SalesforceHttpClient@60c73e58-30 ] - Exception while invoking listener 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$1...@7574cf75java.lang.NullPointerException:
 null    at 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$1.onMessage(SubscriptionHelper.java:148)
    at 
org.cometd.common.AbstractClientSession$AbstractSessionChannel.notifyOnMessage(AbstractClientSession.java:583)
    at 
org.cometd.common.AbstractClientSession$AbstractSessionChannel.notifyMessageListeners(AbstractClientSession.java:568)
    at 
org.cometd.common.AbstractClientSession.notifyListeners(AbstractClientSession.java:308)
    at 
org.cometd.common.AbstractClientSession.lambda$receive$4(AbstractClientSession.java:269)
    at org.cometd.bayeux.Promise$2.succeed(Promise.java:103)    at 
org.cometd.common.AsyncFoldLeft$AbstractLoop.run(AsyncFoldLeft.java:199)    at 
org.cometd.common.AsyncFoldLeft.run(AsyncFoldLeft.java:93)    at 
org.cometd.common.AbstractClientSession.extendIncoming(AbstractClientSession.java:103)
    at 
org.cometd.common.AbstractClientSession.receive(AbstractClientSession.java:263) 
   at org.cometd.client.BayeuxClient.failHandshake(BayeuxClient.java:721)    at 
org.cometd.client.BayeuxClient.processHandshake(BayeuxClient.java:707)    at 
org.cometd.client.BayeuxClient.processMessages(BayeuxClient.java:615)    at 
org.cometd.client.BayeuxClient.access$2000(BayeuxClient.java:101)    at 
org.cometd.client.BayeuxClient$MessageTransportListener.onMessages(BayeuxClient.java:1260)
    at 
org.cometd.client.transport.LongPollingTransport$2.onComplete(LongPollingTransport.java:240)
    at 
org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:218)
    at 
org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:210)
    at 
org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:481)  
  at 
org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:461)  
  at 
org.eclipse.jetty.client.HttpReceiver.responseSuccess(HttpReceiver.java:424)    
at 
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.messageComplete(HttpReceiverOverHTTP.java:365)
    at 
org.eclipse.jetty.http.HttpParser.handleContentMessage(HttpParser.java:585)    
at org.eclipse.jetty.http.HttpParser.parseContent(HttpParser.java:1702)    at 
org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1531)    at 
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.parse(HttpReceiverOverHTTP.java:204)
    at 
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:144)
    at 
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:79)
    at 
org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:131)
    at 
org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:169)
    at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)    at 
org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:540)
    at 
org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:395)    at 
org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:161)    
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)    at 
org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)    at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
    at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
    at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
    at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
    at 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
    at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
    at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
    at java.base/java.lang.Thread.run(Thread.java:834)
[ERROR] 2021-03-17 13:36:23,773 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-26 ] - Error restarting: Exception during 
HANDSHAKE: 401::Authentication invalidorg.apache.camel.CamelException: 
Exception during HANDSHAKE: 401::Authentication invalid    at 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.connect(SubscriptionHelper.java:223)
    at 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.doStart(SubscriptionHelper.java:212)
    at 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.performClientRestart(SubscriptionHelper.java:304)
    at 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.access$1000(SubscriptionHelper.java:60)
    at 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$4.run(SubscriptionHelper.java:249)
    at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
    at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
    at java.base/java.lang.Thread.run(Thread.java:834)Caused by: 
org.apache.camel.component.salesforce.api.SalesforceException: 
401::Authentication invalid    at 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.getFailure(SubscriptionHelper.java:340)
    at 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.access$300(SubscriptionHelper.java:60)
    at 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$1.onMessage(SubscriptionHelper.java:132)
    at 
org.cometd.common.AbstractClientSession$AbstractSessionChannel.notifyOnMessage(AbstractClientSession.java:583)
    at 
org.cometd.common.AbstractClientSession$AbstractSessionChannel.notifyMessageListeners(AbstractClientSession.java:568)
    at 
org.cometd.common.AbstractClientSession.notifyListeners(AbstractClientSession.java:308)
    at 
org.cometd.common.AbstractClientSession.lambda$receive$4(AbstractClientSession.java:269)
    at org.cometd.bayeux.Promise$2.succeed(Promise.java:103)    at 
org.cometd.common.AsyncFoldLeft$AbstractLoop.run(AsyncFoldLeft.java:199)    at 
org.cometd.common.AsyncFoldLeft.run(AsyncFoldLeft.java:93)    at 
org.cometd.common.AbstractClientSession.extendIncoming(AbstractClientSession.java:103)
    at 
org.cometd.common.AbstractClientSession.receive(AbstractClientSession.java:263) 
   at org.cometd.client.BayeuxClient.failHandshake(BayeuxClient.java:721)    at 
org.cometd.client.BayeuxClient.processHandshake(BayeuxClient.java:707)    at 
org.cometd.client.BayeuxClient.processMessages(BayeuxClient.java:615)    at 
org.cometd.client.BayeuxClient.access$2000(BayeuxClient.java:101)    at 
org.cometd.client.BayeuxClient$MessageTransportListener.onMessages(BayeuxClient.java:1260)
    at 
org.cometd.client.transport.LongPollingTransport$2.onComplete(LongPollingTransport.java:240)
    at 
org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:218)
    at 
org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:210)
    at 
org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:481)  
  at 
org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:461)  
  at 
org.eclipse.jetty.client.HttpReceiver.responseSuccess(HttpReceiver.java:424)    
at 
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.messageComplete(HttpReceiverOverHTTP.java:365)
    at 
org.eclipse.jetty.http.HttpParser.handleContentMessage(HttpParser.java:585)    
at org.eclipse.jetty.http.HttpParser.parseContent(HttpParser.java:1702)    at 
org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1531)    at 
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.parse(HttpReceiverOverHTTP.java:204)
    at 
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:144)
    at 
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:79)
    at 
org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:131)
    at 
org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:169)
    at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)    at 
org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:540)
    at 
org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:395)    at 
org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:161)    
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)    at 
org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)    at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
    at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
    at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
    at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
    at 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
    ... 3 common frames omitted
[ERROR] 2021-03-17 13:36:23,774 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-26 ] - Failed to restart after pausing for 0 
msecs{noformat}

  was:
We are consuming Salesforce platform-events following the documented 
recommendations and our connection will not reconnect after being disconnected, 
apparently, from Salesforce.  I am not quite certain as to the circumstances 
that Salesforce sends some sort of disconnect signal, but that is what's logged 
from the SubscriptionHelper class. Our initial connection to Salesforce is 
successful and we are able to receive platform-events up until the point of the 
spontaneous disconnection.  Re-connection fails consistently and always in the 
same way.  Logging is slightly different across version, but the behavior seems 
to always be the same.

Our only work around for this is to run our service consuming this message like 
a cron job and restart it every 15 minutes (period we settled on through 
experimentation).  This is not how we'd prefer to sun this service, it's quite 
hacky and we'd like to not have to force a restart to work around what appears 
to an issue with how the reconnect is handled.

 

Here is the stacktrace:

[DEBUG] 2021-03-17 13:30:48,513 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$5 
[SalesforceHttpClient@60c73e58-25 ] - Received messages 
[{clientId=[--------redacted--------], channel=/meta/connect, id=21, 
successful=true}][DEBUG] 2021-03-17 13:30:48,513 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-25 ] - [CHANNEL:META_CONNECT]: 
{clientId=[--------redacted--------], channel=/meta/connect, id=21, 
successful=true}[DEBUG] 2021-03-17 13:32:38,588 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$5 
[SalesforceHttpClient@60c73e58-25 ] - Received messages 
[{clientId=[--------redacted--------], channel=/meta/connect, id=22, 
successful=true}][DEBUG] 2021-03-17 13:32:38,589 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-25 ] - [CHANNEL:META_CONNECT]: 
{clientId=[--------redacted--------], channel=/meta/connect, id=22, 
successful=true}[DEBUG] 2021-03-17 13:34:28,665 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$5 
[SalesforceHttpClient@60c73e58-25 ] - Received messages 
[{clientId=[--------redacted--------], channel=/meta/connect, id=23, 
successful=true}][DEBUG] 2021-03-17 13:34:28,666 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-25 ] - [CHANNEL:META_CONNECT]: 
{clientId=[--------redacted--------], channel=/meta/connect, id=23, 
successful=true}[DEBUG] 2021-03-17 13:34:28,766 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$5 
[SalesforceHttpClient@60c73e58-32 ] - Received messages 
[{channel=/meta/disconnect}, {clientId=[--------redacted--------], 
advice={reconnect=none, interval=0}, channel=/meta/connect, id=24, 
error=401::Authentication invalid, successful=false}][INFO ] 2021-03-17 
13:34:28,769 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-26 ] - Restarting on unexpected disconnect from 
Salesforce...[DEBUG] 2021-03-17 13:34:28,769 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-26 ] - Waiting to disconnect...[DEBUG] 
2021-03-17 13:34:28,770 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-32 ] - [CHANNEL:META_CONNECT]: 
{clientId=[--------redacted--------], advice={reconnect=none, interval=0}, 
channel=/meta/connect, id=24, error=401::Authentication invalid, 
successful=false}[WARN ] 2021-03-17 13:34:28,771 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-32 ] - Connect failure: 
{clientId=[--------redacted--------], advice={reconnect=none, interval=0}, 
channel=/meta/connect, id=24, error=401::Authentication invalid, 
successful=false}[DEBUG] 2021-03-17 13:34:33,769 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-26 ] - Pausing for 0 msecs before restart 
attempt[DEBUG] 2021-03-17 13:34:33,770 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-26 ] - Stopped the helper and destroyed the 
client[DEBUG] 2021-03-17 13:34:33,862 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$5 
[SalesforceHttpClient@60c73e58-30 ] - Received messages 
[{ext={sfdc={failureReason=401::Authentication invalid}, replay=true, 
payload.format=true}, advice={reconnect=none}, channel=/meta/handshake, id=25, 
error=403::Handshake denied, successful=false}][DEBUG] 2021-03-17 13:34:33,863 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-30 ] - [CHANNEL:META_HANDSHAKE]: 
{ext={sfdc={failureReason=401::Authentication invalid}, replay=true, 
payload.format=true}, advice={reconnect=none}, channel=/meta/handshake, id=25, 
error=403::Handshake denied, successful=false}[WARN ] 2021-03-17 13:34:33,863 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-30 ] - Handshake failure: 
{ext={sfdc={failureReason=401::Authentication invalid}, replay=true, 
payload.format=true}, advice={reconnect=none}, channel=/meta/handshake, id=25, 
error=403::Handshake denied, successful=false}[INFO ] 2021-03-17 13:34:33,863 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-30 ] - Cleaning session (logout) from 
SalesforceSession before restarting client[INFO ] 2021-03-17 13:34:33,867 
org.cometd.bayeux.client.ClientSession [SalesforceHttpClient@60c73e58-30 ] - 
Exception while invoking listener 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$1...@7574cf75java.lang.NullPointerException:
 null    at 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$1.onMessage(SubscriptionHelper.java:148)
    at 
org.cometd.common.AbstractClientSession$AbstractSessionChannel.notifyOnMessage(AbstractClientSession.java:583)
    at 
org.cometd.common.AbstractClientSession$AbstractSessionChannel.notifyMessageListeners(AbstractClientSession.java:568)
    at 
org.cometd.common.AbstractClientSession.notifyListeners(AbstractClientSession.java:308)
    at 
org.cometd.common.AbstractClientSession.lambda$receive$4(AbstractClientSession.java:269)
    at org.cometd.bayeux.Promise$2.succeed(Promise.java:103)    at 
org.cometd.common.AsyncFoldLeft$AbstractLoop.run(AsyncFoldLeft.java:199)    at 
org.cometd.common.AsyncFoldLeft.run(AsyncFoldLeft.java:93)    at 
org.cometd.common.AbstractClientSession.extendIncoming(AbstractClientSession.java:103)
    at 
org.cometd.common.AbstractClientSession.receive(AbstractClientSession.java:263) 
   at org.cometd.client.BayeuxClient.failHandshake(BayeuxClient.java:721)    at 
org.cometd.client.BayeuxClient.processHandshake(BayeuxClient.java:707)    at 
org.cometd.client.BayeuxClient.processMessages(BayeuxClient.java:615)    at 
org.cometd.client.BayeuxClient.access$2000(BayeuxClient.java:101)    at 
org.cometd.client.BayeuxClient$MessageTransportListener.onMessages(BayeuxClient.java:1260)
    at 
org.cometd.client.transport.LongPollingTransport$2.onComplete(LongPollingTransport.java:240)
    at 
org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:218)
    at 
org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:210)
    at 
org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:481)  
  at 
org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:461)  
  at 
org.eclipse.jetty.client.HttpReceiver.responseSuccess(HttpReceiver.java:424)    
at 
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.messageComplete(HttpReceiverOverHTTP.java:365)
    at 
org.eclipse.jetty.http.HttpParser.handleContentMessage(HttpParser.java:585)    
at org.eclipse.jetty.http.HttpParser.parseContent(HttpParser.java:1702)    at 
org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1531)    at 
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.parse(HttpReceiverOverHTTP.java:204)
    at 
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:144)
    at 
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:79)
    at 
org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:131)
    at 
org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:169)
    at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)    at 
org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:540)
    at 
org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:395)    at 
org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:161)    
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)    at 
org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)    at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
    at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
    at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
    at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
    at 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
    at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
    at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
    at java.base/java.lang.Thread.run(Thread.java:834)[ERROR] 2021-03-17 
13:36:23,773 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-26 ] - Error restarting: Exception during 
HANDSHAKE: 401::Authentication invalidorg.apache.camel.CamelException: 
Exception during HANDSHAKE: 401::Authentication invalid    at 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.connect(SubscriptionHelper.java:223)
    at 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.doStart(SubscriptionHelper.java:212)
    at 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.performClientRestart(SubscriptionHelper.java:304)
    at 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.access$1000(SubscriptionHelper.java:60)
    at 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$4.run(SubscriptionHelper.java:249)
    at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
    at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
    at java.base/java.lang.Thread.run(Thread.java:834)Caused by: 
org.apache.camel.component.salesforce.api.SalesforceException: 
401::Authentication invalid    at 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.getFailure(SubscriptionHelper.java:340)
    at 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.access$300(SubscriptionHelper.java:60)
    at 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$1.onMessage(SubscriptionHelper.java:132)
    at 
org.cometd.common.AbstractClientSession$AbstractSessionChannel.notifyOnMessage(AbstractClientSession.java:583)
    at 
org.cometd.common.AbstractClientSession$AbstractSessionChannel.notifyMessageListeners(AbstractClientSession.java:568)
    at 
org.cometd.common.AbstractClientSession.notifyListeners(AbstractClientSession.java:308)
    at 
org.cometd.common.AbstractClientSession.lambda$receive$4(AbstractClientSession.java:269)
    at org.cometd.bayeux.Promise$2.succeed(Promise.java:103)    at 
org.cometd.common.AsyncFoldLeft$AbstractLoop.run(AsyncFoldLeft.java:199)    at 
org.cometd.common.AsyncFoldLeft.run(AsyncFoldLeft.java:93)    at 
org.cometd.common.AbstractClientSession.extendIncoming(AbstractClientSession.java:103)
    at 
org.cometd.common.AbstractClientSession.receive(AbstractClientSession.java:263) 
   at org.cometd.client.BayeuxClient.failHandshake(BayeuxClient.java:721)    at 
org.cometd.client.BayeuxClient.processHandshake(BayeuxClient.java:707)    at 
org.cometd.client.BayeuxClient.processMessages(BayeuxClient.java:615)    at 
org.cometd.client.BayeuxClient.access$2000(BayeuxClient.java:101)    at 
org.cometd.client.BayeuxClient$MessageTransportListener.onMessages(BayeuxClient.java:1260)
    at 
org.cometd.client.transport.LongPollingTransport$2.onComplete(LongPollingTransport.java:240)
    at 
org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:218)
    at 
org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:210)
    at 
org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:481)  
  at 
org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:461)  
  at 
org.eclipse.jetty.client.HttpReceiver.responseSuccess(HttpReceiver.java:424)    
at 
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.messageComplete(HttpReceiverOverHTTP.java:365)
    at 
org.eclipse.jetty.http.HttpParser.handleContentMessage(HttpParser.java:585)    
at org.eclipse.jetty.http.HttpParser.parseContent(HttpParser.java:1702)    at 
org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1531)    at 
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.parse(HttpReceiverOverHTTP.java:204)
    at 
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:144)
    at 
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:79)
    at 
org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:131)
    at 
org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:169)
    at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)    at 
org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:540)
    at 
org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:395)    at 
org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:161)    
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)    at 
org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)    at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
    at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
    at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
    at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
    at 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
    ... 3 common frames omitted[ERROR] 2021-03-17 13:36:23,774 
org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
[SalesforceHttpClient@60c73e58-26 ] - Failed to restart after pausing for 0 
msecs{noformat}


> Camel Salesforce component unable to reconnect after disconnect from 
> Salesforce
> -------------------------------------------------------------------------------
>
>                 Key: CAMEL-16370
>                 URL: https://issues.apache.org/jira/browse/CAMEL-16370
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-salesforce
>    Affects Versions: 3.8.0
>         Environment: Running in a spring-boot (v2.1.18.RELEASE) app in a 
> linux container deployed to openshift 3.11
>            Reporter: Jason
>            Priority: Major
>             Fix For: 3.x
>
>
> We are consuming Salesforce platform-events following the documented 
> recommendations and our connection will not reconnect after being 
> disconnected, apparently, from Salesforce.  I am not quite certain as to the 
> circumstances that Salesforce sends some sort of disconnect signal, but that 
> is what's logged from the SubscriptionHelper class. Our initial connection to 
> Salesforce is successful and we are able to receive platform-events up until 
> the point of the spontaneous disconnection.  Re-connection fails consistently 
> and always in the same way.  Logging is slightly different across version, 
> but the behavior seems to always be the same.
> Our only work around for this is to run our service consuming this message 
> like a cron job and restart it every 15 minutes (period we settled on through 
> experimentation).  This is not how we'd prefer to sun this service, it's 
> quite hacky and we'd like to not have to force a restart to work around what 
> appears to an issue with how the reconnect is handled.
>  
> Here is the stacktrace:
> [DEBUG] 2021-03-17 13:30:48,513 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$5 
> [SalesforceHttpClient@60c73e58-25 ] - Received messages 
> [{clientId=[--------redacted--------], channel=/meta/connect, id=21, 
> successful=true}][DEBUG] 2021-03-17 13:30:48,513 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
> [SalesforceHttpClient@60c73e58-25 ] - [CHANNEL:META_CONNECT]: 
> {clientId=[--------redacted--------], channel=/meta/connect, id=21, 
> successful=true}
> [DEBUG] 2021-03-17 13:32:38,588 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$5 
> [SalesforceHttpClient@60c73e58-25 ] - Received messages 
> [{clientId=[--------redacted--------], channel=/meta/connect, id=22, 
> successful=true}]
> [DEBUG] 2021-03-17 13:32:38,589 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
> [SalesforceHttpClient@60c73e58-25 ] - [CHANNEL:META_CONNECT]: 
> {clientId=[--------redacted--------], channel=/meta/connect, id=22, 
> successful=true}
> [DEBUG] 2021-03-17 13:34:28,665 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$5 
> [SalesforceHttpClient@60c73e58-25 ] - Received messages 
> [{clientId=[--------redacted--------], channel=/meta/connect, id=23, 
> successful=true}]
> [DEBUG] 2021-03-17 13:34:28,666 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
> [SalesforceHttpClient@60c73e58-25 ] - [CHANNEL:META_CONNECT]: 
> {clientId=[--------redacted--------], channel=/meta/connect, id=23, 
> successful=true}[DEBUG] 2021-03-17 13:34:28,766 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$5 
> [SalesforceHttpClient@60c73e58-32 ] - Received messages 
> [{channel=/meta/disconnect}, {clientId=[--------redacted--------], 
> advice={reconnect=none, interval=0}, channel=/meta/connect, id=24, 
> error=401::Authentication invalid, successful=false}]
> [INFO ] 2021-03-17 13:34:28,769 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
> [SalesforceHttpClient@60c73e58-26 ] - Restarting on unexpected disconnect 
> from Salesforce...
> [DEBUG] 2021-03-17 13:34:28,769 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
> [SalesforceHttpClient@60c73e58-26 ] - Waiting to disconnect...
> [DEBUG] 2021-03-17 13:34:28,770 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
> [SalesforceHttpClient@60c73e58-32 ] - [CHANNEL:META_CONNECT]: 
> {clientId=[--------redacted--------], advice={reconnect=none, interval=0}, 
> channel=/meta/connect, id=24, error=401::Authentication invalid, 
> successful=false}[WARN ] 2021-03-17 13:34:28,771 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
> [SalesforceHttpClient@60c73e58-32 ] - Connect failure: 
> {clientId=[--------redacted--------], advice={reconnect=none, interval=0}, 
> channel=/meta/connect, id=24, error=401::Authentication invalid, 
> successful=false}
> [DEBUG] 2021-03-17 13:34:33,769 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
> [SalesforceHttpClient@60c73e58-26 ] - Pausing for 0 msecs before restart 
> attempt
> [DEBUG] 2021-03-17 13:34:33,770 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
> [SalesforceHttpClient@60c73e58-26 ] - Stopped the helper and destroyed the 
> client
> [DEBUG] 2021-03-17 13:34:33,862 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$5 
> [SalesforceHttpClient@60c73e58-30 ] - Received messages 
> [{ext={sfdc={failureReason=401::Authentication invalid}, replay=true, 
> payload.format=true}, advice={reconnect=none}, channel=/meta/handshake, 
> id=25, error=403::Handshake denied, successful=false}][DEBUG] 2021-03-17 
> 13:34:33,863 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
> [SalesforceHttpClient@60c73e58-30 ] - [CHANNEL:META_HANDSHAKE]: 
> {ext={sfdc={failureReason=401::Authentication invalid}, replay=true, 
> payload.format=true}, advice={reconnect=none}, channel=/meta/handshake, 
> id=25, error=403::Handshake denied, successful=false}
> [WARN ] 2021-03-17 13:34:33,863 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
> [SalesforceHttpClient@60c73e58-30 ] - Handshake failure: 
> {ext={sfdc={failureReason=401::Authentication invalid}, replay=true, 
> payload.format=true}, advice={reconnect=none}, channel=/meta/handshake, 
> id=25, error=403::Handshake denied, successful=false}
> [INFO ] 2021-03-17 13:34:33,863 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
> [SalesforceHttpClient@60c73e58-30 ] - Cleaning session (logout) from 
> SalesforceSession before restarting client
> [INFO ] 2021-03-17 13:34:33,867 org.cometd.bayeux.client.ClientSession 
> [SalesforceHttpClient@60c73e58-30 ] - Exception while invoking listener 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$1...@7574cf75java.lang.NullPointerException:
>  null    at 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$1.onMessage(SubscriptionHelper.java:148)
>     at 
> org.cometd.common.AbstractClientSession$AbstractSessionChannel.notifyOnMessage(AbstractClientSession.java:583)
>     at 
> org.cometd.common.AbstractClientSession$AbstractSessionChannel.notifyMessageListeners(AbstractClientSession.java:568)
>     at 
> org.cometd.common.AbstractClientSession.notifyListeners(AbstractClientSession.java:308)
>     at 
> org.cometd.common.AbstractClientSession.lambda$receive$4(AbstractClientSession.java:269)
>     at org.cometd.bayeux.Promise$2.succeed(Promise.java:103)    at 
> org.cometd.common.AsyncFoldLeft$AbstractLoop.run(AsyncFoldLeft.java:199)    
> at org.cometd.common.AsyncFoldLeft.run(AsyncFoldLeft.java:93)    at 
> org.cometd.common.AbstractClientSession.extendIncoming(AbstractClientSession.java:103)
>     at 
> org.cometd.common.AbstractClientSession.receive(AbstractClientSession.java:263)
>     at org.cometd.client.BayeuxClient.failHandshake(BayeuxClient.java:721)    
> at org.cometd.client.BayeuxClient.processHandshake(BayeuxClient.java:707)    
> at org.cometd.client.BayeuxClient.processMessages(BayeuxClient.java:615)    
> at org.cometd.client.BayeuxClient.access$2000(BayeuxClient.java:101)    at 
> org.cometd.client.BayeuxClient$MessageTransportListener.onMessages(BayeuxClient.java:1260)
>     at 
> org.cometd.client.transport.LongPollingTransport$2.onComplete(LongPollingTransport.java:240)
>     at 
> org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:218)
>     at 
> org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:210)
>     at 
> org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:481)
>     at 
> org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:461)
>     at 
> org.eclipse.jetty.client.HttpReceiver.responseSuccess(HttpReceiver.java:424)  
>   at 
> org.eclipse.jetty.client.http.HttpReceiverOverHTTP.messageComplete(HttpReceiverOverHTTP.java:365)
>     at 
> org.eclipse.jetty.http.HttpParser.handleContentMessage(HttpParser.java:585)   
>  at org.eclipse.jetty.http.HttpParser.parseContent(HttpParser.java:1702)    
> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1531)    at 
> org.eclipse.jetty.client.http.HttpReceiverOverHTTP.parse(HttpReceiverOverHTTP.java:204)
>     at 
> org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:144)
>     at 
> org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:79)
>     at 
> org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:131)
>     at 
> org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:169)
>     at 
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
>     at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)    
> at 
> org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:540)
>     at 
> org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:395)    
> at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:161) 
>    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)    at 
> org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)    at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
>     at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
>     at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
>     at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
>     at 
> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
>     at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
>     at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
>     at java.base/java.lang.Thread.run(Thread.java:834)
> [ERROR] 2021-03-17 13:36:23,773 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
> [SalesforceHttpClient@60c73e58-26 ] - Error restarting: Exception during 
> HANDSHAKE: 401::Authentication invalidorg.apache.camel.CamelException: 
> Exception during HANDSHAKE: 401::Authentication invalid    at 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.connect(SubscriptionHelper.java:223)
>     at 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.doStart(SubscriptionHelper.java:212)
>     at 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.performClientRestart(SubscriptionHelper.java:304)
>     at 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.access$1000(SubscriptionHelper.java:60)
>     at 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$4.run(SubscriptionHelper.java:249)
>     at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
>     at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
>     at java.base/java.lang.Thread.run(Thread.java:834)Caused by: 
> org.apache.camel.component.salesforce.api.SalesforceException: 
> 401::Authentication invalid    at 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.getFailure(SubscriptionHelper.java:340)
>     at 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper.access$300(SubscriptionHelper.java:60)
>     at 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$1.onMessage(SubscriptionHelper.java:132)
>     at 
> org.cometd.common.AbstractClientSession$AbstractSessionChannel.notifyOnMessage(AbstractClientSession.java:583)
>     at 
> org.cometd.common.AbstractClientSession$AbstractSessionChannel.notifyMessageListeners(AbstractClientSession.java:568)
>     at 
> org.cometd.common.AbstractClientSession.notifyListeners(AbstractClientSession.java:308)
>     at 
> org.cometd.common.AbstractClientSession.lambda$receive$4(AbstractClientSession.java:269)
>     at org.cometd.bayeux.Promise$2.succeed(Promise.java:103)    at 
> org.cometd.common.AsyncFoldLeft$AbstractLoop.run(AsyncFoldLeft.java:199)    
> at org.cometd.common.AsyncFoldLeft.run(AsyncFoldLeft.java:93)    at 
> org.cometd.common.AbstractClientSession.extendIncoming(AbstractClientSession.java:103)
>     at 
> org.cometd.common.AbstractClientSession.receive(AbstractClientSession.java:263)
>     at org.cometd.client.BayeuxClient.failHandshake(BayeuxClient.java:721)    
> at org.cometd.client.BayeuxClient.processHandshake(BayeuxClient.java:707)    
> at org.cometd.client.BayeuxClient.processMessages(BayeuxClient.java:615)    
> at org.cometd.client.BayeuxClient.access$2000(BayeuxClient.java:101)    at 
> org.cometd.client.BayeuxClient$MessageTransportListener.onMessages(BayeuxClient.java:1260)
>     at 
> org.cometd.client.transport.LongPollingTransport$2.onComplete(LongPollingTransport.java:240)
>     at 
> org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:218)
>     at 
> org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:210)
>     at 
> org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:481)
>     at 
> org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:461)
>     at 
> org.eclipse.jetty.client.HttpReceiver.responseSuccess(HttpReceiver.java:424)  
>   at 
> org.eclipse.jetty.client.http.HttpReceiverOverHTTP.messageComplete(HttpReceiverOverHTTP.java:365)
>     at 
> org.eclipse.jetty.http.HttpParser.handleContentMessage(HttpParser.java:585)   
>  at org.eclipse.jetty.http.HttpParser.parseContent(HttpParser.java:1702)    
> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1531)    at 
> org.eclipse.jetty.client.http.HttpReceiverOverHTTP.parse(HttpReceiverOverHTTP.java:204)
>     at 
> org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:144)
>     at 
> org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:79)
>     at 
> org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:131)
>     at 
> org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:169)
>     at 
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
>     at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)    
> at 
> org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:540)
>     at 
> org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:395)    
> at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:161) 
>    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)    at 
> org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)    at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
>     at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
>     at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
>     at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
>     at 
> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
>     ... 3 common frames omitted
> [ERROR] 2021-03-17 13:36:23,774 
> org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper 
> [SalesforceHttpClient@60c73e58-26 ] - Failed to restart after pausing for 0 
> msecs{noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to