Uploaded image for project: 'OpenDJ'
  1. OpenDJ
  2. OPENDJ-7610

Cancelling a request does not abandon the operation in the SDK

    XMLWordPrintable

Details

    • Bug
    • Status: Done
    • Critical
    • Resolution: Fixed
    • 7.1.0
    • 7.1.0
    • core apis, proxy, tech-debt
    • None

    Description

      While fixing OPENDJ-7609 ylecaillez and I noticed that the LdapClientSocketImpl class contains a trivial bug which prevents canceled response streams from sending an abandon request:

      .doOnCancel(handle::abandon);
      

      The method handle.abandon doesn't actually abandon the request. Instead it returns a Completable which abandons the request once it is subscribed. Unfortunately, the code above ignores the returned Completable. Even more unfortunate is that fixing the code above triggers multiple failures in the ProxyBackendTestCase, so the bug is a little more complex that it first appears. Yannick has discovered other related problems in our load balancer implementations.

      I'm not sure how severe this issue is as it appears no one has noticed the problem in practice.

      Attachments

        Issue Links

          Activity

            People

              ylecaillez Yannick Lecaillez
              matthew Matthew Swift
              Yannick Lecaillez Yannick Lecaillez
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: