locked
BrokerPersistQueue flush timeout - what does it mean? RRS feed

  • Question

  • During one particular test run on HPC R2 (using SOA) we are getting the following error:

    • BrokerPersistQueue flush timeout for waiting for the incoming requests within 60000 milliseconds for client[clientId=08a4f6cc-e95c-439a-a901-ae4c2ebd0aa8].

    A search doesn't turn up anything relevant.

    What does this error mean, and how can we work around it?

    Thanks!

    Monday, March 21, 2011 3:18 PM

Answers

  • A client sends requests to the broker via SendRequest and then calls Flush or EndRequests when the batch of requests is complete. On the broker side, Flush/EndRequests will block until all the requests have been received by the broker and will timeout if it takes too long, which is the timeout you are seeing. Two reasons this may occur are:

    • The broker node is busy in which case you need to increase the timeout which can be done via EndRequest/Flush overloads (for example, see BrokerClient.EndRequests (Int32), this lets you specify a timeout). Depending on the scenario you could also add more broker nodes so each broker node isn’t as busy.
    • The broker’s throttling is configured so the last few requests in the batch couldn’t get into the broker’s queue. In this case, you can tune throttling thresholds or increase the timeout mentioned above (broker throttling can be configured in the service config file, see http://technet.microsoft.com/en-us/library/ff943786(WS.10).aspx#BKMK_broker).
    • Proposed as answer by AliceLaura Tuesday, March 29, 2011 5:17 PM
    • Marked as answer by Derek Kivi Monday, April 4, 2011 3:59 PM
    Tuesday, March 29, 2011 4:47 PM