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

          mnunberg Mark Nunberg created issue -
          Hide
          ingenthr Matt Ingenthron added a comment -

          Please explain further.

          Show
          ingenthr Matt Ingenthron added a comment - Please explain further.
          ingenthr Matt Ingenthron made changes -
          Field Original Value New Value
          Assignee Raghavan Srinivas [ rags ] Mark Nunberg [ mnunberg ]
          ingenthr Matt Ingenthron made changes -
          Fix Version/s 1.1 [ 10274 ]
          mnunberg Mark Nunberg made changes -
          Assignee Mark Nunberg [ mnunberg ] Michael Nitschinger [ daschl ]
          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.

          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.
          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.
          daschl Michael Nitschinger made changes -
          Fix Version/s 1.1-dp4 [ 10390 ]
          Fix Version/s 1.1 [ 10274 ]
          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
          daschl Michael Nitschinger made changes -
          Assignee Michael Nitschinger [ daschl ] Mark Nunberg [ mnunberg ]
          ingenthr Matt Ingenthron made changes -
          Link This issue blocks JCBC-114 [ JCBC-114 ]
          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.
          ingenthr Matt Ingenthron made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Won't Fix [ 2 ]
          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
          mnunberg Mark Nunberg made changes -
          Resolution Won't Fix [ 2 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          mnunberg Mark Nunberg made changes -
          Summary OperationFuture.get(tmo) should not change state when timeout has been reached mention that OperationFuture.get(tmo) changes state when timeout has been reached
          Component/s docs [ 10141 ]
          Component/s library [ 10140 ]
          daschl Michael Nitschinger made changes -
          Fix Version/s 1.1-dp5 [ 10410 ]
          Fix Version/s 1.1-dp4 [ 10390 ]
          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.
          ingenthr Matt Ingenthron made changes -
          Assignee Mark Nunberg [ mnunberg ] Michael Nitschinger [ daschl ]
          daschl Michael Nitschinger made changes -
          Issue Type Bug [ 1 ] Improvement [ 4 ]
          daschl Michael Nitschinger made changes -
          Fix Version/s 1.1beta [ 10370 ]
          Fix Version/s 1.1-dp5 [ 10410 ]
          ingenthr Matt Ingenthron made changes -
          Fix Version/s 1.1.0 [ 10274 ]
          Fix Version/s 1.1-beta [ 10370 ]
          daschl Michael Nitschinger made changes -
          Fix Version/s 1.1.1 [ 10430 ]
          Fix Version/s 1.1.0 [ 10274 ]
          daschl Michael Nitschinger made changes -
          Fix Version/s 1.1.2 [ 10480 ]
          Fix Version/s 1.1.1 [ 10430 ]
          daschl Michael Nitschinger made changes -
          Fix Version/s 1.1.3 [ 10496 ]
          Fix Version/s 1.1.2 [ 10480 ]
          daschl Michael Nitschinger made changes -
          Fix Version/s 1.1.4 [ 10514 ]
          Fix Version/s 1.1.3 [ 10496 ]
          daschl Michael Nitschinger made changes -
          Planned Start (set to new fixed version's start date)
          Planned End (set to new fixed version's start date)
          daschl Michael Nitschinger made changes -
          Fix Version/s 1.1.5 [ 10515 ]
          Fix Version/s 1.1.4 [ 10514 ]
          daschl Michael Nitschinger made changes -
          Planned Start (set to new fixed version's start date)
          Planned End (set to new fixed version's start date)
          daschl Michael Nitschinger made changes -
          Fix Version/s 1.1.6 [ 10531 ]
          Fix Version/s 1.1.5 [ 10515 ]
          daschl Michael Nitschinger made changes -
          Fix Version/s 1.1.7 [ 10532 ]
          Fix Version/s 1.1.6 [ 10531 ]
          daschl Michael Nitschinger made changes -
          Fix Version/s 1.1.8 [ 10628 ]
          Fix Version/s 1.1.7 [ 10532 ]
          daschl Michael Nitschinger made changes -
          Fix Version/s 1.2 [ 10383 ]
          Fix Version/s 1.1.8 [ 10628 ]
          daschl Michael Nitschinger made changes -
          Fix Version/s 1.2 [ 10383 ]
          daschl Michael Nitschinger made changes -
          Fix Version/s 1.2 [ 10383 ]
          daschl Michael Nitschinger made changes -
          Fix Version/s .next [ 10495 ]
          Fix Version/s 1.2 [ 10383 ]
          ingenthr Matt Ingenthron made changes -
          Workflow jira [ 20871 ] Couchbase SDK Workflow [ 38400 ]

            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