Results 1 to 3 of 3

Thread: Ice Timeout Resolution

  1. #1
    shiv is offline Registered User
    Name: Shivkumar Shivaji
    Organization: Mylife
    Project: Search
    Join Date
    May 2009
    Posts
    6

    Ice Timeout Resolution

    The Timeout section has a paragraph that says:

    The timeout in effect when a connection is established is bound to that connection and affects all requests on that connection. If a request times out, all other outstanding requests on the same connection also time out, and the connection is closed forcefully (see Section 37.5.4). The Ice run time automatically retries these requests on a new connection, assuming that automatic retries are enabled and would not violate at‑most-once semantics (see Section 32.23).

    Taken from last paragraph of http://www.zeroc.com/doc/Ice-3.3.1/m...ions.38.3.html.

    Is there a way to retry those outstanding requests which have not yet physically timed out (and are forced to timeout because of one long request)? Or is there any way to stop all outstanding requests from timing out on the same connection when only one request on the connection has timed out?

    Thanks, Shiv
    Last edited by shiv; 06-11-2009 at 05:21 PM.

  2. #2
    michi's Avatar
    michi is offline Registered User
    Name: Michi Henning
    Organization: Triodia Technologies
    Project: I have a passing interest in Ice :-)
    Join Date
    Feb 2003
    Location
    Brisbane, Australia
    Posts
    1,055
    All the requests that time out and aren't retried raise a timeout exception. So, you can retry those requests explicitly by catching the exception and retrying. Keep in mind that doing so may violate at-most-once semantics because a request may have been dispatched to the server-side application code already and the timeout may happen while the corresponding operation is still in progress.

    You cannot stop other requests on the same connection from timing out because the timeout closes the connection. If you want to prevent other requests from timing out, you can issue these requests on a separate connection by setting the connection ID. (See ice_connectionID in the manual.) Proxies with the same connection ID share the same connection, and proxies with different connection IDs use separate connections.

    Cheers,

    Michi.

  3. #3
    shiv is offline Registered User
    Name: Shivkumar Shivaji
    Organization: Mylife
    Project: Search
    Join Date
    May 2009
    Posts
    6

    Ice Timeout Resolution

    Thanks. Your solution for using the connection_id can probably work for us. It is interesting that Ice assumes that timeouts are due to something wrong in the system and thus drops all requests on the same connection. Sometimes timeouts could be normal and happen for a small percentage of requests.

    However, as I mentioned above, the connection_id tweaking will probably solve our problem.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Replies: 7
    Last Post: 03-07-2011, 03:09 AM
  2. inaccurate timeout in ice call
    By suds in forum Help Center
    Replies: 2
    Last Post: 10-14-2008, 05:17 AM
  3. Ice.Override.Timeout / ice_timeout()
    By mario in forum Help Center
    Replies: 3
    Last Post: 04-23-2008, 02:23 AM
  4. Replies: 1
    Last Post: 11-17-2005, 09:17 AM
  5. timeout
    By nsns in forum Help Center
    Replies: 4
    Last Post: 10-08-2004, 09:18 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •