Conversation
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
WalkthroughDeletes 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
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)
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
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 referencesmongod.outon 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
exitstatement 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
exitstatement 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:
- Variable
mongo_ready(lines 196, 210) should be renamed toeloqdoc_ready- The tail command on line 212 still references
mongod.outinstead ofeloqdoc.outWhile 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 tolaunch_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
scriptsis added to sys.path. Consider updating the comment to clarify that these imports are fromscons/mongoand that the scripts directory is added to the path separately.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (4)
scripts/buildscripts/packaging/msi/Banner.bmpis excluded by!**/*.bmpscripts/buildscripts/packaging/msi/Dialog.bmpis excluded by!**/*.bmpscripts/buildscripts/packaging/msi/Installer_Icon_16x16.icois excluded by!**/*.icoscripts/buildscripts/packaging/msi/Installer_Icon_32x32.icois 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.logtoeloqdoc.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.logtoeloqdoc.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-clias the MongoDB client.concourse/scripts/tag.sh (1)
58-58: Script path verified.concourse/scripts/git-tag.shexists 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_envunderscripts/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:
mongod→eloqdocmongo→eloqdoc-climongod.conf→eloqdoc.confmongod.log→eloqdoc.logAlso 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.pynow correctly points toscripts/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-cliandeloqdoc- Preload library adjustments correctly apply to
eloqdocinstead ofmongodAlso 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-cliandeloqdoc- Rpath patching for the new binary names
- Preload library adjustments for
eloqdocAlso applies to: 250-252, 281-282, 291-294
There was a problem hiding this comment.
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 -eois invalid;-orequires an option name. Useset -e -o pipefail(orset -euo pipefailif you want unset-var safety).Apply one:
-set -eo +set -e -o pipefailOr (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
📒 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 ...andgit 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) constructsnewtagexclusively 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.cppchanges. 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.cppis cleaner thangit diff --name-only(avoids iterating file list) but both work.Likely an incorrect or invalid review comment.
There was a problem hiding this comment.
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
AllwgetURLs return HTTP 200 but README lacks any checksum steps. For eachwget …tar.gzinvocation (e.g. lines 63–64, 118–119), publish the SHA256 sum and verify withsha256sumafter download.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 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
Summary by CodeRabbit
New Features
Documentation
Chores