Uploaded image for project: 'Couchbase PHP client library'
  1. Couchbase PHP client library
  2. PCBC-100

timeouts need to be tunable and consistent with other SDKs

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.1.0
    • Component/s: None
    • Security Level: Public
    • Labels:
      None

      Description

      Provides the consistent level of time outs with other SDKs. Provide ability to set timeouts at: 1) connection, 2) authentication, and 3) ops level.

      No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

        Show
        trond Trond Norbye added a comment - http://review.couchbase.org/#/c/22474
        Hide
        trond Trond Norbye added a comment -

        The php is built on top of libcouchbase which don't expose multiple timeouts. From an operational point of view one may also question why one would want a different set of timeouts. Most applications want to have a predictable latency for the various operations, and given the distributed nature of couchbase we never know when we're going to connect to a new host (or do an auth)..

        Show
        trond Trond Norbye added a comment - The php is built on top of libcouchbase which don't expose multiple timeouts. From an operational point of view one may also question why one would want a different set of timeouts. Most applications want to have a predictable latency for the various operations, and given the distributed nature of couchbase we never know when we're going to connect to a new host (or do an auth)..
        Hide
        trond Trond Norbye added a comment -

        The timeout values are specified in usec (just like the C library)

        Show
        trond Trond Norbye added a comment - The timeout values are specified in usec (just like the C library)
        Hide
        ingenthr Matt Ingenthron added a comment -

        Sorry for reopening, but I have two points:

        1) how does someone change the timeout in libcouchbase through PHP? This is about making it reconfigurable. Maybe it is, but I don't know that we have that documented and I've not seen it.
        2) The HTTP timeout for views should be 75 sec, since they can take 10s of seconds to service. Regular memcached/CRUD requests should continue with the 2.5sec timeout. Is the PHP client doing this already?

        Show
        ingenthr Matt Ingenthron added a comment - Sorry for reopening, but I have two points: 1) how does someone change the timeout in libcouchbase through PHP? This is about making it reconfigurable. Maybe it is, but I don't know that we have that documented and I've not seen it. 2) The HTTP timeout for views should be 75 sec, since they can take 10s of seconds to service. Regular memcached/CRUD requests should continue with the 2.5sec timeout. Is the PHP client doing this already?
        Hide
        kzeller kzeller added a comment -

        My understanding is that at the C library level, there is a single timeout of 2.5 seconds. That is what I documented for PHP and C at this point for all types of server interactions (connect, CRUD, etc.)

        Show
        kzeller kzeller added a comment - My understanding is that at the C library level, there is a single timeout of 2.5 seconds. That is what I documented for PHP and C at this point for all types of server interactions (connect, CRUD, etc.)
        Hide
        trond Trond Norbye added a comment -

        For 1:

        In the object oriented interface you can use:
        $cb->getTimeout()
        $cb->setTimeout(value);

        in the non-oo you would use:
        couchbase_get_timeout($cb);
        couchbase_set_timeout($cb, value)

        2) libcouchbase don't have separate timers... if we would like different default timeouts for views we would have to add support for that...

        Show
        trond Trond Norbye added a comment - For 1: In the object oriented interface you can use: $cb->getTimeout() $cb->setTimeout(value); in the non-oo you would use: couchbase_get_timeout($cb); couchbase_set_timeout($cb, value) 2) libcouchbase don't have separate timers... if we would like different default timeouts for views we would have to add support for that...
        Hide
        ingenthr Matt Ingenthron added a comment -

        The view timeout is tracked in PCBC-150, so this is closeable. See that issue for view timeout related changes on PCBC.

        Show
        ingenthr Matt Ingenthron added a comment - The view timeout is tracked in PCBC-150 , so this is closeable. See that issue for view timeout related changes on PCBC.

          People

          • Assignee:
            ingenthr Matt Ingenthron
            Reporter:
            kzeller kzeller
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Gerrit Reviews

              There are no open Gerrit changes