Uploaded image for project: 'Couchbase .NET client library'
  1. Couchbase .NET client library
  2. NCBC-3198

Blocked Task when Helo is called on a nonresponsive socket

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • 3.3.2
    • 3.2.9
    • library
    • None
    • 1

    Description

      When bootstrapping of the socket is non responsive, the Helo operation will block on its Task, because the CancellationToken never times out. When this happens, the logs will show something similar to this:

      2022-05-05T16:43:00.6144119-07:00  [DBG] Waiting for 00:00:02.5000000 before polling. (c8639b24)
      2022-05-05T16:43:00.6861536-07:00  [DBG] Bootstrapping with node "localhost" (98ca0e33)
      2022-05-05T16:43:01.0812242-07:00  [DBG] Setting TCP Keep-Alives using SocketOptions - enable keep-alives True, time 00:01:00, interval 00:00:01. (d66a37aa)
      2022-05-05T16:43:01.0813600-07:00  [DBG] Setting TCP Keep-Alives using SocketOptions - enable keep-alives True, time 00:01:00, interval 00:00:01. (d66a37aa)
      2022-05-05T16:43:01.2175591-07:00  [DBG] Starting connection initialization on server "localhost:9092". (5c5836f0)
      2022-05-05T16:43:01.2180465-07:00  [DBG] Starting connection initialization on server "localhost:9092". (5c5836f0)
      2022-05-05T16:43:01.3015577-07:00  [DBG] Executing op Helo on "localhost:9092" with key "{\"i\":\"3e8200a0bd193356/d7746e00de5fe50f\",\"a\":\"couchbase-net-sdk/3.2.6.0 (clr/.NET 5.0.10) (os/Microsoft Windows 10.0.19044)\"}" and opaque 3. (ebdc59ba)
      2022-05-05T16:43:01.3015576-07:00  [DBG] Executing op Helo on "localhost:9092" with key "{\"i\":\"3e8200a0bd193356/9d38243f68303e20\",\"a\":\"couchbase-net-sdk/3.2.6.0 (clr/.NET 5.0.10) (os/Microsoft Windows 10.0.19044)\"}" and opaque 4. (ebdc59ba)
      2022-05-05T16:43:03.1581536-07:00  [DBG] Done waiting, polling... (93018145)
      2022-05-05T16:43:03.1622600-07:00  [DBG] Waiting for 00:00:02.5000000 before polling. (c8639b24)
      2022-05-05T16:43:05.6908513-07:00  [DBG] Done waiting, polling... (93018145)
      2022-05-05T16:43:05.6912647-07:00  [DBG] Waiting for 00:00:02.5000000 before polling. (c8639b24)
      2022-05-05T16:43:08.1941663-07:00  [DBG] Done waiting, polling... (93018145)
      2022-05-05T16:43:08.1942757-07:00  [DBG] Waiting for 00:00:02.5000000 before polling. (c8639b24)
      2022-05-05T16:43:10.7218891-07:00  [DBG] Done waiting, polling... (93018145)
      2022-05-05T16:43:10.7219778-07:00  [DBG] Waiting for 00:00:02.5000000 before polling. (c8639b24)
      2022-05-05T16:43:13.2393129-07:00  [DBG] Done waiting, polling... (93018145)
      2022-05-05T16:43:13.2397362-07:00  [DBG] Waiting for 00:00:02.5000000 before polling. (c8639b24)
      2022-05-05T16:43:15.7611142-07:00  [DBG] Done waiting, polling... (93018145)
      2022-05-05T16:43:15.7612824-07:00  [DBG] Waiting for 00:00:02.5000000 before polling. (c8639b24)
      

      The background polling is done on another long running task/thread and continues, however, the SDK is effectively blocked waiting for the Helo Task to run to completion, which will never happen because the socket never returns a response.

      Attachments

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

        Activity

          People

            jmorris Jeff Morris
            jmorris Jeff Morris
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty