mongomirror Changelog

mongomirror 0.10.0

Features and Improvements:

  • New option --noIndexRestore to omit indexes when migrating data.
  • New option --awsSessionToken to authenticate with an AWS IAM role.
  • MongoDB v4.4 is now available as both a source and destination database version.

Bug Fixes:

  • Improved error handling when a URI connection string is given for the --host option.

mongomirror 0.9.1

Features and Improvements:

  • Improve initial sync performance for WiredTiger sources.

mongomirror 0.9.0

Features and Improvements:

  • New --compressors option for network compression (enabled by default).
  • New --collStatsThreshold option to disable collStats when a specified number of collections is exceeded.
  • Build indexes for largest collections first.
  • Restart oplog buffering between collection copying and index building.
  • Improve oplog batch flushing to minimize small batches.
  • The default log level now logs when indexes start building.

Bug Fixes:

  • Remove support for the --readPreference option. mongomirror must always read from the primary.

mongomirror 0.8.0

Features and Improvements:

  • Initial sync inserts batch up to 100k documents instead of 1000.
  • Increase applyOps batch size.

Bug Fixes:

  • Oplog buffering errors handling oplog entries over 16MB.
  • Disable socket timeout.
  • Initial sync client must not do primary detection for direct connections.

mongomirror 0.7.0

Features and Improvements:

  • Upgrade to Go driver 1.1.1.
  • Add support for MongoDB 4.2.
  • Send writeConcern with collMod when the destination cluster is version 3.6+.
  • Remove legacy extended JSON usage.

Bug Fixes:

  • Use direct connection to source cluster when replica set name isn’t provided.
  • Authorization error on local database reading oplog from initial sync source.
  • Regression: non-transaction op processed as transaction op.
  • Catch QuitNotifier in applyOplogEntries.
  • Change lag calculation to avoid collection scans.
  • Oplog cursor is restarted instead of tailing on empty batch.

mongomirror 0.6.0


mongomirror version 0.6.0 was withdrawn and is no longer available.

MongoDB Support:

  • Adds support for MongoDB 4.2 as a destination only

Bug fixes:

  • Windows executable should have .exe suffix

Features and Improvements:

  • Migrate and sync a subset of databases/collections (BETA)
  • Remove --tailOnly parameter
  • Now using the MongoDB Go driver
  • Upgrade to Go 1.12

mongomirror 0.5.2

Features and Improvements:

  • Import collections in descending order of collection size to prevent one large collection from blocking completion.
  • Distinguish between can't connect and is not a replica set errors.
  • noCursorTimeout now prevents timeouts when syncing large collections.

Bug fixes:

  • Error while applying oplog entries to the destination: E11000 duplicate key error.
  • Recovery after CannotCreateIndex errors.

mongomirror 0.5.1

This release fixes a bug regarding bad index hints for capped collections.

mongomirror 0.5.0

This release adds the following features and improvements:

  • Support for buffering the oplog to disk during initial sync. This ensures that the source oplog will not run out of space during the migration process. For more information, see the documentation for the new --oplogPath command line option.
  • Use Go-native TLS on Windows (instead of OpenSSL 1.0.2n).
  • Upgrade to Go 1.11 (from 1.8).
  • mongomirror now removes the background flag from all indexes it creates. Background indexes created on the source cluster will be created as foreground indexes on the destination cluster. For more information on foreground index builds, see Index Build Operations on a Populated Collection.

mongomirror 0.4.1

This release fixes an installation error on some Windows hosts.

mongomirror 0.4.0

This release adds support for MongoDB 4.0 as both a source and destination for mongomirror.

mongomirror 0.3.1

This release adds the following features and improvements:

  • Support for MongoDB 4.0 as a destination only for mongomirror.
  • Support for tolerating elections and network errors on the destination during initial sync.
  • Support for syncing “system.js” collections.
  • Use Go-native TLS on MacOS (instead of OpenSSL 0.9.8).
  • mongomirror should ignore no-ops when reporting the latest oplog timestamp.

This release also removes support for Debian 7. Debian 7 is EOL and is not supported by MongoDB 4.0.