You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Mabrouk Belhout (JIRA)" <ji...@apache.org> on 2017/11/02 15:20:00 UTC

[jira] [Closed] (CAMEL-11980) PushTopic client doesn't clear refresh token after a long disconnected period

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

Mabrouk Belhout closed CAMEL-11980.
-----------------------------------
    Resolution: Fixed

> 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)