Uploaded image for project: 'Couchbase Java Client'
  1. Couchbase Java Client
  2. JCBC-117

mention that OperationFuture.get(tmo) changes state when timeout has been reached

    Details

    • Type: Improvement
    • Status: Reopened
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 1.0.3
    • Fix Version/s: .backlog1.x
    • Component/s: Documentation
    • Security Level: Public
    • Labels:
      None

      Description

      get(tmo) should not change the underlying state of the command to being timed out. It should simply respond with a TimeoutException but allow the command to continue.

      Specifically, when the arg-tmo (timeout passed as an argument) expires, the underlying command is marked as timed out. For example, if one waits for 50ms on the command and a response has not been received within that time, the command is now dead ('TIMEDOUT', or similar) and waiting again will not help.

      It is understandable that some code might rely on the old behavior, so at the very least, this should be documented in 'BIG RED LETTERS' in the get(tmo) method.

        Issue Links

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

          Activity

          Hide
          ingenthr Matt Ingenthron added a comment -

          Please explain further.

          Show
          ingenthr Matt Ingenthron added a comment - Please explain further.
          Hide
          daschl Michael Nitschinger added a comment -

          Hey Mark,

          Can you explain in more detail what you want to see changed? When the argument is timed-out what should happen then with it?

          Thanks,
          Michael

          Show
          daschl Michael Nitschinger added a comment - Hey Mark, Can you explain in more detail what you want to see changed? When the argument is timed-out what should happen then with it? Thanks, Michael
          Hide
          ingenthr Matt Ingenthron added a comment -

          As currently designed, the client uses get() to determine timeout. This is not going to change at the moment. There's no other appropriate place internal to the client to check for this timeout of the operation at the moment.

          Show
          ingenthr Matt Ingenthron added a comment - As currently designed, the client uses get() to determine timeout. This is not going to change at the moment. There's no other appropriate place internal to the client to check for this timeout of the operation at the moment.
          Hide
          mnunberg Mark Nunberg added a comment -

          Moving this as a documentation bug

          Show
          mnunberg Mark Nunberg added a comment - Moving this as a documentation bug
          Hide
          ingenthr Matt Ingenthron added a comment -

          Michael, I'd like you to give this one a shot as your first docs bug, I'll help you with this as needed.

          Show
          ingenthr Matt Ingenthron added a comment - Michael, I'd like you to give this one a shot as your first docs bug, I'll help you with this as needed.

            People

            • Assignee:
              daschl Michael Nitschinger
              Reporter:
              mnunberg Mark Nunberg
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:

                Gerrit Reviews

                There are no open Gerrit changes