Skip to content

Refactor repo structure#243

Merged
lzxddz merged 11 commits intoeloqdata:mainfrom
lzxddz:refactor-repo-structure
Oct 16, 2025
Merged

Refactor repo structure#243
lzxddz merged 11 commits intoeloqdata:mainfrom
lzxddz:refactor-repo-structure

Conversation

@lzxddz
Copy link
Collaborator

@lzxddz lzxddz commented Oct 16, 2025

Summary by CodeRabbit

  • New Features

    • Tarball packaging can include the DSS server when enabled; packaging now centers on EloqDoc artifacts.
  • Documentation

    • User-facing docs, examples and log/config references updated to EloqDoc names and paths.
  • Chores

    • Rebranded build, CI and release scripts to target EloqDoc tooling.
    • Removed many generated test-suite, lint/format and debug integration configurations from the repo.

 move buildscripts to scripts/buildscripts
 rename site_scons to scons
 rename mongod to eloqdoc
 rename mongo to eloqdoc-cli
 rename mongod.conf to eloqdoc.conf
 rename mongod.log to eloqdoc.log

 TODO:
  move jstests/ to tests/js/
  move pytests/ to tests/py/
  change "mongod,mongo..." in file install_mongodb_spec.rb
common.yml mongostat_test.go
@coderabbitai
Copy link

coderabbitai bot commented Oct 16, 2025

Walkthrough

Deletes many linting/config files and a very large set of resmoke suite YAMLs/templates; removes GDB and Git-attribute entries; and rebrands/builds packaging and CI tooling from MongoDB binaries to EloqDoc by updating SCons bootstrap, concourse scripts, tarball packaging, and artifact configs.

Changes

Cohort / File(s) Summary
Linting & style configs
​.pylintrc, .pydocstyle, .style.yapf, .eslintrc.yml, .eslintignore
Removed project ESLint/PyLint/pydocstyle/YAPF configs and deleted two .eslintignore patterns.
GDB & Git attributes
​.gdbinit, .gitattributes
Removed Python-exception/full-printing settings and MongoDB GDB script loads; removed several per-file Git attribute entries.
Documentation
README.md
Replaced MongoDB references with EloqDoc (binary names, config/log filenames, commands, examples).
SCons bootstrap
SConstruct
Adds scripts/ to PYTHONPATH, switches imports/paths to scripts/buildscripts/*, updates test globs and adds eloqdoc server targets.
Concourse & packaging scripts
concourse/scripts/*, concourse/artifact/.../eloqdoc*.conf, concourse/scripts/build_tarball*.bash, concourse/scripts/common.sh, concourse/scripts/tag.sh, concourse/scripts/main*.bash, concourse/scripts/pr.ent.bash
Rebranded invocations from mongod/mongoeloqdoc/eloqdoc-cli; updated build invocation paths; reworked tarball packaging to collect/patch RPATHs for eloqdoc/eloqdoc-cli; added optional DSS and host_manager handling; updated artifact log paths and tagging flow.
Concourse artifact configs
concourse/artifact/.../eloqdoc*.conf, concourse/scripts/store_rocksdb_cloud.yaml
Updated systemLog.path entries to eloqdoc.log.
Tarball build scripts (open/pack)
concourse/scripts/build_tarball.bash, concourse/scripts/build_tarball_open.bash
Reworked packaging to build/package EloqDoc artifacts, gather libs, patch rpaths, include optional DSS/host_manager, and change tarball naming.
Resmoke suites (removed)
buildscripts/resmokeconfig/suites/*
buildscripts/resmokeconfig/suites/...
Deleted a very large set of generated and hand-edited resmoke suite YAMLs (core, eloq_core/core_op_query*, multiversion, sharding_, replica_sets_, concurrency_*, passthrough, auth/ese/misc variants, etc.).
Resmoke templates (removed)
buildscripts/templates/generate_resmoke_suites/*.yml.j2
Deleted Jinja2 templates that generated sharding/auth/last-stable resmoke suite YAMLs.
Other scripts & tag flow
concourse/scripts/git-tag.sh, concourse/scripts/tag.sh
Adjusted tagging flow to update/version file and conditionally commit/push; changed script invocation paths.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant CI as Concourse
  participant Bootstrap as SConstruct
  participant Builder as scripts/buildscripts/scons.py
  participant Pack as build_tarball(.bash)
  participant Bin as eloqdoc / eloqdoc-cli
  participant HostMgr as host_manager (optional)
  participant DSS as dss_server (optional)

  CI->>Bootstrap: bootstrap (adds scripts/ to PYTHONPATH)
  Bootstrap->>Builder: import/build (eloqdoc targets)
  Builder-->>CI: produce artifacts (eloqdoc, eloqdoc-cli, libs)
  CI->>Pack: invoke tarball packaging
  Pack->>Bin: copy binaries (`eloqdoc`, `eloqdoc-cli`)
  Pack->>Pack: collect & patch shared libs (patchelf RPATH)
  alt host_manager present
    Pack->>HostMgr: copy host_manager libs/binary & patch RPATH
  end
  alt DSS enabled
    Pack->>DSS: build/copy dss_server + libs & patch RPATH
  end
  Pack-->>CI: create/upload tarball(s)
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

Suggested labels

trigger-ci

Suggested reviewers

  • xiexiaoy

Poem

I nibble wires, hop through YAML fields,
I pluck old suites like dandelion shields.
New names sprout — eloqdoc in the sun,
Tarballs roll, RPATHs set, the build's begun.
Logs renamed, the burrow neat — onward I run. 🐇✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The pull request title "Refactor repo structure" is clearly and directly related to the main changes in the changeset. The PR involves substantial restructuring: moving scripts from buildscripts/ to scripts/buildscripts/, reorganizing imports from site_scons/mongo to scons/mongo, removing numerous test suite configuration files, updating build paths and script references, and rebranding terminology from MongoDB to EloqDoc. The title accurately captures that the primary objective is repository structure refactoring rather than feature development or bug fixes. While the title is somewhat broad (as refactoring titles often are), it is neither vague nor misleading and provides sufficient clarity for scanning commit history.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
concourse/scripts/common.sh (1)

158-164: Complete the log file rebranding.

While the binary names have been updated to eloqdoc, the output log file still references mongod.out on lines 164 and 187. This is inconsistent with the broader rebranding effort.

Apply this diff to complete the rebranding:

       nohup $PREFIX/bin/eloqdoc \
             --config ./concourse/scripts/store_rocksdb_cloud.yaml \
             --eloqRocksdbCloudBucketName="$bucket_name" \
             --eloqRocksdbCloudBucketPrefix="$bucket_prefix" \
             --eloqTxlogRocksDBCloudBucketName="$bucket_name" \
             --eloqTxlogRocksDBCloudBucketPrefix="$bucket_prefix" \
-            &>$PREFIX/log/mongod.out &
+            &>$PREFIX/log/eloqdoc.out &

Apply the same change on line 187.

Also applies to: 180-187

concourse/scripts/build_tarball.bash (1)

302-324: CRITICAL: Unreachable code after exit statement.

The exit statement at line 302 makes all subsequent code unreachable, including:

  • S3 upload (line 314)
  • CloudFront invalidation (lines 315-317)
  • Cleanup operations (lines 320-324)

This will break the build pipeline by preventing artifact upload and resource cleanup.

Remove the exit statement unless this is intentionally disabling upload for testing:

 cd $HOME
 tar -czvf eloqdoc.tar.gz -C $DEST_DIR .
 
-exit
-
 # Tarball naming and upload (align with eloqkv)
🧹 Nitpick comments (3)
concourse/scripts/common.sh (2)

198-214: Complete the rebranding in variable names and log references.

The connection check logic has several incomplete rebranding elements:

  1. Variable mongo_ready (lines 196, 210) should be renamed to eloqdoc_ready
  2. The tail command on line 212 still references mongod.out instead of eloqdoc.out

While the binary name and user-facing messages have been updated, these internal references remain inconsistent.

Apply this diff to complete the rebranding:

 try_connect() {
       set +e
-      mongo_ready=0
+      eloqdoc_ready=0
       for ((i = 1; i < 30; i++)); do
             $PREFIX/bin/eloqdoc-cli --eval "db.runCommand({ping: 1})" &>/dev/null
             if [ $? -eq 0 ]; then
                   echo "EloqDoc server is up and running!"
-                  mongo_ready=1
+                  eloqdoc_ready=1
                   break
             else
                   echo "EloqDoc server is not ready. Retrying in 1 second..."
                   sleep 1
             fi
       done
       set -e

-      if [ $mongo_ready -eq 0 ]; then
+      if [ $eloqdoc_ready -eq 0 ]; then
             echo "Failed to connect to EloqDoc server after 30 seconds."
-            tail -n200 $PREFIX/log/mongod.out
+            tail -n200 $PREFIX/log/eloqdoc.out
             exit 1
       fi
 }

145-145: Update function comments for consistency.

Function comments on lines 145, 153, 167, 175, and 190 still reference "mongod" instead of "eloqdoc". While not critical, updating these would improve consistency with the rebranding effort.

Example changes:

  • Line 145: launch_mongod() → Consider renaming to launch_eloqdoc() or updating the internal comment
  • Line 153: "launch mongod with bucket name" → "launch eloqdoc with bucket name"
  • Similar updates for other function comments

Also applies to: 153-153, 167-167, 175-175, 190-190

SConstruct (1)

23-24: Comment appears slightly misleading.

The comment references "scons/mongo" but the actual path modification happens at line 33 where scripts is added to sys.path. Consider updating the comment to clarify that these imports are from scons/mongo and that the scripts directory is added to the path separately.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 65f4912 and d31a042.

⛔ Files ignored due to path filters (4)
  • scripts/buildscripts/packaging/msi/Banner.bmp is excluded by !**/*.bmp
  • scripts/buildscripts/packaging/msi/Dialog.bmp is excluded by !**/*.bmp
  • scripts/buildscripts/packaging/msi/Installer_Icon_16x16.ico is excluded by !**/*.ico
  • scripts/buildscripts/packaging/msi/Installer_Icon_32x32.ico is excluded by !**/*.ico
📒 Files selected for processing (107)
  • .gdbinit (0 hunks)
  • .gitattributes (0 hunks)
  • .pydocstyle (0 hunks)
  • .pylintrc (0 hunks)
  • .style.yapf (0 hunks)
  • README.md (4 hunks)
  • SConstruct (7 hunks)
  • buildscripts/resmokeconfig/suites/4.0_dbaas_aggregation.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/4.0_dbaas_core.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/4.0_dbaas_core_txns.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/4.0_dbaas_fts.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/4.0_dbaas_geospatial.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/buildscripts_test.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/causally_consistent_jscore_passthrough.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/causally_consistent_jscore_passthrough_auth.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/concurrency_sharded_causal_consistency.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/concurrency_sharded_causal_consistency_and_balancer.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/concurrency_sharded_replication.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/concurrency_sharded_replication_with_balancer.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/concurrency_sharded_with_stepdowns.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/concurrency_sharded_with_stepdowns_and_balancer.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/core.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/core_eloq.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/core_op_query_eloq.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/core_op_query_monograph.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/eloq_core.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/multiversion.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/replica_sets_auth_3.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/replica_sets_auth_4.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/replica_sets_auth_5.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/replica_sets_auth_6.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/replica_sets_auth_misc.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/replica_sets_ese_2.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/replica_sets_ese_3.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/replica_sets_ese_4.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/replica_sets_ese_5.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/replica_sets_ese_6.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/replica_sets_ese_misc.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/replica_sets_initsync_jscore_passthrough.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/replica_sets_multi_stmt_txn_jscore_passthrough.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharded_causally_consistent_jscore_passthrough.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharded_collections_jscore_passthrough.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_10.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_11.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_12.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_13.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_14.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_5.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_6.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_7.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_8.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_9.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_auth.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_auth_10.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_auth_14.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_auth_15.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_auth_16.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_auth_17.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_auth_18.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_auth_audit.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_auth_audit_12.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_auth_audit_14.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_auth_audit_15.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_auth_audit_16.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_auth_audit_17.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_auth_audit_18.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_auth_audit_misc.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_auth_misc.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_continuous_config_stepdown.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_ese_10.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_ese_11.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_ese_12.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_ese_13.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_ese_14.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_ese_15.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_ese_16.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_ese_17.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_ese_18.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_ese_19.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_ese_20.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_ese_misc.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_jscore_op_query_passthrough.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_jscore_passthrough.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards_10.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards_11.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards_4.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards_5.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards_6.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards_7.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards_8.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards_9.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards_misc.yml (0 hunks)
  • buildscripts/resmokeconfig/suites/sharding_misc.yml (0 hunks)
  • buildscripts/templates/generate_resmoke_suites/sharding_auth.yml.j2 (0 hunks)
  • buildscripts/templates/generate_resmoke_suites/sharding_auth_audit.yml.j2 (0 hunks)
  • buildscripts/templates/generate_resmoke_suites/sharding_last_stable_mongos_and_mixed_shards.yml.j2 (0 hunks)
  • concourse/artifact/ELOQDSS_ROCKSDB/eloqdoc.conf (1 hunks)
  • concourse/artifact/ELOQDSS_ROCKSDB_CLOUD_S3/eloqdoc.conf (1 hunks)
  • concourse/artifact/ELOQDSS_ROCKSDB_CLOUD_S3/eloqdoc_cluster_a.conf (1 hunks)
  • concourse/artifact/ELOQDSS_ROCKSDB_CLOUD_S3/eloqdoc_cluster_b.conf (1 hunks)
  • concourse/artifact/ELOQDSS_ROCKSDB_CLOUD_S3/eloqdoc_cluster_c.conf (1 hunks)
  • concourse/scripts/build_tarball.bash (4 hunks)
  • concourse/scripts/build_tarball_open.bash (3 hunks)
  • concourse/scripts/common.sh (6 hunks)
  • concourse/scripts/store_rocksdb_cloud.yaml (1 hunks)
  • concourse/scripts/tag.sh (1 hunks)
⛔ Files not processed due to max files limit (60)
  • docs/how-to-compile.md
  • docs/how-to-deploy-cluster.md
  • etc/burn_in_tests.yml
  • etc/cloud_nightly.yml
  • etc/distributed_correctness.yml
  • etc/drivers_nightly.yml
  • etc/format_sample.cpp
  • etc/longevity.yml
  • etc/lsan.suppressions
  • etc/olsen_time_zones.yml
  • etc/perf.yml
  • etc/repo_config.yaml
  • etc/system_perf.yml
  • etc/test_lifecycle.yml
  • etc/test_retrial.yml
  • etc/tsan.suppressions
  • etc/ubsan.blacklist
  • etc/valgrind.suppressions
  • gdb-add-index.bash
  • jstests/concurrency/fsm_workloads/indexed_insert_1char_noindex.js
  • jstests/concurrency/fsm_workloads/indexed_insert_base_noindex.js
  • jstests/concurrency/fsm_workloads/indexed_insert_heterogeneous_noindex.js
  • jstests/concurrency/fsm_workloads/indexed_insert_large_noindex.js
  • jstests/concurrency/fsm_workloads/indexed_insert_long_fieldname_noindex.js
  • jstests/concurrency/fsm_workloads/indexed_insert_multikey_noindex.js
  • jstests/concurrency/fsm_workloads/update_array_noindex.js
  • jstests/concurrency/fsm_workloads/update_inc_capped.js
  • jstests/concurrency/fsm_workloads/update_multifield_multiupdate_noindex.js
  • jstests/concurrency/fsm_workloads/update_multifield_noindex.js
  • jstests/concurrency/fsm_workloads/update_rename_noindex.js
  • jstests/concurrency/fsm_workloads/update_replace_noindex.js
  • jstests/concurrency/fsm_workloads/update_simple_noindex.js
  • jstests/concurrency/fsm_workloads/update_upsert_multi_noindex.js
  • jstests/libs/override_methods/enable_causal_consistency.js
  • mypy.ini
  • scons/site_tools/idl_tool.py
  • scons/site_tools/jsheader.py
  • scripts/buildscripts/burn_in_tests.py
  • scripts/buildscripts/bypass_compile_and_fetch_binaries.py
  • scripts/buildscripts/eslint.py
  • scripts/buildscripts/fetch_and_build_openssl.sh
  • scripts/buildscripts/launch_evergreen_ec2_instance.sh
  • scripts/buildscripts/linter/git.py
  • scripts/buildscripts/linter/runner.py
  • scripts/buildscripts/make_vcxproj.py
  • scripts/buildscripts/mobile/README-Android.md
  • scripts/buildscripts/packaging/msi/mongod.yaml
  • scripts/buildscripts/resmokeconfig/suites/4.0_dbaas_aggregation.yml
  • scripts/buildscripts/resmokeconfig/suites/4.0_dbaas_change_streams.yml
  • scripts/buildscripts/resmokeconfig/suites/4.0_dbaas_core.yml
  • scripts/buildscripts/resmokeconfig/suites/4.0_dbaas_core_txns.yml
  • scripts/buildscripts/resmokeconfig/suites/4.0_dbaas_decimal.yml
  • scripts/buildscripts/resmokeconfig/suites/4.0_dbaas_fts.yml
  • scripts/buildscripts/resmokeconfig/suites/4.0_dbaas_geospatial.yml
  • scripts/buildscripts/resmokeconfig/suites/aggregation.yml
  • scripts/buildscripts/resmokeconfig/suites/aggregation_auth.yml
  • scripts/buildscripts/resmokeconfig/suites/aggregation_ese.yml
  • scripts/buildscripts/resmokeconfig/suites/aggregation_facet_unwind_passthrough.yml
  • scripts/buildscripts/resmokeconfig/suites/aggregation_mongos_passthrough.yml
  • scripts/buildscripts/resmokeconfig/suites/aggregation_one_shard_sharded_collections.yml
💤 Files with no reviewable changes (95)
  • .gitattributes
  • buildscripts/resmokeconfig/suites/4.0_dbaas_core.yml
  • buildscripts/resmokeconfig/suites/multiversion.yml
  • buildscripts/resmokeconfig/suites/sharding_9.yml
  • buildscripts/resmokeconfig/suites/4.0_dbaas_geospatial.yml
  • buildscripts/resmokeconfig/suites/sharding_ese_10.yml
  • .gdbinit
  • .pylintrc
  • buildscripts/resmokeconfig/suites/sharding_13.yml
  • buildscripts/resmokeconfig/suites/sharding_auth_audit.yml
  • buildscripts/resmokeconfig/suites/replica_sets_ese_misc.yml
  • buildscripts/resmokeconfig/suites/causally_consistent_jscore_passthrough_auth.yml
  • buildscripts/resmokeconfig/suites/core_op_query_monograph.yml
  • buildscripts/resmokeconfig/suites/concurrency_sharded_causal_consistency_and_balancer.yml
  • buildscripts/resmokeconfig/suites/replica_sets_ese_6.yml
  • buildscripts/resmokeconfig/suites/sharding_auth_audit_misc.yml
  • buildscripts/resmokeconfig/suites/sharding_jscore_op_query_passthrough.yml
  • buildscripts/resmokeconfig/suites/core_op_query_eloq.yml
  • buildscripts/resmokeconfig/suites/sharded_collections_jscore_passthrough.yml
  • buildscripts/resmokeconfig/suites/concurrency_sharded_replication.yml
  • buildscripts/resmokeconfig/suites/sharding_ese_19.yml
  • buildscripts/resmokeconfig/suites/causally_consistent_jscore_passthrough.yml
  • buildscripts/resmokeconfig/suites/eloq_core.yml
  • buildscripts/resmokeconfig/suites/sharding_auth.yml
  • buildscripts/resmokeconfig/suites/sharding_ese_20.yml
  • buildscripts/resmokeconfig/suites/replica_sets_ese_3.yml
  • buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards_7.yml
  • buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards_9.yml
  • buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards_5.yml
  • buildscripts/templates/generate_resmoke_suites/sharding_auth.yml.j2
  • buildscripts/resmokeconfig/suites/sharding_auth_misc.yml
  • buildscripts/resmokeconfig/suites/4.0_dbaas_aggregation.yml
  • buildscripts/resmokeconfig/suites/sharding_misc.yml
  • buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards_6.yml
  • buildscripts/resmokeconfig/suites/sharding_continuous_config_stepdown.yml
  • buildscripts/resmokeconfig/suites/sharding_auth_15.yml
  • buildscripts/resmokeconfig/suites/concurrency_sharded_replication_with_balancer.yml
  • buildscripts/resmokeconfig/suites/sharding_auth_audit_14.yml
  • buildscripts/resmokeconfig/suites/sharding_auth_audit_12.yml
  • buildscripts/resmokeconfig/suites/replica_sets_auth_4.yml
  • buildscripts/resmokeconfig/suites/sharding_ese_11.yml
  • buildscripts/resmokeconfig/suites/sharding_6.yml
  • buildscripts/resmokeconfig/suites/replica_sets_ese_2.yml
  • buildscripts/resmokeconfig/suites/concurrency_sharded_causal_consistency.yml
  • buildscripts/resmokeconfig/suites/sharding_8.yml
  • buildscripts/resmokeconfig/suites/replica_sets_initsync_jscore_passthrough.yml
  • buildscripts/resmokeconfig/suites/sharding_auth_17.yml
  • buildscripts/resmokeconfig/suites/replica_sets_auth_5.yml
  • buildscripts/resmokeconfig/suites/sharding_5.yml
  • buildscripts/resmokeconfig/suites/sharding_14.yml
  • buildscripts/resmokeconfig/suites/sharding_ese_16.yml
  • buildscripts/resmokeconfig/suites/4.0_dbaas_core_txns.yml
  • .style.yapf
  • buildscripts/resmokeconfig/suites/sharding_ese_17.yml
  • buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards_11.yml
  • buildscripts/resmokeconfig/suites/sharding_auth_audit_18.yml
  • buildscripts/resmokeconfig/suites/buildscripts_test.yml
  • buildscripts/resmokeconfig/suites/replica_sets_auth_misc.yml
  • buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards_misc.yml
  • buildscripts/resmokeconfig/suites/4.0_dbaas_fts.yml
  • buildscripts/resmokeconfig/suites/sharding_11.yml
  • buildscripts/resmokeconfig/suites/sharding_12.yml
  • buildscripts/resmokeconfig/suites/sharding_auth_audit_15.yml
  • buildscripts/resmokeconfig/suites/sharding_10.yml
  • buildscripts/resmokeconfig/suites/replica_sets_multi_stmt_txn_jscore_passthrough.yml
  • buildscripts/resmokeconfig/suites/core_eloq.yml
  • buildscripts/resmokeconfig/suites/sharding_7.yml
  • buildscripts/resmokeconfig/suites/sharding_jscore_passthrough.yml
  • buildscripts/resmokeconfig/suites/sharded_causally_consistent_jscore_passthrough.yml
  • buildscripts/resmokeconfig/suites/sharding_ese_13.yml
  • buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards_10.yml
  • buildscripts/resmokeconfig/suites/concurrency_sharded_with_stepdowns.yml
  • buildscripts/resmokeconfig/suites/sharding_ese_misc.yml
  • buildscripts/resmokeconfig/suites/core.yml
  • buildscripts/resmokeconfig/suites/sharding_ese_18.yml
  • buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards_8.yml
  • buildscripts/templates/generate_resmoke_suites/sharding_last_stable_mongos_and_mixed_shards.yml.j2
  • buildscripts/resmokeconfig/suites/sharding_auth_audit_17.yml
  • buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards.yml
  • .pydocstyle
  • buildscripts/resmokeconfig/suites/replica_sets_ese_4.yml
  • buildscripts/resmokeconfig/suites/sharding_auth_16.yml
  • buildscripts/resmokeconfig/suites/sharding_auth_audit_16.yml
  • buildscripts/resmokeconfig/suites/replica_sets_auth_6.yml
  • buildscripts/resmokeconfig/suites/sharding_auth_10.yml
  • buildscripts/resmokeconfig/suites/sharding_auth_14.yml
  • buildscripts/resmokeconfig/suites/concurrency_sharded_with_stepdowns_and_balancer.yml
  • buildscripts/templates/generate_resmoke_suites/sharding_auth_audit.yml.j2
  • buildscripts/resmokeconfig/suites/replica_sets_ese_5.yml
  • buildscripts/resmokeconfig/suites/replica_sets_auth_3.yml
  • buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards_4.yml
  • buildscripts/resmokeconfig/suites/sharding_ese_12.yml
  • buildscripts/resmokeconfig/suites/sharding_ese_14.yml
  • buildscripts/resmokeconfig/suites/sharding_ese_15.yml
  • buildscripts/resmokeconfig/suites/sharding_auth_18.yml
🧰 Additional context used
🧬 Code graph analysis (2)
concourse/scripts/build_tarball_open.bash (1)
concourse/scripts/build_tarball.bash (1)
  • copy_libraries (166-179)
concourse/scripts/build_tarball.bash (1)
concourse/scripts/build_tarball_open.bash (1)
  • copy_libraries (119-143)
🪛 LanguageTool
README.md

[style] ~75-~75: In American English, abbreviations like “etc.” require a period.
Context: ...s, lib contains all dependencies, and etc contains an example configuration file...

(ETC_PERIOD)


[grammar] ~98-~98: There might be a mistake here.
Context: ... Step-6, open another terminal and run mongo client. ```bash ./bin/eloqdoc-cl...

(QB_NEW_EN)


[style] ~131-~131: In American English, abbreviations like “etc.” require a period.
Context: ...s, lib contains all dependencies, and etc contains an example configuration file...

(ETC_PERIOD)


[grammar] ~171-~171: There might be a mistake here.
Context: ... Step-7, open another terminal and run mongo client. ```bash ./bin/eloqdoc-cl...

(QB_NEW_EN)

🪛 Shellcheck (0.11.0)
concourse/scripts/build_tarball.bash

[warning] 224-224: Declare and assign separately to avoid masking return values.

(SC2155)


[warning] 225-225: Declare and assign separately to avoid masking return values.

(SC2155)

🔇 Additional comments (18)
concourse/artifact/ELOQDSS_ROCKSDB_CLOUD_S3/eloqdoc_cluster_b.conf (1)

4-4: LGTM! Log path updated for EloqDoc rebranding.

The systemLog path has been correctly updated from mongod.log to eloqdoc.log, consistent with the EloqDoc rebranding effort.

concourse/artifact/ELOQDSS_ROCKSDB_CLOUD_S3/eloqdoc_cluster_a.conf (1)

4-4: LGTM! Log path updated for EloqDoc rebranding.

The systemLog path has been correctly updated from mongod.log to eloqdoc.log, maintaining consistency with other cluster configurations.

concourse/scripts/store_rocksdb_cloud.yaml (1)

4-4: LGTM! Log path updated for EloqDoc rebranding.

The systemLog path has been correctly updated to eloqdoc.log, aligning with the broader rebranding effort.

concourse/artifact/ELOQDSS_ROCKSDB/eloqdoc.conf (1)

4-4: LGTM! Log path updated for EloqDoc rebranding.

The systemLog path has been correctly updated to eloqdoc.log.

concourse/artifact/ELOQDSS_ROCKSDB_CLOUD_S3/eloqdoc.conf (1)

4-4: LGTM! Log path updated for EloqDoc rebranding.

The systemLog path has been correctly updated to eloqdoc.log.

concourse/artifact/ELOQDSS_ROCKSDB_CLOUD_S3/eloqdoc_cluster_c.conf (1)

4-4: LGTM! Log path updated for EloqDoc rebranding.

The systemLog path has been correctly updated to eloqdoc.log, completing the rebranding across all cluster configurations.

concourse/scripts/common.sh (3)

78-78: LGTM! Build script path updated correctly.

The scons.py invocation path has been correctly updated to scripts/buildscripts/scons.py.

Also applies to: 129-129


191-191: LGTM! Binary name updated correctly.

The shutdown command has been correctly updated to use eloqdoc-cli.


220-220: LGTM! Test command updated correctly.

The resmoke.py invocation has been correctly updated to use eloqdoc-cli as the MongoDB client.

concourse/scripts/tag.sh (1)

58-58: Script path verified. concourse/scripts/git-tag.sh exists at the specified location.

SConstruct (4)

33-33: LGTM! Enables imports from the refactored scripts directory.

This change is necessary to allow Python imports from the scripts/ subdirectory after the buildscripts relocation.


708-708: LGTM! Path update aligns with buildscripts relocation.

The default path correctly reflects the new location of icecc_create_env under scripts/buildscripts/.


1873-1873: LGTM! Path update aligns with jstests relocation.

The keyfile path correctly reflects the new location under tests/jstests/.


3500-3500: LGTM! All path updates are consistent with the repo restructure.

The ESLint glob, vcxproj script path, and cache prune script path all correctly reflect the new directory structure.

Also applies to: 3609-3609, 3683-3683

README.md (1)

75-75: LGTM! EloqDoc rebranding is consistent throughout.

All references to MongoDB binaries, config files, and log paths have been correctly updated to use EloqDoc naming conventions:

  • mongodeloqdoc
  • mongoeloqdoc-cli
  • mongod.confeloqdoc.conf
  • mongod.logeloqdoc.log

Also applies to: 87-90, 95-96, 101-101, 131-131, 155-156, 161-163, 168-169, 174-174

concourse/scripts/build_tarball_open.bash (2)

175-175: LGTM! SCons invocation path updated correctly.

The path to scons.py now correctly points to scripts/buildscripts/scons.py, aligning with the repo restructure.


192-194: LGTM! Binary names and library handling updated consistently.

All references to MongoDB binaries have been correctly updated to EloqDoc equivalents:

  • Library collection and rpath patching now target eloqdoc-cli and eloqdoc
  • Preload library adjustments correctly apply to eloqdoc instead of mongod

Also applies to: 202-204, 209-212

concourse/scripts/build_tarball.bash (1)

229-229: LGTM! SCons path and binary rebranding are consistent.

The changes correctly update:

  • SCons invocation path to scripts/buildscripts/scons.py
  • Binary names to eloqdoc-cli and eloqdoc
  • Rpath patching for the new binary names
  • Preload library adjustments for eloqdoc

Also applies to: 250-252, 281-282, 291-294

Copy link
Contributor

@zhangh43 zhangh43 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
concourse/scripts/git-tag.sh (2)

2-2: Fix invalid shell options; script will error immediately.

set -eo is invalid; -o requires an option name. Use set -e -o pipefail (or set -euo pipefail if you want unset-var safety).

Apply one:

-set -eo
+set -e -o pipefail

Or (recommended):

-set -eo
+set -euo pipefail

4-4: Add argument validation for TAG.

Fail fast with a helpful message if TAG is missing.

-TAG=$1
+TAG=${1:?"Usage: $0 <tag>"}
🧹 Nitpick comments (1)
concourse/scripts/git-tag.sh (1)

1-1: Shebang portability.

Prefer env lookup for bash to avoid hard-coding /usr/bin/bash.

-#!/usr/bin/bash
+#!/usr/bin/env bash
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a34237c and 8033e01.

📒 Files selected for processing (1)
  • concourse/scripts/git-tag.sh (1 hunks)
🔇 Additional comments (2)
concourse/scripts/git-tag.sh (2)

4-6: Script named git-tag.sh but no git tag is created/pushed.

If tags are expected here, you’re missing git tag -a "$TAG" -m ... and git push origin "$TAG". If tagging is handled elsewhere, ignore this.

Would you like me to add a guarded tag-create/push step here consistent with your flow?


48-56: [scratchpad]
[task review_analysis_3/3 verification_complete]

[observations]

  • newtag constructed from semantic versioning: lines 38–56 of tag.sh
  • Format: ${digits[0]}.${digits[1]}.${digits[2]} (e.g., "1.2.3")
  • TAG passed as "$newtag" to git-tag.sh (line 58)
  • Guaranteed format: digits and dots ONLY
  • No slashes, no ampersands possible
  • Initial comment on line 48 suggests conditional push is intentional design

[analysis]

  • TAG escaping concern: INVALID. TAG format is always semantic version (dots+digits).
  • sed fragility: NOT a real risk given actual TAG format.
  • git diff --quiet: Valid minor improvement (cosmetic).
  • Remote branch logic: VALID concern. Branch created locally, pushed only if diff exists. Could be intentional (no empty branches) or a bug. Needs clarification.

[done]
The review comment incorrectly assumes TAG could contain "/" or "&". The actual code ensures TAG is always semantic version format. Primary concern should be remote branch logic, not sed escaping.

[/scratchpad]

Reconsider sed escaping concern; TAG is always semantic version format (e.g., "1.2.3").

The review's primary concern about sed failing for TAG containing / or & is incorrect. The tag.sh script (lines 38–56) constructs newtag exclusively from semantic versioning logic (${digits[0]}.${digits[1]}.${digits[2]}), which produces only digits and dots—never slashes or ampersands.

The actual considerations for lines 48–56 are:

  • Remote branch logic: The branch is created locally but only pushed if src/mongo/util/version.cpp changes. Confirm this is intentional—do you want the release branch to always exist remotely, or only when content changes?
  • Minor improvement: git diff --quiet -- src/mongo/util/version.cpp is cleaner than git diff --name-only (avoids iterating file list) but both work.

Likely an incorrect or invalid review comment.

@lzxddz lzxddz linked an issue Oct 16, 2025 that may be closed by this pull request
@lzxddz lzxddz merged commit b827192 into eloqdata:main Oct 16, 2025
1 of 2 checks passed
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
README.md (2)

11-11: Fix typos and minor phrasing in Overview/Use Cases.

Correct spelling and tighten phrasing.

-EloqDoc is a high-performance, elastic, distributed transactional document database with MongoDB API compability. Built on top of [Data Substrate](https://www.eloqdata.com/blog/2024/08/11/data-substrate), it leverages a decoupled storage and compute architecture to deliver fast scaling, ACID transaction support, and efficient resource utilization.
+EloqDoc is a high-performance, elastic, distributed transactional document database with MongoDB API compatibility. Built on top of [Data Substrate](https://www.eloqdata.com/blog/2024/08/11/data-substrate), it leverages a decoupled storage and compute architecture to deliver fast scaling, ACID transaction support, and efficient resource utilization.
@@
-👉 **Use Cases**: web applications, ducument store, content management systems — anywhere you need MongoDB API compatibility **but** demand distributed performance and elasticity.
+👉 **Use Cases**: web applications, document stores, content management systems — anywhere you need MongoDB API compatibility, but demand distributed performance and elasticity.

Also applies to: 17-17


142-142: Fix S3/MinIO grammar and spelling.

Improves clarity and correctness.

-**Step-4**, start a S3 emulator, takes `minio` as an exmaple.
+**Step-4**, start an S3 emulator; take MinIO as an example.
@@
-By default, `minio` listens on `http://127.0.0.1:9000`, whose default credentials is `minioadmin:minioadmin`,.
+By default, MinIO listens on http://127.0.0.1:9000. The default credentials are minioadmin:minioadmin.

Also applies to: 152-152

🧹 Nitpick comments (4)
README.md (4)

87-91: Avoid hardcoded absolute paths; use $HOME.

Prevents copy/paste mistakes on non-eloq users.

-**Step-4**, modify  `etc/eloqdoc.conf`. Assume your `$HOME` is `/home/eloq`, then
-* Set `systemLog.path` to `/home/eloq/eloqdoc-rocksdb/logs/eloqdoc.log`.
-* Set `storage.dbPath` to `/home/eloq/eloqdoc-rocksdb/db`.
+**Step-4**, modify `etc/eloqdoc.conf`:
+* Set `systemLog.path` to `$HOME/eloqdoc-rocksdb/logs/eloqdoc.log`.
+* Set `storage.dbPath` to `$HOME/eloqdoc-rocksdb/db`.

98-102: Use “EloqDoc CLI” wording and prefer insertOne over deprecated save().

Keeps branding consistent and avoids deprecated shell API.

-**Step-6**, open another terminal and run mongo client.
+**Step-6**, open another terminal and run the EloqDoc CLI:
@@
-./bin/eloqdoc-cli --eval "db.t1.save({k: 1}); db.t1.find();"
+./bin/eloqdoc-cli --eval 'db.t1.insertOne({k: 1}); printjson(db.t1.findOne({k: 1}));'
@@
-**Step-7**, open another terminal and run mongo client.
+**Step-7**, open another terminal and run the EloqDoc CLI:
@@
-./bin/eloqdoc-cli --eval "db.t1.save({k: 1}); db.t1.find();"
+./bin/eloqdoc-cli --eval 'db.t1.insertOne({k: 1}); printjson(db.t1.findOne({k: 1}));'

Also applies to: 170-174


154-156: Clarify Step‑5 vs preconfigured MinIO to avoid confusion.

Make it explicit that only paths need editing; cloud settings are already set.

-**Step-5**, go back to `$HOME/eloqdoc-rocksdbcloud` and modify `etc/eloqdoc.conf`. Assume your `$HOME` is `/home/eloq`.
+**Step-5**, go back to `$HOME/eloqdoc-rocksdbcloud` and modify `etc/eloqdoc.conf` (paths only). Assume your `$HOME` is `/home/eloq`.
@@
-* `etc/eloqdoc.conf` has configured minio as its cloud storage, and needs no modification.
+* MinIO S3 settings are preconfigured in `etc/eloqdoc.conf`; no cloudStorage changes are needed.

Also applies to: 160-162


63-64: Add SHA256 checksum verification for downloads
All wget URLs return HTTP 200 but README lacks any checksum steps. For each wget …tar.gz invocation (e.g. lines 63–64, 118–119), publish the SHA256 sum and verify with sha256sum after download.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d71511f and 9eb671e.

📒 Files selected for processing (1)
  • README.md (4 hunks)
🧰 Additional context used
🪛 LanguageTool
README.md

[style] ~75-~75: In American English, abbreviations like “etc.” require a period.
Context: ...s, lib contains all dependencies, and etc contains an example configuration file...

(ETC_PERIOD)


[grammar] ~98-~98: There might be a mistake here.
Context: ... Step-6, open another terminal and run mongo client. ```bash ./bin/eloqdoc-cl...

(QB_NEW_EN)


[style] ~130-~130: In American English, abbreviations like “etc.” require a period.
Context: ...s, lib contains all dependencies, and etc contains an example configuration file...

(ETC_PERIOD)


[grammar] ~170-~170: There might be a mistake here.
Context: ... Step-7, open another terminal and run mongo client. ```bash ./bin/eloqdoc-cl...

(QB_NEW_EN)

🔇 Additional comments (2)
README.md (2)

75-75: LGTM on packaging directory descriptions.

Accurate, clear branding and paths.

Also applies to: 130-130


95-95: LGTM on start commands.

Flags and paths look correct.

Also applies to: 167-167

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Refactor repo structure

2 participants