Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-7369

Various improvements for the evergreen.yml

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None

      This ticket is being created as a catch all for some odd things I noticed while working on WT-7175 and some general suggestions.

      Issues

      • Almost all variants compile with --enable-static which is not optimal, and in the case of the "! Ubuntu 18.04" variant it makes the compilation task take ~8 minutes instead of ~2.5. And the artifacts are 600MB instead of 250MB.
        • Fixing this will require some effort as a lot of the functions define an incorrect working_dir. An example of this is the "timestamp abort test":
            "timestamp abort test":
              command: shell.exec
              params:
                working_dir: "wiredtiger/build_posix/test/csuite"
                script: |
                  set -o errexit
                  set -o verbose
                  ${test_env_vars|} ./test_timestamp_abort ${timestamp_abort_args|} 2>&1
          

          The working directory is wiredtiger/build_posix/test/csuite which would be fine however most tests export LD_LIBRARY_PATH=.libs which then results in a missing library error.

      • Several tasks such as make-check-test should be able to be performed much faster if we correctly unzip the compilation artifacts. Currently it is defined as:
          - name: make-check-test
            depends_ont
              - name: compile
            commands:
              - func: "fetch artifacts"
              - func: "compile wiredtiger"
              - func: "make check all"
        

        Which fetches the compilation artifacts, compiles and runs make check all. This task should fetch the artifacts, unzip and then run make check all. This would save recompilation.

      • There is duplication of a few functions and tests, which I'm not sure why was done but could be valid? Some examples are:
        • fops-test and fops.
        • csuite-random-abort-test and random abort test

      Suggestions

      • Move all sanitized tasks under sanitized variants and reduce duplication in the file. E.g. format-stress-test and format-stress-sanitizer-test. The latter of the two specifies a test-env-vars which defines some ASAN options, and it also depends on compile wiredtiger address sanitizer. Ideally we could remove format-stress-sanitizer-test entirely and provide it the correct set of options form the variant.

            Assignee:
            backlog-server-storage-engines [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            luke.pearson@mongodb.com Luke Pearson
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: