Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-60142

cbcollect_info diagnostic responses may be truncated

    XMLWordPrintable

Details

    • Untriaged
    • 0
    • Yes
    • Analytics Sprint 33

    Description

      Observed on Jenkins; truncated analytics_diag.json due to an error in the diagnostic request logic. Per the http client documentation

      // Callers should always process the n > 0 bytes returned before
      // considering the error err. Doing so correctly handles I/O errors
      // that happen after reading some bytes and also both of the
      // allowed EOF behaviors.
      

      the proxy should be processing any bytes read prior to handling any returned error code (e.g. EOF), but is failing fast when an EOF encountered, discarding any final bytes read.

      This could occur with any of the diagnostic requests to Analytics, which can be critical for evaluating customer issues.

      e.g.

      https://analytics.jenkins.couchbase.com/job/cbas-cbcluster-test-jdk17/com.couchbase.analytic[…].cbserver/ClusterCbCollectInfoIT/testDiagnosticsJson/
      

      Unexpected end-of-input in VALUE_STRING
       at [Source: (File); line: 1, column: 179201]
      

      172.17.0.2 -  - [13/Dec/2023:21:00:08 -0800] "GET /analytics/node/diagnostics HTTP/1.1" 200 179263 - "cbas/7.6.100-0000"
      

      $ ls -als  ~/Downloads/analytics_diag.json
      352 -rw-r--r--@ 1 michaelblow  staff  179200 Dec 14 08:12 /Users/michaelblow/Downloads/analytics_diag.json
      

      Attachments

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

        Activity

          People

            michael.blow Michael Blow
            michael.blow Michael Blow
            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