Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-14138

Salesforce: a synchronous call that follow an asynchronous call will always result in a TimeoutException

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Resolved
    • Affects Version/s: 3.0.0.RC3
    • Fix Version/s: 3.8.0
    • Component/s: camel-salesforce
    • Labels:
      None
    • Estimated Complexity:
      Unknown

      Description

      Using the synchronous URL option, a synchronous operation following an asynchronous operation will result in a java.util.concurrent.TimeoutException. Subsequent synchronous operations will succeed. Despite the TimeoutException, the operation can still be successful on the salesforce side. I've yet to determine why Camel thinks the operation is timing out.

      Test case: https://github.com/jeremyross/CAMEL-14138

      stack trace:

      org.apache.camel.component.salesforce.api.SalesforceException: Unexpected error {0:null} executing {POST:https://cs44.salesforce.com/services/data/v45.0/sobjects/Contact}
      	at org.apache.camel.component.salesforce.internal.client.AbstractClientBase$1.onComplete(AbstractClientBase.java:206) ~[camel-salesforce-3.0.0-SNAPSHOT.jar:3.0.0-SNAPSHOT]
      	at org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:196) ~[jetty-client-9.4.19.v20190610.jar:9.4.19.v20190610]
      	at org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:188) ~[jetty-client-9.4.19.v20190610.jar:9.4.19.v20190610]
      	at org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:441) ~[jetty-client-9.4.19.v20190610.jar:9.4.19.v20190610]
      	at org.eclipse.jetty.client.HttpReceiver.abort(HttpReceiver.java:523) ~[jetty-client-9.4.19.v20190610.jar:9.4.19.v20190610]
      	at org.eclipse.jetty.client.HttpChannel.abortResponse(HttpChannel.java:156) ~[jetty-client-9.4.19.v20190610.jar:9.4.19.v20190610]
      	at org.eclipse.jetty.client.HttpChannel.abort(HttpChannel.java:149) ~[jetty-client-9.4.19.v20190610.jar:9.4.19.v20190610]
      	at org.eclipse.jetty.client.HttpExchange.abort(HttpExchange.java:257) ~[jetty-client-9.4.19.v20190610.jar:9.4.19.v20190610]
      	at org.eclipse.jetty.client.HttpConversation.abort(HttpConversation.java:149) ~[jetty-client-9.4.19.v20190610.jar:9.4.19.v20190610]
      	at org.eclipse.jetty.client.HttpRequest.abort(HttpRequest.java:766) ~[jetty-client-9.4.19.v20190610.jar:9.4.19.v20190610]
      	at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.abort(HttpConnectionOverHTTP.java:204) ~[jetty-client-9.4.19.v20190610.jar:9.4.19.v20190610]
      	at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.close(HttpConnectionOverHTTP.java:190) ~[jetty-client-9.4.19.v20190610.jar:9.4.19.v20190610]
      	at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onIdleExpired(HttpConnectionOverHTTP.java:145) ~[jetty-client-9.4.19.v20190610.jar:9.4.19.v20190610]
      	at org.eclipse.jetty.io.ssl.SslConnection.onIdleExpired(SslConnection.java:302) ~[jetty-io-9.4.19.v20190610.jar:9.4.19.v20190610]
      	at org.eclipse.jetty.io.AbstractEndPoint.onIdleExpired(AbstractEndPoint.java:401) ~[jetty-io-9.4.19.v20190610.jar:9.4.19.v20190610]
      	at org.eclipse.jetty.io.IdleTimeout.checkIdleTimeout(IdleTimeout.java:171) ~[jetty-io-9.4.19.v20190610.jar:9.4.19.v20190610]
      	at org.eclipse.jetty.io.IdleTimeout.idleCheck(IdleTimeout.java:113) ~[jetty-io-9.4.19.v20190610.jar:9.4.19.v20190610]
      	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[na:na]
      	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
      	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[na:na]
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
      	at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]
      Caused by: java.util.concurrent.TimeoutException: Idle timeout 10000 ms
      

        Attachments

        1. thread-dump.txt
          19 kB
          Jeremy Ross
        2. Call stack.png
          348 kB
          Jeremy Ross

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                jeremyross Jeremy Ross
              • Votes:
                1 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: