Skip to content


Subversion checkout URL

You can clone with
Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: icenine457/mongo
head fork: icenine457/mongo
Commits on Apr 30, 2012
@amcfague amcfague SERVER-5511: `help` is not a log, and shouldn't be given `migrateLog`
This corrects an issue where `migrateLog` was being passed into a string
stream.  For a log() object, this would have altered its behavior
normally, but for a regular stringstream, just displayed the pointer

Signed-off-by: Randolph Tan <>
Commits on May 03, 2012
@renctan renctan Merge branch 'SERVER-5511' 4aec455
@RedBeard0531 RedBeard0531 Remove BSONArrayBuilder::nullElt and nullObj
They weren't thread-safe or necessary
Commits on May 04, 2012
@amcfague amcfague SERVER-5399: Essentially aliasing quit, exit, and function call varia…

Signed-off-by: Andy Schwerin <>

Previously, `exit` was being implemented as a code in the DB shell,
while `quit` was being implemented as a shell function.  This meant that
both were doing different things, and were called differently--i.e.,
`exit` could be run as is, whereas `quit()` had to be called as a

Additional cleanups / improvements:

Clarifying Control-C/D handling code.
Moving string operations to use boost::algorithm::string libs
Clarifying logic in command parsing
Renaming variable for user input to something more relevant ("code" -> "line").
@lcapaldo lcapaldo SERVER-4632 Welcome message displayed on first run of mongo
Display a welcome message if .mongorc.js is
not present. Direct users to help, the doc
website, and the google group. Write
an empty .mongorc.js so that the
message isn't displayed again.

Signed-off-by: Eric Milkie <>
@azat azat Change log message from "stepN" to "stepN of M"
Signed-off-by: Eric Milkie <>
@milkie milkie eliminate wrapper function c29e53d
@singhsiddharth singhsiddharth Document generator for creating sample databases
A simple document generator that creates databases of specified size
and fills them with documents of the following form :
{ id:xxx, counterUp:xxx, hashIdUp: hashof(counterUp), blob: xxx,
  counterDown:xxx, hashIdUp: hashof(counterDown) }
gregs SERVER-5475 changes for mongos chunk diffs on config reload 124323a
gregs SERVER-5475 changes for mongod chunk diffs on config reload fd316da
gregs SERVER-5475 mark stale config exceptions from splits (minor version m…
…ismatches) for eventual reload
Greg Studer SERVER-5475 format comments to 100 char lines from 120 char 8871fb9
Greg Studer SERVER-5475 merge split heuristics together into a mutable struct d61dfb6
Greg Studer SERVER-5475 error code collision 659fdc2
@singhsiddharth singhsiddharth Loadgenerator for mongod benchmarking
Simple load generator that does findOne queries on a specified mongod
@andy10gen andy10gen Rollback b118ba7, which broke multi-line.
Effectively reopens SERVER-5399.
@milkie milkie 1 and 0 are not bools 6999e38
@tadmarshall tadmarshall SERVER-5246 Move linenoise out of third_party
Remove unused files, move linenoise source files
into src/mongo/shell.
@singhsiddharth singhsiddharth Fixing the data type from double to long long 9939bf9
Commits on May 05, 2012
@tadmarshall tadmarshall Compile Windows 6a1df89
@astaple astaple Rename ClientCursor pointer classes. e5896ba
@astaple astaple Clean cursortests a bit. 6fd4391
@astaple astaple Symbolize INVALID_CURSOR_ID value. 8434786
@astaple astaple SERVER-5101 Make ClientCursor::Pin exception safe and remove its manu…
…al release mechanism for failed yield recovery.
@astaple astaple Reorganize ClientCursor::Pin a bit. bfaff39
@astaple astaple SERVER-5726 Mark relevant code. a1d1019
@astaple astaple compile win c9ca423
Commits on May 06, 2012
@tadmarshall tadmarshall SERVER-5597 Rewrite toWideString (Windows-only)
Use MultiByteToWideChar to convert UTF-8 to UTF-16 on Windows.
@tadmarshall tadmarshall SERVER-1877 accept Windows service options with single dash
Because we use allow_long_disguise in our style for
boost::program_options parsing (to make -vvvvv work) we will
accept "-install" and "--install" and likewise for all options.
This means that when parsing option-by-option as we do in
util/ntservice.cpp, we need to handle both "-" and "--" prefixes.
Commits on May 07, 2012
@tadmarshall tadmarshall SERVER-4142 add missing files to Visual Studio 7ffdfd5
@tadmarshall tadmarshall SERVER-4138 give specific error on reserved Windows db name
If the user tries to create a database on the Windows version
of mongod that uses a name that is reserved on Windows, give a
specific error stating that the chosen name is reserved.  Display
the assertion code when any uassert testing for an invalid name
is triggered.
@erh erh make fields in DBWrite and DBRead have _ 9455911
@erh erh little bit of cleaning for Lock::DB(Write|Read) e322222
@erh erh a little Lock cleaning a412d55
@erh erh move lockstat to its own file 7985486
@erh erh move LockState to its own file a890dea
@erh erh remove double wrapping of qlock 79c22f5
@erh erh change WrapperForTiming to WrapperForQLock ea48046
@erh erh add copyright 57ce750
@erh erh remove unused param in getAllShortNames 2c70064
@erh erh include what you need 819caab
@erh erh fix verison number conflict 5a3c586
@milkie milkie SERVER-5706 if only slaveDelay'd nodes are available, use them ffd0be5
@tadmarshall tadmarshall Visual Studio -- precompiled headers
Turn off precompiled headers for all Visual Studio
projects to match the current scons behavior.  Add
db/lockstat.cpp and db/lockstate.cpp where needed.
@andy10gen andy10gen Include only what you use 3373073
Commits on May 08, 2012
@tadmarshall tadmarshall typo in minidump status message 82cdd3b
@dwight dwight tab minor a69c9e9
@dwight dwight a little code cleaning before making a real change to come 499f7cb
@dwight dwight the less #ifs the better b7aec8e
@dwight dwight durThread should try to commit sooner if data is piling up. hopefully…
… then a commitIfNeeded invocation, which is uglier, is then avoided
@dwight dwight comment 4664de3
@renctan renctan SERVER-5746 Wrong initialization for ReplicaSetMonitor Nodes
Modified the initialization of the ok member variable of ReplicaSetMonitor::Node to true if conn smart pointer is not null.
Commits on May 09, 2012
Greg Studer SERVER-5475 out-parameter should be a ref abbd41d
@andy10gen andy10gen In debug mode, dassert() should be fassert(), not verify(). ecc7188
@andy10gen andy10gen Isolate stop/start greed logic in qlock.h a0d04bc
@andy10gen andy10gen Fix remap private view memory leak and formalize w->X ugprade process.
Makes the upgrade R_to_W() block until it succeeds.

Replaces "runExclusively" with a new "X" state, which is equivalent to "W", but
can only be reached from "w".  Client code in "w" calls "w_to_X()", which blocks
until all other threads in "w" call w_to_X() or call unlock_w().  At that point,
exactly one thread returns from w_to_X() with return value "true".  This thread
is the "exclusive writer", and may behave like it's in "W" state.  When that
thread calls "X_to_w()", it reverts to "w" state, and releases all the other
threads that called w_to_X() back into "w" state.

Because X_to_w() is effectively a barrier, we use generation counters to make
sure that fast racers don't cause deadlocks or race through the barrier.  The
generation counters are generationX and generationXExit.

Use of w_to_X() is wrapped in the Lock::DBWrite::UpgradeToExclusive() guard
object, which has a "gotUpgrade()" method to check if a particular thread was
the exclusive worker for the upgrade period.

Decision making about which condition variables to notify is more fully
delegated to the notifyWeUnlocked() method of QLock, to eliminate some
inadvertent deadlocks due that surfaced when R_to_W() was made to wait until

May help SERVER-5533, because it fixes a greediness logic bug exercised by

This patch also introduces a directed test of the w->X functionality,
though it could use the addition of of extra "noise" work.
@renctan renctan Updated test for SERVER-5746 to make buildbot pass 9e1d746
@renctan renctan Assert codes updated by buildscript d073865
@matulef matulef SERVER-2001 part 1: hashing BSONElements ea82f5b
@milkie milkie fix conflicting assert ids 9752fd8
@matulef matulef fixed isnan compilation on solaris 8e80bc3
@milkie milkie fix isnan for Windows ccc9b9e
@milkie milkie fix for non-windows non-linux builds for isnan f15931d
@dwight dwight increase StackChecker maximum to 256KB. used for _DEBUG builds
also call stackCheck from various places inside the c++ unit tests so we can see what they use
here's a few actuals from a test run on windows debug 64 bit build:

test basic 22KB
test pdfile 36KB
test btree 36KB
test jsobj 156KB (?)
test query 43KB
test perf 170KB
test perf insert-big 209KB
@milkie milkie reverting last three isnan changes, taking different tack d755084
@milkie milkie fix isnan; call internal function isNaN instead; create a new float_u…
…tils.h header
@dwight dwight Merge branch 'master' of 0a20dad
Dan Crosta SERVER-5791: SCons shouldn't die if HOME env var is not set 7d43615
@tadmarshall tadmarshall Fix issues in MemoryMappedFile::map (Windows)
Add fassert on failure of CreateFileMapping.  Improve
error reporting on API failures.  Fix incorrect "length"
displayed for failure of MapViewOfFile().  Use "W" version
of some Windows APIs so we are not sensitive to the state
of the UNICODE macro: use toWideString instead of
toNativeString for the same reason.
@andy10gen andy10gen Remove LockStepWriteUpgradeTest from dbtests/threadedtests, because i…
…t deadlocks.

This test deadlocks against the durability thread because its design isn't prepared for the existence of
threads that aren't participating in the test.
@miketheman miketheman Updating to use the correct GPG signing key instead of th…
…e last person to update the Changelog
@vrtx vrtx SERVER-4985: ensure connection id counter is atomic c6577a3
@andy10gen andy10gen SERVER-5805 -- Fix error uncovered by dur_passthrough fsync.js.
When a Lock::GlobalWrite goes out of scope, it must uncondtionally undo any greediness changes made
when the Lock::GlobalWrite was constructed.  If the object stopped greed at construction, was subsequently
downgraded to global read state ('R'), and then went out of scope, it must do extra work to ensure that
greed is restarted.  This change reintroduces that extra work, which was erroneously removed in an earlier
@vrtx vrtx SERVER-3062: dbclient_rs should select a local replica set member by …
Commits on May 10, 2012
gregs Revert "debugging for test"
This reverts commit 9f9f9a4.
gregs SERVER-5790 buildbot sharding_rs2.js wait for secondary status and re…
…plication before checking slaveOk'd count
@milkie milkie Revert "increase StackChecker maximum to 256KB. used for _DEBUG builds"
This reverts commit 4cc8a4b.
Broke Linux 32-bit debug builds -- "test" is segfaulting in StackChecker
@andy10gen andy10gen Include what you use fixes. cec032b
Greg Studer buildbot don't use debug function for printing sharding_rs2.js ee89099
Greg Studer buildbot make bigMapReduce.js run last, catch errors in simpler tests…
… if possible

Also added additional logging for future debugging
@andy10gen andy10gen Include what you use in platform/basic.h on Linux. 9b8f51c
@andy10gen andy10gen Release groupCommitMutex before remapping private view.
This averts deadlock between dur thread and other commitNow() callers.
@andy10gen andy10gen Split mongo/util/time_support.h into a header and a cpp file. c0ca654