[ 
https://issues.apache.org/jira/browse/CAMEL-11980?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16235833#comment-16235833
 ] 

Mabrouk Belhout commented on CAMEL-11980:
-----------------------------------------

I proposed a PR.
can you check ?

> PushTopic client doesn't clear refresh token after a long disconnected period
> -----------------------------------------------------------------------------
>
>                 Key: CAMEL-11980
>                 URL: https://issues.apache.org/jira/browse/CAMEL-11980
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-salesforce
>    Affects Versions: 2.19.0
>         Environment: Salesforce API version 41.0 (we don't know if this 
> affect other API versions)
>            Reporter: Mabrouk Belhout
>            Priority: Major
>              Labels: reliability
>             Fix For: 2.20.1, 2.21.0, 2.19.5
>
>
> The bayeux client implements a mechanism to reconnect to salesforce's 
> pushtopic after a network failure.
> In production, we experienced a lost of network connection. Bayeux client 
> tried to reconnect and failed to.
> when analyzing, we saw a bunch of logs  
> o.a.c.c.s.i.s.SubscriptionHelper : Error restarting: Error during HANDSHAKE: 
> 403::Handshake denied org.apache.camel.CamelException: Error during 
> HANDSHAKE: 403::Handshake denied
> o.a.c.c.s.i.s.SubscriptionHelper : Failed to restart after pausing for 0 
> msecs 
> [skipped...]
> o.a.c.c.s.i.s.SubscriptionHelper : Error restarting: Error during HANDSHAKE: 
> 403::Handshake denied org.apache.camel.CamelException: Error during 
> HANDSHAKE: 403::Handshake denied
> o.a.c.c.s.i.s.SubscriptionHelper : Failed to restart after pausing for 5000 
> msecs 
> [skipped...]
> o.a.c.c.s.i.s.SubscriptionHelper : Error restarting: Error during HANDSHAKE: 
> 403::Handshake denied org.apache.camel.CamelException: Error during 
> HANDSHAKE: 403::Handshake denied
> o.a.c.c.s.i.s.SubscriptionHelper : Failed to restart after pausing for 24000 
> msecs 
> [skipped...]
> o.a.c.c.s.i.s.SubscriptionHelper : Error restarting: Error during HANDSHAKE: 
> 403::Handshake denied org.apache.camel.CamelException: Error during 
> HANDSHAKE: 403::Handshake denied
> o.a.c.c.s.i.s.SubscriptionHelper : Failed to restart after pausing for 30000 
> msecs 
> o.a.c.c.s.SalesforceConsumer : Aborting restart attempt due to: Error during 
> HANDSHAKE: 403::Handshake denied. Caused by: 
> [org.apache.camel.component.salesforce.api.SalesforceException - Aborting 
> restart attempt due to: Error during HANDSHAKE: 403::Handshake denied] 
> org.apache.camel.component.salesforce.api.SalesforceException: Aborting 
> restart attempt due to: Error during HANDSHAKE: 403::Handshake denied
> then the stacktrace.
> When going deeped in analyzing, we figure out that Salesforce, after such a 
> loss of network, can answer by a 401 code (subscription to channel is not 
> valid anymore)  and in some circumstances by a 403 code (authentication is 
> not valid anymore - the refresh token has been invalidated by salesforce).
> 401 code implies that the client reissue a login with same refreshToken.
> 403 code implies that the client reissue a new login phase ( thus 
> invalidating the previous refreshToken).
> 401 code is already handled by SubscriptionHelper, while 403 is not.
> see the doStart() method after the handshakeError test



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to