-
Notifications
You must be signed in to change notification settings - Fork 1.7k
/
3.0.txt
750 lines (513 loc) · 24 KB
/
3.0.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
=============================
Release Notes for MongoDB 3.0
=============================
.. default-domain:: mongodb
.. contents:: On this page
:local:
:backlinks: none
:depth: 1
:class: twocols
*March 3, 2015*
MongoDB 3.0 is now available. Key features include support for the
WiredTiger storage engine, pluggable storage engine API,
``SCRAM-SHA-1`` authentication mechanism, and improved ``explain``
functionality.
MongoDB Ops Manager, which includes Automation, Backup, and Monitoring,
is now also available. See the `Ops Manager documentation
<http://docs.opsmanager.mongodb.com/current/>`_ and the `Ops Manager
release notes
<http://docs.opsmanager.mongodb.com/current/release-notes/application/>`_
for more information.
Patch Releases
--------------
.. class:: hidden
.. toctree::
/release-notes/3.0-changelog
.. _3.0.15-release-notes:
3.0.15 -- May 15, 2017
~~~~~~~~~~~~~~~~~~~~~~
Issues fixed:
- :issue:`SERVER-27164`: Deadlock during initial sync or steady state
replication when CRUD operations implicitly create collections on the
same database.
- :issue:`SERVER-28548`: In MMAPv1, index readers/writers can return
invalid data if record no longer exists.
- `All issues closed in 3.0.15
<https://jira.mongodb.org/issues/?jql=project%20in%20(SERVER%2C%20TOOLS%2C%20WiredTiger)%20AND%20fixVersion%20%3D%203.0.15%20AND%20resolution%20%3D%20Fixed%20>`_
.. _3.0.14-release-notes:
3.0.14 -- Nov 4, 2016
~~~~~~~~~~~~~~~~~~~~~
Issues fixed:
- Incorrect memory access on 3.0.13 triggers segmentation fault: :issue:`SERVER-26889`
.. _3.0.13-release-notes:
3.0.13 -- Oct 31, 2016
~~~~~~~~~~~~~~~~~~~~~~
Issues fixed:
- Debian 8(Jessie) packages: :issue:`SERVER-18329`
- Upgrade to Perl compatible regular expressions (PCRE 8.39): :issue:`SERVER-24662`
- Limit memory usage during 2dsphere index build: :issue:`SERVER-25075`
- `All issues closed in 3.0.13
<https://jira.mongodb.org/issues/?jql=project%20in%20(SERVER%2C%20TOOLS%2C%20WiredTiger)%20AND%20fixVersion%20%3D%203.0.13%20AND%20resolution%20%3D%20Fixed%20>`_
.. _3.0.12-release-notes:
3.0.12 -- May 9, 2016
~~~~~~~~~~~~~~~~~~~~~
Issues fixed:
- Background index build may result in extra index key entries that do
not correspond to indexed documents: :issue:`SERVER-22970`
- Documents that contain embedded null characters can be created:
:issue:`SERVER-7005`
- IX GlobalLock being held while waiting for WiredTiger cache eviction:
:issue:`SERVER-22964`
- `All issues closed in 3.0.12
<https://jira.mongodb.org/issues/?jql=project%20in%20(SERVER%2C%20TOOLS)%20AND%20fixVersion%20%3D%203.0.12%20AND%20resolution%20%3D%20Fixed%20>`_
.. _3.0.11-release-notes:
3.0.11 -- Mar 31, 2016
~~~~~~~~~~~~~~~~~~~~~~
Issues fixed:
- For MongoDB 3.0.9 and MongoDB 3.0.10, during chunk migration, insert
and update operations to documents in the migrating chunk are not
reflected in the destination shard: :issue:`SERVER-23425`
.. _3.0.10-release-notes:
3.0.10 -- Mar 8, 2016
~~~~~~~~~~~~~~~~~~~~~
Issues fixed:
- Read preference of :readmode:`secondaryPreferred` can end up using
unversioned connections: :issue:`SERVER-18671`
- For MMAPv1 journaling, the "last sequence number" file (``lsn`` file)
may be ahead of what is synced to the data files:
:issue:`SERVER-22261`.
- Data size change for oplog deletes can overflow 32-bit int:
:issue:`SERVER-22634`
- High fragmentation on WiredTiger databases under write workloads:
:issue:`SERVER-22898`.
- `All issues closed in 3.0.10
<https://jira.mongodb.org/issues/?jql=project%20in%20(SERVER%2C%20TOOLS)%20AND%20fixVersion%20%3D%203.0.10%20AND%20resolution%20%3D%20Fixed%20>`_
.. _3.0.9-release-notes:
3.0.9 -- Jan 26, 2016
~~~~~~~~~~~~~~~~~~~~~
Issues fixed:
- Queries which specify sort and batch size can return results out of
order if documents are concurrently updated. :issue:`SERVER-19996`
- Large amounts of create and drop collections can cause
``listDatabases`` to be slow under WiredTiger. :issue:`SERVER-20961`
- Authentication failure message includes server IP address instead of
the client IP address. :issue:`SERVER-22054`
- `All issues closed in 3.0.9
<https://jira.mongodb.org/issues/?jql=project%20in%20(SERVER%2C%20TOOLS)%20AND%20fixVersion%20%3D%203.0.9%20AND%20resolution%20%3D%20Fixed%20>`_
.. _3.0.8-release-notes:
3.0.8 -- Dec 15, 2015
~~~~~~~~~~~~~~~~~~~~~
Issues fixed:
- :dbcommand:`findAndModify` on :binary:`~bin.mongos` can upsert to the
wrong shard. :issue:`SERVER-20407`.
- WiredTiger commit visibility caused document not found.
:issue:`SERVER-21275`.
- The oplog can grow to 3x configured size. :issue:`SERVER-21553`
- `All issues closed in 3.0.8
<https://jira.mongodb.org/issues/?jql=project%20in%20(SERVER%2C%20TOOLS)%20AND%20fixVersion%20%3D%203.0.8%20AND%20resolution%20%3D%20Fixed%20>`_
.. _3.0.7-release-notes:
3.0.7 -- Oct 13, 2015
~~~~~~~~~~~~~~~~~~~~~
Issues fixed:
- WiredTiger memory handling and performance issues: :issue:`SERVER-20159`,
:issue:`SERVER-20204`, :issue:`SERVER-20091`, and
:issue:`SERVER-20176`.
- Reconfig during a pending step down may prevent a primary from
stepping down: :issue:`SERVER-20262`.
- Built-in roles requires additional privileges: :issue:`SERVER-19131`,
:issue:`SERVER-15893`, and :issue:`SERVER-13647`.
- `All issues closed in 3.0.7
<https://jira.mongodb.org/issues/?jql=project%20in%20(SERVER%2C%20TOOLS)%20AND%20fixVersion%20%3D%203.0.7%20AND%20resolution%20%3D%20Fixed%20>`_
.. _3.0.6-release-notes:
3.0.6 -- August 24, 2015
~~~~~~~~~~~~~~~~~~~~~~~~
Issues fixed:
- WiredTiger Stability issues: :issue:`SERVER-19751`, :issue:`SERVER-19673`,
and :issue:`SERVER-19573`.
- Interaction between SSL and Auditing: :issue:`SERVER-19538`.
- Aggregation :pipeline:`$sort` on sharded systems
:issue:`SERVER-19464`.
- `All issues closed in 3.0.6
<https://jira.mongodb.org/issues/?jql=fixVersion%20%3D%20%223.0.6%22%20AND%20project%20%3D%20SERVER%20AND%20resolution%20%3D%20Fixed%20>`_
.. _3.0.5-release-notes:
3.0.5 -- July 28, 2015
~~~~~~~~~~~~~~~~~~~~~~
Issues fixed and improvements:
- Improvements to WiredTiger for capped collections and replication
(:issue:`SERVER-19178`, :issue:`SERVER-18875` and
:issue:`SERVER-19513`).
- Additional WiredTiger improvements for performance
(:issue:`SERVER-19189`) and improvements related to
cache and session use (:issue:`SERVER-18829`
:issue:`SERVER-17836`).
- Performance improvements for longer running queries, particularly
:operator:`$text` and :operator:`$near` queries
:issue:`SERVER-18926`.
- `All issues closed in 3.0.5
<https://jira.mongodb.org/issues/?jql=fixVersion%20%3D%20%223.0.5%22%20AND%20project%20%3D%20SERVER%20AND%20resolution%20%3D%20Fixed%20>`_
.. _3.0.4-release-notes:
3.0.4 -- June 16, 2015
~~~~~~~~~~~~~~~~~~~~~~
Issues fixed:
- Missed writes with concurrent inserts during chunk migration from
shards with WiredTiger primaries: :issue:`SERVER-18822`
- Write conflicts with multi-update updates with ``upsert=true`` with
the Wired Tiger Storage engine: :issue:`SERVER-18213`
- Secondary reads could block replication: :issue:`SERVER-18190`
- Performance on Windows with WiredTiger and documents larger than
16kb: :issue:`SERVER-18079`
- WiredTiger data files are not correctly recovered following
unexpected system restarts: :issue:`SERVER-18316`
- `All issues closed in 3.0.4
<https://jira.mongodb.org/issues/?jql=fixVersion%20%3D%20%223.0.4%22%20AND%20project%20%3D%20SERVER%20AND%20resolution%20%3D%20Fixed%20>`_
.. _3.0.3-release-notes:
3.0.3 -- May 12, 2015
~~~~~~~~~~~~~~~~~~~~~
Issues fixed:
- Deprecate :method:`db.eval()` and add warnings:
:issue:`SERVER-17453`
- Potential for abrupt termination with the Windows service stop
operation: :issue:`SERVER-17802`
- Crash caused by update with a *key too large to index* on WiredTiger
and RocksDB storage engines: :issue:`SERVER-17882`
- Inconsistent support for :dbcommand:`mapReduce` in :dbcommand:`eval`
environment: :issue:`SERVER-17889`
- `All issues closed in 3.0.3
<https://jira.mongodb.org/issues/?jql=fixVersion%20%3D%20%223.0.3%22%20AND%20project%20%3D%20SERVER%20AND%20resolution%20%3D%20Fixed%20>`_
.. _3.0.2-release-notes:
3.0.2 -- April 9, 2015
~~~~~~~~~~~~~~~~~~~~~~
Issues fixed:
- Inefficient query plans for ``2d`` \ :query:`$nearSphere`:
:issue:`SERVER-17469`
- Starting :binary:`~bin.mongod` during repair operations with WiredTiger:
:issue:`SERVER-17652` and :issue:`SERVER-17729`
- Invalid compression stream error with WiredTiger and ``zlib`` block
compression: :issue:`SERVER-17713`
- Memory use issue for inserts into large indexed arrays:
:issue:`SERVER-17616`
- `All issues closed in 3.0.2
<https://jira.mongodb.org/issues/?jql=fixVersion%20%3D%20%223.0.2%22%20AND%20project%20%3D%20SERVER%20AND%20resolution%20%3D%20Fixed%20>`_
.. _3.0.1-release-notes:
3.0.1 -- March 17, 2015
~~~~~~~~~~~~~~~~~~~~~~~
Issues fixed:
- Race condition in WiredTiger between inserts and checkpoints that
could result in lost records: :issue:`SERVER-17506`.
- WiredTiger's capped collections implementation causes a server crash:
:issue:`SERVER-17345`.
- Initial sync with duplicate ``_id`` entries: :issue:`SERVER-17487`.
- Deadlock condition in MMAPv1 between the journal lock and the oplog
collection lock: :issue:`SERVER-17416`.
- `All issues closed in 3.0.1
<https://jira.mongodb.org/issues/?jql=fixVersion%20%3D%20%223.0.1%22%20AND%20project%20%3D%20SERVER%20AND%20resolution%20%3D%20Fixed%20>`_
Major Changes
-------------
Pluggable Storage Engine API
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MongoDB 3.0 introduces a pluggable storage engine API that allows third
parties to develop storage engines for MongoDB.
WiredTiger
~~~~~~~~~~
MongoDB 3.0 introduces support for the `WiredTiger
<http://wiredtiger.com>`_ storage engine. With the support for
WiredTiger, MongoDB now supports two storage engines:
- MMAPv1, the storage engine available in previous versions of MongoDB
and the default storage engine for MongoDB 3.0, and
- `WiredTiger <http://wiredtiger.com>`_, available only in the 64-bit
versions of MongoDB 3.0.
WiredTiger Usage
````````````````
WiredTiger is an alternate to the default MMAPv1 storage engine.
WiredTiger supports all MongoDB features, including operations that
report on server, database, and collection statistics. Switching to
WiredTiger, however, requires a change to the :ref:`on-disk storage
format <3.0-compatibility-data-file>`. For instructions on changing the
storage engine to WiredTiger, see the appropriate sections in the
:doc:`/release-notes/3.0-upgrade` documentation.
MongoDB 3.0 replica sets and sharded clusters can have members with
different storage engines; however, performance can vary according to
workload. For details, see the appropriate sections in the
:doc:`/release-notes/3.0-upgrade` documentation.
The WiredTiger storage engine requires the latest official MongoDB
drivers. For more information, see
:ref:`3.0-compatibility-drivers-wired-tiger`.
.. seealso:: :ref:`3.0-compatibility-touch`, :doc:`/core/wiredtiger`
documentation
WiredTiger Configuration
````````````````````````
To configure the behavior and properties of the WiredTiger storage
engine, see :setting:`storage.wiredTiger` configuration options. You
can set :ref:`WiredTiger options on the command line
<cli-wiredtiger-options>`.
.. seealso::
:doc:`/core/wiredtiger`
WiredTiger Concurrency and Compression
``````````````````````````````````````
The 3.0 WiredTiger storage engine provides document-level locking and
compression.
By default, WiredTiger compresses collection data using the
:term:`snappy` compression library. WiredTiger uses :term:`prefix
compression` on all indexes by default.
.. seealso::
:ref:`prod-notes-wired-tiger-concurrency` section in the
:doc:`/administration/production-notes`, the blog post
`New Compression Options in MongoDB 3.0`_
.. _`New Compression Options in MongoDB 3.0`: https://www.mongodb.com/blog/post/new-compression-options-mongodb-30?jmp=docs
MMAPv1 Improvements
~~~~~~~~~~~~~~~~~~~
MMAPv1 Concurrency Improvement
``````````````````````````````
In version 3.0, the MMAPv1 storage engine adds support for
collection-level locking.
MMAPv1 Configuration Changes
````````````````````````````
To support multiple storage engines, some configuration settings for
MMAPv1 have changed. See :ref:`3.0-compatibility-configuration-file`.
.. _3.0-mmapv1-padding:
MMAPv1 Record Allocation Behavior Changes
`````````````````````````````````````````
MongoDB 3.0 no longer implements dynamic record allocation and
deprecates :term:`paddingFactor <padding factor>`. The default
allocation strategy for collections in instances that use MMAPv1 is
:ref:`power of 2 allocation <power-of-2-allocation>`, which has been
improved to better handle large document sizes. In 3.0, the
``usePowerOf2Sizes`` flag is ignored, so the power of 2 strategy is
used for all collections that do not have ``noPadding`` flag set.
For collections with workloads that consist only of inserts or in-place
updates (such as incrementing counters), you can disable the power of 2
strategy. To disable the power of 2 strategy for a collection, use the
:dbcommand:`collMod` command with the :collflag:`noPadding` flag or the
:method:`db.createCollection()` method with the ``noPadding`` option.
.. warning::
Do not set ``noPadding`` if the workload includes removes or any
updates that may cause documents to grow. For more information, see
:ref:`exact-fit-allocation`.
When low on disk space, MongoDB 3.0 no longer errors on all writes but
only when the required disk allocation fails. As such, MongoDB now
allows in-place updates and removes when low on disk space.
.. seealso:: :ref:`3.0-compatiblity-record-alloc`
.. _3.0-replica-sets:
Replica Sets
------------
.. _3.0-replica-sets-max-members:
Increased Number of Replica Set Members
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In MongoDB 3.0, replica sets can have up to 50
members. [#voting-members]_ The following drivers support the larger
replica sets:
- C# (.NET) Driver 1.10
- Java Driver 2.13
- Python Driver (PyMongo) 3.0
- Ruby Driver 2.0
- Node.JS Driver 2.0
The C, C++, Perl, and legacy PHP drivers, as well as the earlier versions of
the Ruby, Python, and Node.JS drivers, discover and monitor replica set
members serially, and thus are not suitable for use with large replica
sets.
.. [#voting-members] The maximum number of *voting* members remains at 7.
.. _3.0-replica-sets-step-down:
Replica Set Step Down Behavior Changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The process that a :term:`primary` member of a :term:`replica set`
uses to step down has the following changes:
- Before stepping down, :dbcommand:`replSetStepDown` will attempt to
terminate long running user operations that would block the primary
from stepping down, such as an index build, a write operation or a
map-reduce job.
- To help prevent rollbacks, the :dbcommand:`replSetStepDown` will wait
for an electable secondary to catch up to the state of the primary
before stepping down. Previously, a primary would wait for a
secondary to catch up to within 10 seconds of the primary (i.e. a
secondary with a replication lag of 10 seconds or less) before
stepping down.
- :dbcommand:`replSetStepDown` now allows users to specify a
``secondaryCatchUpPeriodSecs`` parameter to specify how long the
primary should wait for a secondary to catch up before stepping
down.
.. _3.0-replica-sets-operational-changes:
Other Replica Set Operational Changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Initial sync builds indexes more efficiently for each collection and
applies oplog entries in batches using threads.
- Definition of :ref:`w: "majority" <wc-w>` write concern changed to
mean majority of *voting* nodes.
- Stronger restrictions on
:doc:`/reference/replica-configuration`. For details, see
:ref:`3.0-compatibility-repl-set-config`.
- For pre-existing collections on secondary members, MongoDB 3.0 no
longer automatically builds missing ``_id`` indexes.
.. seealso:: :ref:`3.0-compatibility-rs` in
:doc:`/release-notes/3.0-compatibility`
.. _3.0-sharded-clusters:
Sharded Clusters
----------------
MongoDB 3.0 provides the following enhancements to sharded clusters:
- Adds a new :method:`sh.removeTagRange()` helper to improve management
of sharded collections with tags. The new
:method:`sh.removeTagRange()` method acts as a complement to
:method:`sh.addTagRange()`.
- Provides a more predictable read preference behavior.
:binary:`~bin.mongos` instances no longer pin connections to members of
replica sets when performing read operations. Instead,
:binary:`~bin.mongos` reevaluates :doc:`read preferences
</core/read-preference>` for every operation to provide a more
predictable read preference behavior when read preferences change.
- Provides a new ``writeConcern`` setting to configure the :doc:`write
concern </reference/write-concern>` of chunk migration operations. You can
configure the ``writeConcern`` setting for the :ref:`balancer
<sharded-cluster-config-secondary-throttle>` as well as for
:dbcommand:`moveChunk` and :dbcommand:`cleanupOrphaned` commands.
- Improves visibility of balancer operations. :method:`sh.status()`
includes information about the state of the balancer. See
:method:`sh.status()` for details.
.. seealso:: :ref:`3.0-compatibility-sharded-cluster` in
:doc:`/release-notes/3.0-compatibility`
Security Improvements
---------------------
MongoDB 3.0 includes the following security enhancements:
- MongoDB 3.0 adds a new :ref:`SCRAM-SHA-1
<authentication-scram-sha-1>` challenge-response user authentication
mechanism. ``SCRAM-SHA-1`` requires a driver upgrade if your current
driver version does not support ``SCRAM-SHA-1``. For the driver
versions that support ``SCRAM-SHA-1``, see
:ref:`considerations-scram-sha-1-drivers`.
- Increases restrictions when using the :ref:`localhost-exception` to
access MongoDB. For details, see :ref:`3.0-compatibility-localhost`.
.. seealso::
:ref:`3.0-compatibility-security-changes`
Improvements
------------
New Query Introspection System
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MongoDB 3.0 includes a new query introspection system that provides an
improved output format and a finer-grained introspection into both
query plan and query execution.
For details, see the new :method:`db.collection.explain()` method and
the new :dbcommand:`explain` command as well as the updated
:method:`cursor.explain()` method.
For information on the format of the new output, see
:doc:`/reference/explain-results`.
.. _3.0-logging-improvements:
Enhanced Logging
~~~~~~~~~~~~~~~~
To improve usability of the log messages for diagnosis, MongoDB
categorizes some log messages under specific components, or operations,
and provides the ability to set the verbosity level for these
components. For information, see :doc:`/reference/log-messages`.
.. _3.0-tools-enhancements:
MongoDB Tools Enhancements
~~~~~~~~~~~~~~~~~~~~~~~~~~
All MongoDB tools except for ``mongosniff`` and
``mongoperf`` are now written in Go and maintained as a separate
project.
- New options for parallelized :binary:`~bin.mongodump` and
:binary:`~bin.mongorestore`. You can control the number of collections
that :binary:`~bin.mongorestore` will restore at a time with the
``--numParallelCollections`` option.
- New options ``-excludeCollection`` and
``--excludeCollectionsWithPrefix`` for :binary:`~bin.mongodump` to
exclude collections.
- :binary:`~bin.mongorestore` can now accept BSON data input from standard
input in addition to reading BSON data from file.
- :binary:`~bin.mongostat` and :binary:`~bin.mongotop` can now return output
in JSON format with the ``--json`` option.
- Added configurable :term:`write concern` to :binary:`~bin.mongoimport`,
:binary:`~bin.mongorestore`, and :binary:`~bin.mongofiles`. Use the
``--writeConcern`` option. The default writeConcern has been
changed to 'w:majority'.
- :binary:`~bin.mongofiles` now allows you to configure the GridFS prefix
with the ``--prefix`` option so that you can use custom namespaces
and store multiple GridFS namespaces in a single database.
.. seealso:: :ref:`3.0-compatibility-tools`
Indexes
~~~~~~~
- Background index builds will no longer automatically interrupt if
:dbcommand:`dropDatabase`, :dbcommand:`drop`,
:dbcommand:`dropIndexes` operations occur for the database or
collection affected by the index builds. The
:dbcommand:`dropDatabase`, :dbcommand:`drop`, and
:dbcommand:`dropIndexes` commands will still fail with the error
message ``a background operation is currently running``, as in 2.6.
- If you specify multiple indexes to the :dbcommand:`createIndexes`
command,
- the command only scans the collection once, and
- if at least one index is to be built in the foreground, the
operation will build all the specified indexes in the foreground.
- For sharded collections, indexes can now :ref:`cover queries
<read-operations-covered-query>` that execute against the
:binary:`~bin.mongos` if the index includes the shard key.
.. seealso::
:ref:`3.0-compatibility-indexes` in
:doc:`/release-notes/3.0-compatibility`
Query Enhancements
~~~~~~~~~~~~~~~~~~
MongoDB 3.0 includes the following query enhancements:
- For geospatial queries, adds support for "big" polygons for
:query:`$geoIntersects` and :query:`$geoWithin` queries. "Big"
polygons are single-ringed GeoJSON polygons with areas greater than
that of a single hemisphere. See :query:`$geometry`,
:query:`$geoIntersects`, and :query:`$geoWithin` for details.
- For :method:`~db.collection.aggregate()`, adds a new
:expression:`$dateToString` operator to facilitate converting a date
to a formatted string.
- Adds the :query:`$eq` query operator to query for equality conditions.
.. seealso:: :ref:`3.0-geo-near-compatibility`
Distributions and Supported Versions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Most non-Enterprise MongoDB distributions now include support for TLS/SSL.
Previously, only MongoDB Enterprise distributions came with TLS/SSL support
included; for non-Enterprise distributions, you had to build MongoDB
locally with the ``--ssl`` flag (i.e. ``scons --ssl``).
32-bit MongoDB builds are available for testing, but are not for
production use. 32-bit MongoDB builds do not include the WiredTiger
storage engine.
MongoDB builds for Solaris do not support the WiredTiger storage
engine.
MongoDB builds are available for Windows Server 2003 and Windows Vista
(as "64-bit Legacy"), but the minimum officially supported Windows
version is Windows Server 2008.
.. seealso::
:ref:`3.0-compatibility-platform-support`
Package Repositories
~~~~~~~~~~~~~~~~~~~~
.. include:: /includes/extracts/fact-3.0-linux-package-repo-relnotes.rst
MongoDB Enterprise Features
---------------------------
Auditing
~~~~~~~~
:doc:`/core/auditing` in MongoDB Enterprise can filter on :doc:`any
field in the audit message </reference/audit-message>`, including the
fields returned in the :ref:`param <audit-action-details-results>`
document. This enhancement, along with the
:parameter:`auditAuthorizationSuccess` parameter, enables auditing to
filter on CRUD operations. However, enabling
:parameter:`auditAuthorizationSuccess` to audit of all authorization
successes degrades performance more than auditing only the
authorization failures.
Additional Information
----------------------
Changes Affecting Compatibility
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. class:: hidden
.. toctree::
/release-notes/3.0-compatibility
Some changes in 3.0 can affect :doc:`compatibility
</release-notes/3.0-compatibility>` and may require user actions. For a
detailed list of compatibility changes, see
:doc:`/release-notes/3.0-compatibility`.
Upgrade Process
~~~~~~~~~~~~~~~
.. class:: hidden
.. toctree::
/release-notes/3.0-upgrade
/release-notes/3.0-scram
/release-notes/3.0-downgrade
See :doc:`/release-notes/3.0-upgrade` for full upgrade instructions.
Download
~~~~~~~~
To download MongoDB 3.0, go to the `downloads page`_.
.. _`downloads page`: http://www.mongodb.org/downloads
.. seealso::
- `All Third Party License Notices <https://github.com/mongodb/mongo/blob/v3.0/distsrc/THIRD-PARTY-NOTICES>`_.
- `All JIRA issues resolved in 3.0 <http://bit.ly/1CpOu6t>`_.