Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-66135

lookup_pit_pre_and_post_image_in_transaction.js never succeeds in uploading logs to logkeeper

    • Fully Compatible
    • ALL
    • QE 2022-05-16, QE 2022-05-30
    • 141

      Logkeeper has a 4MB line length limit but the jstests/change_streams/lookup_pit_pre_and_post_image_in_transaction.js test is consistently generating several 7MB log lines.

      $ python buildscripts/resmoke.py run --suite=change_streams_mongos_passthrough jstests/change_streams/lookup_pit_pre_and_post_image_in_transaction.js > temp.log
      $ awk '{print length}' temp.log | sort -n | uniq -c | tail -n 3
            1 3846
           16 7340097
           16 7340098
      

      This causes tests which fail in the same execution task to become "setup failed" (lavender) rather than "failed" (red) in Evergreen. Setup failures are intentionally ignored by the Build Barons so this can lead to delays in the timeliness of identifying true failures. (Setup failures are ignored because logkeeper instability has been generally accepted and accommodated within the testing infrastructure, see SERVER-35472.)

      [2022/05/02 20:52:55.994] [fallback] Encountered an HTTP error: 400 Client Error: Bad Request for url: https://logkeeper.mongodb.org/build/604b1fc3e6d8c5e6d9e2fd5da06b419f/test/6270449ebe07c46a236738a7/
      [2022/05/02 20:52:58.104] [fallback] Encountered an HTTP error: 400 Client Error: Bad Request for url: https://logkeeper.mongodb.org/build/604b1fc3e6d8c5e6d9e2fd5da06b419f/test/6270449ebe07c46a236738a7/
      [2022/05/02 21:01:48.569] [fallback] Failed to flush all log output (2205 messages) to logkeeper.
      

      https://evergreen.mongodb.com/lobster/evergreen/task/mongodb_mongo_master_enterprise_rhel_80_64_bit_dynamic_all_feature_flags_required_change_streams_mongos_passthrough_561d65eebd69ee00c98e8f19592d9f1eb9798a7e_22_05_02_19_26_14/0/task#bookmarks=0%2C2144&f~=100~%5C%5Bfallback%5C%5D&l=1

      The 7MB log lines in the test success case appears to be caused by how ChangeStreamTest#assertNextChangesEqual() uses JavaScript exceptions for control flow. assertChangeStreamEventEq() throwing an exception is caught by _convertExceptionToReturnStatus() but catching the exception thrown by an assert.xx() function still logs an assertion message.

            Assignee:
            rishab.joshi@mongodb.com Rishab Joshi (Inactive)
            Reporter:
            max.hirschhorn@mongodb.com Max Hirschhorn
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: