You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Andrea Cosentino (Jira)" <ji...@apache.org> on 2019/10/16 09:30:01 UTC

[jira] [Assigned] (CAMEL-14068) Retry subscribe to Salesforce event when server returns 503 Server too busy

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

Andrea Cosentino reassigned CAMEL-14068:
----------------------------------------

    Assignee: Andrea Cosentino

> Retry subscribe to Salesforce event when server returns 503 Server too busy
> ---------------------------------------------------------------------------
>
>                 Key: CAMEL-14068
>                 URL: https://issues.apache.org/jira/browse/CAMEL-14068
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-salesforce
>    Affects Versions: 2.23.4
>            Reporter: Tom Wetjens
>            Assignee: Andrea Cosentino
>            Priority: Minor
>             Fix For: 3.0.0.RC3, 3.0.0
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Currently we are using the Salesforce component version 2.23.4.
> Every 3 hours the component needs to resubscribe due to expiring token (expected behavior). Sometimes however it fails on:
>  
> {code:java}
> org.apache.camel.component.salesforce.api.SalesforceException: Error subscribing to /event/CustomerLegalEntity__e: 403:denied_by_security_policy:subscribe_deniedorg.apache.camel.component.salesforce.api.SalesforceException: Error subscribing to /event/CustomerLegalEntity__e: 403:denied_by_security_policy:subscribe_denied at org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$7.onMessage(SubscriptionHelper.java:406){code}
>  
> It turns out (not in the logging) that the server returns additional information:
>  
> {code:java}
> {ext={sfdc={failureReason=503::Server is too busy. Please try your request again later.}}, ...}{code}
>  
> As described in the Salesforce documentation here: [https://developer.salesforce.com/docs/atlas.en-us.api_streaming.meta/api_streaming/streaming_handling_errors.htm]
> the 503 Server too busy is a documented error that should/can be retried.
> It would greatly add to the resilience of our system if the Salesforce component would automatically retry a subscribe if failed due to a temporary error. The same backoff mechanism as for the reconnect could apply.
>  
> Currently our workaround is to detect a 403 (more information is not available, like the failureReason) and restart the whole Camel subsystem.



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