Skip to content

Commit

Permalink
7.0.16 release maintenance (#28907)
Browse files Browse the repository at this point in the history
GitOrigin-RevId: 6170c0d97374089f5cad91aa4a03b1a690ad6276
  • Loading branch information
mbroadst authored and MongoDB Bot committed Nov 19, 2024
1 parent 5d57590 commit 1b713aa
Show file tree
Hide file tree
Showing 153 changed files with 2,390 additions and 2,670 deletions.
4 changes: 3 additions & 1 deletion .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@
* @10gen/server-release

# Exclude some test files and READMEs from the backport approvals
/jstests/**/*
/etc/backports_required_for_multiversion_tests.yml
/etc/*.suppressions
/README.md
**/README.md

# Exclude all the tests under "jstests" directories from backport approvals
**/jstests/**/*
20 changes: 0 additions & 20 deletions SConstruct
Original file line number Diff line number Diff line change
Expand Up @@ -2002,26 +2002,6 @@ if env.get('ENABLE_OOM_RETRY'):
else:
env['OOM_RETRY_ATTEMPTS'] = 10
env['OOM_RETRY_MAX_DELAY_SECONDS'] = 120

if env.ToolchainIs('clang', 'gcc'):
env['OOM_RETRY_MESSAGES'] = [
': out of memory',
'virtual memory exhausted: Cannot allocate memory',
': fatal error: Killed signal terminated program cc1',
# TODO: SERVER-77322 remove this non memory related ICE.
r'during IPA pass: cp.+g\+\+: internal compiler error',
'ld terminated with signal 9',
]
elif env.ToolchainIs('msvc'):
env['OOM_RETRY_MESSAGES'] = [
'LNK1102: out of memory',
'C1060: compiler is out of heap space',
'c1xx : fatal error C1063: INTERNAL COMPILER ERROR',
r'LNK1171: unable to load mspdbcore\.dll',
"LNK1201: error writing to program database ''",
]
env['OOM_RETRY_RETURNCODES'] = [1102]

env.Tool('oom_auto_retry')

if env.ToolchainIs('clang'):
Expand Down
24 changes: 12 additions & 12 deletions buildscripts/package_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,13 +90,13 @@
'rhel55': None,
'rhel57': None,
'rhel62': None,
'rhel70': ('centos:7', "yum",
'rhel70': ('registry.access.redhat.com/ubi7/ubi', "yum",
frozenset(["rh-python38.x86_64", "wget", "pkgconfig", "systemd", "procps", "file"]),
"/opt/rh/rh-python38/root/usr/bin/python3"),
'rhel71': ('centos:7', "yum",
'rhel71': ('registry.access.redhat.com/ubi7/ubi', "yum",
frozenset(["rh-python38.x86_64", "wget", "pkgconfig", "systemd", "procps", "file"]),
"/opt/rh/rh-python38/root/usr/bin/python3"),
'rhel72': ('centos:7', "yum",
'rhel72': ('registry.access.redhat.com/ubi7/ubi', "yum",
frozenset(["rh-python38.x86_64", "wget", "pkgconfig", "systemd", "procps", "file"]),
"/opt/rh/rh-python38/root/usr/bin/python3"),
'rhel8': ('almalinux:8', "yum",
Expand Down Expand Up @@ -227,12 +227,6 @@ def run_test(test: Test, client: DockerClient) -> Tuple[Test, Result]:
commands: List[str] = ["export PYTHONIOENCODING=UTF-8"]

if test.os_name.startswith('rhel'):
if test.os_name.startswith('rhel7'):
# RHEL 7 needs the SCL installed for Python 3
commands += [
"yum -y install centos-release-scl",
"yum-config-manager --enable centos-sclo-rh",
]
# RHEL distros need EPEL for Compass dependencies
commands += [
"yum -y install yum-utils epel-release",
Expand All @@ -258,9 +252,15 @@ def run_test(test: Test, client: DockerClient) -> Tuple[Test, Result]:
container: Container | None = None
try:
image = get_image(test, client)
container = client.containers.run(image, command=f"bash -c \"{join_commands(commands)}\"",
auto_remove=True, detach=True,
volumes=[f'{test_external_root}:{test_docker_root}'])
container = client.containers.run(
image, command=f"bash -c \"{join_commands(commands)}\"", auto_remove=True, detach=True,
volumes=[
f'{test_external_root}:{test_docker_root}',
'/etc/pki/entitlement/:/run/secrets/etc-pki-entitlement',
'/etc/rhsm:/run/secrets/rhsm',
'/etc/yum.repos.d/redhat.repo:/run/secrets/redhat.repo',
'/etc/yum.repos.d/redhat-rhsm.repo:/run/secrets/redhat-rhsm.repo'
])
for log in container.logs(stream=True):
result["log_raw"] += log.decode('UTF-8')
# This is pretty verbose, lets run this way for a while and we can delete this if it ends up being too much
Expand Down
17 changes: 14 additions & 3 deletions buildscripts/setup_spawnhost_coredump
Original file line number Diff line number Diff line change
Expand Up @@ -26,25 +26,35 @@ if [[ "${machine}" = "Cygwin" ]]; then

echo "----------------------"
echo -e "\n=> Setting _NT_SOURCE_PATH environment variable for debuggers to pick up source files."
SRC_DIR_HASH=$(readlink -f /cygdrive/z/data/mci/source-*)
SRC_DIR="${SRC_DIR_HASH}/src"
SRC_DIR_HASH=$(find /cygdrive/z/data/mci -name 'source-*' | head -n 1 | xargs -I% basename %)
SRC_DIR="Z:\data\mci\\${SRC_DIR_HASH}\src"
echo "Source Path: [${SRC_DIR}]"
set -x;
setx _NT_SOURCE_PATH "${SRC_DIR}"
{ set +x; } 2>/dev/null

echo -e "\n=> Setting _NT_SYMBOL_PATH environment variable for debuggers to pick up the symbols."
DBG_SYMBOLS_HASH=$(find /cygdrive/z/data/mci -name 'artifacts-*dist_test_debug' | head -n 1 | xargs -I% basename %)
DBG_SYMBOLS_WINPATH="\"Z:\data\mci\\${DBG_SYMBOLS_HASH}\extracted_symbols\dist-test\bin;srv*;\""
DBG_ARCHIVE_PARENT=$(readlink -f /cygdrive/z/data/mci/artifacts-*dist_test_debug)
DBG_ARCHIVE=$(readlink -f ${DBG_ARCHIVE_PARENT}/debugsymbols-*.zip)
DBG_ARCHIVE_TARGET_PARENT="${DBG_ARCHIVE_PARENT}/extracted_symbols"
DBG_ARCHIVE_TARGET="${DBG_ARCHIVE_TARGET_PARENT}/dist-test/bin"
echo "Symbols Dir: [${DBG_ARCHIVE_TARGET}]"

echo -e "\n=> Copying .natvis file to Visual Studio's expected directories (System for 2017/2019 and User)."
set -x;
cp "/cygdrive/z/data/mci/${SRC_DIR_HASH}/buildscripts/win/mongodb.natvis" /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2017/Professional/Common7/Packages/Debugger/Visualizers
cp "/cygdrive/z/data/mci/${SRC_DIR_HASH}/buildscripts/win/mongodb.natvis" /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio/2019/Professional/Common7/Packages/Debugger/Visualizers
mkdir "${USERPROFILE}/Documents/Visual Studio 2022/Visualizers"
cp "/cygdrive/z/data/mci/${SRC_DIR_HASH}/buildscripts/win/mongodb.natvis" "${USERPROFILE}/Documents/Visual Studio 2022/Visualizers"
{ set +x; } 2>/dev/null

echo -e "\n=> Extracting Symbol files."
set -x;
mkdir -p ${DBG_ARCHIVE_TARGET_PARENT}
unzip -n ${DBG_ARCHIVE} -d ${DBG_ARCHIVE_TARGET_PARENT}
setx _NT_SYMBOL_PATH "${DBG_ARCHIVE_TARGET};srv*;"
setx _NT_SYMBOL_PATH "${DBG_SYMBOLS_WINPATH}"
{ set +x; } 2>/dev/null

echo -e "\n=> Extracting Core Dumps to Desktop."
Expand Down Expand Up @@ -93,6 +103,7 @@ if [[ "${machine}" = "Cygwin" ]]; then
if [[ -z $(ls ${COREDUMP_ARCHIVE_TARGET}/dump* 2>/dev/null) ]]; then
echo "No core dumps found."
fi

{ set +x; } 2>/dev/null
echo "Copied to Desktop."
} &> ${out_dir}
Expand Down
14 changes: 8 additions & 6 deletions buildscripts/win/mongodb.natvis
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<!--
NatVis Documentation:
NatVis Documentation:
https://docs.microsoft.com/en-us/visualstudio/debugger/create-custom-views-of-native-objects?view=vs-2017
Boost Visualizers:
https://marketplace.visualstudio.com/items?itemName=ArkadyShapkin.CDebuggerVisualizersforVS2017
https://github.com/KindDragon/CPPDebuggerVisualizers
To load in Visual Studio, the natvis file must be in the Visual Studio project.
Note: with buildscripts/setup_spawnhost_coredump, this file should be automatically placed in the user-specific Natvis directory.
https://learn.microsoft.com/en-us/visualstudio/debugger/create-custom-views-of-native-objects?view=vs-2022#BKMK_natvis_location
To load in WinDBG, run ".nvload mongdb.natvis"
-->
<Type Name="mongo::Status">
Expand Down Expand Up @@ -63,16 +65,16 @@
<Expand>
<CustomListItems>
<Variable Name="Code" InitialValue="(const char*)this+4"/>

<Item Name="code">Code+4,[*(int32_t*)(Code)-1]s8</Item>
<Item Name="scope">*(mongo::BSONObjData*)(Code+*(int32_t*)(Code)+4)</Item>
</CustomListItems>
</Expand>
</Type>

<!--
<!--
It it not possible to use variables to calculate contents in the DisplayString nodes.
this+strlen((char*)&amp;name)+2: Skips over the type byte and the name with its null terminator to get to the beginning of the value
-->
<Type Name="mongo::BSONElementData">
Expand Down
8 changes: 8 additions & 0 deletions etc/backports_required_for_multiversion_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -553,6 +553,10 @@ last-continuous:
ticket: SERVER-93099
- test_file: jstests/core/timeseries/timeseries_update_mixed_schema_bucket.js
ticket: SERVER-93099
- test_file: jstests/sharding/refresh_sessions.js
ticket: SERVER-94635
- test_file: jstests/core/query/project/projection_with_hashed_index.js
ticket: SERVER-91757
suites: null
last-lts:
all:
Expand Down Expand Up @@ -1158,4 +1162,8 @@ last-lts:
ticket: SERVER-93099
- test_file: jstests/core/timeseries/timeseries_update_mixed_schema_bucket.js
ticket: SERVER-93099
- test_file: jstests/sharding/refresh_sessions.js
ticket: SERVER-94635
- test_file: jstests/core/query/project/projection_with_hashed_index.js
ticket: SERVER-91757
suites: null
12 changes: 6 additions & 6 deletions etc/evergreen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ variables:
- name: unittest_shell_hang_analyzer_gen
- name: test_packages
distros:
- ubuntu2004-package
- rhel94-large-packagetest
- name: vector_search
- name: vector_search_auth
- name: vector_search_ssl
Expand Down Expand Up @@ -794,7 +794,7 @@ buildvariants:
display_name: "* macOS DEBUG"
cron: "0 */4 * * *" # From the ${project_required_suggested_cron} parameter
run_on:
- macos-1100
- macos-11
expansions: &macos-debug-expansions
compile_variant: *macos-debug-suggested
test_flags: --excludeWithAnyTags=incompatible_with_macos --enableEnterpriseTests=off
Expand Down Expand Up @@ -830,7 +830,7 @@ buildvariants:
display_name: "Enterprise macOS Via Rosetta 2"
cron: "0 4 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- macos-1100-arm64
- macos-11-arm64
expansions:
compile_variant: *enterprise-macos-rosetta-2
test_flags: --excludeWithAnyTags=incompatible_with_macos,requires_gcm
Expand Down Expand Up @@ -861,7 +861,7 @@ buildvariants:
display_name: "Enterprise macOS DEBUG"
cron: "0 4 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- macos-1100
- macos-11
expansions:
compile_variant: *enterprise-macos
test_flags: --excludeWithAnyTags=incompatible_with_macos,requires_gcm
Expand Down Expand Up @@ -892,7 +892,7 @@ buildvariants:
- name: &enterprise-macos-arm64 enterprise-macos-arm64
display_name: "~ Enterprise macOS arm64"
run_on:
- macos-1100-arm64
- macos-11-arm64
expansions:
compile_variant: *enterprise-macos-arm64
test_flags: --excludeWithAnyTags=incompatible_with_macos,requires_gcm
Expand Down Expand Up @@ -1623,7 +1623,7 @@ buildvariants:
cron: "0 4 * * *" # From the ${project_nightly_cron} parameter.
stepback: false
run_on:
- macos-1100
- macos-11
expansions:
num_scons_link_jobs_available: 0.1
compile_env: DEVELOPER_DIR=/Applications/Xcode13.app
Expand Down
2 changes: 1 addition & 1 deletion etc/evergreen_yml_components/variants/atlas.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ buildvariants:
- name: unittest_shell_hang_analyzer_gen
- name: test_packages
distros:
- ubuntu2004-package
- rhel94-large-packagetest
- name: vector_search
- name: vector_search_auth
- name: vector_search_ssl
Expand Down
10 changes: 5 additions & 5 deletions etc/evergreen_yml_components/variants/misc_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1047,7 +1047,7 @@ buildvariants:
- name: .stitch
- name: test_packages
distros:
- ubuntu2004-package
- rhel94-large-packagetest
- name: selinux_rhel7_org
- name: .publish
- name: generate_buildid_to_debug_symbols_mapping
Expand Down Expand Up @@ -2558,7 +2558,7 @@ buildvariants:
display_name: macOS
cron: "0 4 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- macos-1100
- macos-11
expansions:
test_flags: --excludeWithAnyTags=incompatible_with_macos,requires_external_data_source,requires_latch_analyzer --enableEnterpriseTests=off
push_path: osx
Expand Down Expand Up @@ -2594,7 +2594,7 @@ buildvariants:
display_name: macOS arm64
cron: "0 4 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- macos-1100-arm64
- macos-11-arm64
expansions:
test_flags: --excludeWithAnyTags=incompatible_with_macos,requires_external_data_source,requires_latch_analyzer --enableEnterpriseTests=off
push_path: osx
Expand Down Expand Up @@ -2630,7 +2630,7 @@ buildvariants:
display_name: Enterprise macOS
cron: "0 4 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- macos-1100
- macos-11
expansions:
test_flags: --excludeWithAnyTags=incompatible_with_macos,requires_gcm,requires_external_data_source,requires_latch_analyzer
additional_package_targets: >-
Expand Down Expand Up @@ -2668,7 +2668,7 @@ buildvariants:
display_name: Enterprise macOS arm64
cron: "0 4 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- macos-1100-arm64
- macos-11-arm64
expansions:
test_flags: --excludeWithAnyTags=incompatible_with_macos,requires_gcm,requires_external_data_source,requires_latch_analyzer
additional_package_targets: >-
Expand Down
6 changes: 3 additions & 3 deletions etc/evergreen_yml_components/variants/ninja.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ buildvariants:
display_name: "Ninja Build: macOS Enterprise"
cron: "0 4 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- macos-1100
- macos-11
expansions:
compile_env: DEVELOPER_DIR=/Applications/Xcode13.app
compile_flags: --ssl -j$(sysctl -n hw.logicalcpu) --libc++ --variables-files=etc/scons/xcode_macosx.vars
Expand All @@ -31,7 +31,7 @@ buildvariants:
display_name: "Ninja Build Profiles: macOS"
cron: "0 4 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- macos-1100
- macos-11
expansions:
compile_env: DEVELOPER_DIR=/Applications/Xcode13.app
compile_flags: --ssl -j$(sysctl -n hw.logicalcpu) --libc++
Expand All @@ -45,7 +45,7 @@ buildvariants:
display_name: "Ninja Build Profiles: macOS ARM"
cron: "0 4 * * *" # From the ${project_nightly_cron} parameter.
run_on:
- macos-1100-arm64
- macos-11-arm64
expansions:
compile_env: DEVELOPER_DIR=/Applications/Xcode13.app
compile_flags: --ssl -j$(sysctl -n hw.logicalcpu) --libc++
Expand Down
4 changes: 4 additions & 0 deletions etc/evergreen_yml_components/variants/task_generation.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
# Build variant to generate tasks for evergreen versions.
#
# Updates to this file may also need to appear in etc/system_perf_yml_components/variants/task_generation.yml,
# which is the same but excludes resmoke task generation tasks.
#

buildvariants:
- name: generate-tasks-for-version
Expand Down
3 changes: 2 additions & 1 deletion etc/pip/components/platform.req
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
pypiwin32>=223; sys_platform == "win32" and python_version > "3"
pywin32>=225; sys_platform == "win32" and python_version > "3"

cryptography == 2.3; platform_machine == "s390x" or platform_machine == "ppc64le" # Needed for oauthlib to use RSAAlgorithm # Version locked - see SERVER-36618
cryptography == 2.3; (platform_machine == "s390x" and platform_release < "5.14.0-362.8.1.el9_3.s390x") or (platform_machine == "ppc64le" and platform_release < "5.14.0-362.13.1.el9_3.ppc64le")
cryptography == 36.0.2; (platform_machine == "s390x" and platform_release >= "5.14.0-362.8.1.el9_3.s390x") or (platform_machine == "ppc64le" and platform_release >= "5.14.0-362.13.1.el9_3.ppc64le")
cryptography == 36.0.2; platform_machine != "s390x" and platform_machine != "ppc64le"

mongo-ninja-python == 1.11.1.5; (platform_machine == "x86_64" or platform_machine == "aarch64") and sys_platform == "linux"
Expand Down
Loading

0 comments on commit 1b713aa

Please sign in to comment.