a710a2bf41
Prior to updating its own in-memory state, the resharding coordinator first runs a transaction to persist that state. There is an edge case where that transaction (if run with >w:1) will commit successfully, but become interrupted while waiting for replication. If that happens, the coordinator will have completed the transaction's work, but fail to update its own in-memory state, and therefore will redo that work when it retries after handling the exception. Instead of running with the default of w:majority, the transactions for these state transitions have therefore been changed to use w:1 in order to avoid the interruption edge case. An explicit wait for majority is added after the transactions in cases where it must be majority committed before proceeding. |
||
---|---|---|
buildscripts | ||
debian | ||
distsrc | ||
docs | ||
etc | ||
evergreen | ||
jstests | ||
rpm | ||
site_scons | ||
src | ||
.clang-format | ||
.eslintignore | ||
.eslintrc.yml | ||
.gdbinit | ||
.gitattributes | ||
.gitignore | ||
.lldbinit | ||
.mypy.ini | ||
.pydocstyle | ||
.pylintrc | ||
.style.yapf | ||
.udbinit | ||
CONTRIBUTING.rst | ||
CreativeCommons.txt | ||
LICENSE-Community.txt | ||
README.md | ||
README.third_party.md | ||
SConstruct |
MongoDB README
Welcome to MongoDB!
Components
mongod
- The database server.mongos
- Sharding router.mongo
- The database shell (uses interactive javascript).
Utilities
install_compass
- Installs MongoDB Compass for your platform.
Building
See Building MongoDB.
Running
For command line options invoke:
$ ./mongod --help
To run a single server database:
$ sudo mkdir -p /data/db
$ ./mongod
$
$ # The mongo javascript shell connects to localhost and test database by default:
$ ./mongo
> help
Installing Compass
You can install compass using the install_compass
script packaged with MongoDB:
$ ./install_compass
This will download the appropriate MongoDB Compass package for your platform and install it.
Drivers
Client drivers for most programming languages are available at
https://docs.mongodb.com/manual/applications/drivers/. Use the shell
(mongo
) for administrative tasks.
Bug Reports
See https://github.com/mongodb/mongo/wiki/Submit-Bug-Reports.
Packaging
Packages are created dynamically by the buildscripts/packager.py script. This will generate RPM and Debian packages.
Documentation
https://docs.mongodb.com/manual/
Cloud Hosted MongoDB
https://www.mongodb.com/cloud/atlas
Forums
-
Technical questions about using MongoDB.
-
https://community.mongodb.com/c/server-dev
Technical questions about building and developing MongoDB.
Learn MongoDB
https://university.mongodb.com/
LICENSE
MongoDB is free and the source is available. Versions released prior to October 16, 2018 are published under the AGPL. All versions released after October 16, 2018, including patch fixes for prior versions, are published under the Server Side Public License (SSPL) v1. See individual files for details.