Skip to content

Percona Server for MongoDB 7.0.2-1 (Release Candidate) (2023-10-05)

Installation

We are pleased to announce the release candidate of the new major version of Percona Server for MongoDB 7.0.2-1 – the drop in replacement for MongoDB Community Edition. Percona Server for MongoDB supports MongoDB community protocols and drivers and enhances it with the enterprise-grade features for free, enabling you to effectively meet the requirements of your organization in terms of high-availability, reliability and data security.

Warning

We don’t recommend this version for production use due to the issue with routing sharding time series collections SERVER-80203 which could result in metadata inconsistency. The routing issue is observed when documents have the shard key containing the embedded object composed of multiple fields.

The issue affects time series sharded collections starting in MongoDB version 5.0.6 through versions 5.0.21, 6.0.11 and 7.0.2. It is fixed upstream in versions 5.0.22, 6.0.12 and 7.0.4 and included in Percona Server for MongoDB 5.0.22-19, 6.0.12-9 and 7.0.4-2.

If you are using time series collections, upgrade to the fixed version of MongoDB / Percona Server for MongoDB as soon as possible and follow closely the upstream recommendations outlined in SERVER-80203 for remediation steps.

Upgrade considerations

Starting with version 7.0, Percona Server for MongoDB enables journaling by default. Both the storage.journal.enabled configuration option and the corresponding --journal, --no-journal command-line options are now ignored. You receive the corresponding warning during the server start after the upgrade. To get rid of this warning, change your configuration to remove the journaling options. See the upgrade guide for exact procedure.

Release Highlights

MongoDB 7.0 introduces a lot of major changes. We recommend testing it on staging environments before using it in production. The features and improvements in MongoDB 7.0 are focused on the following main areas:

Streamlined development process

  • Using the new system variable $USER_ROLES you can build a single dynamic view instead of multiple static views to control access to data depending on the user’s roles and permissions.
  • Compound wildcard indexes enable you to filter documents that have common but not identical attributes. You can build a compound wildcard index on an always-present field as well as on one or more arbitrary fields thus reducing the number of indexes on a collection. This also simplifies coding of your application to work with such collections.
  • You can now selectively delete one or more documents within time series collections. Partial TTL indexes enable you to age out your data in a more controlled way.
  • The new $percentile, $median and bitwise aggregation operators improve processing and operation with the stats data.
  • The fsync is now added for mongos to be used more in sharded clusters and for making backups.

Optimized performance

  • Added support for processing large documents for event-driven solutions: you can now split the change streams events that exceed 16MB into fragments and then put them together to process as a whole.
  • New commands analyzeShardKey and configureQueryAnalyzer for sharded collections help you evaluate the shard key in terms of best read and write distribution.
  • The AutoMerger now merges contiguous chunks that reside on the same shard. This reduces the sharding table, avoids unnecessary chunk migrations and improves overall performance. The AutoMerger is enabled by default.
  • The findOne, updateOne and deleteOne command behavior is now aligned for both sharded and unsharded collections. This allows you to run these commands without having to target a specific shard. This comes handy when you need to update documents on multiple shards and you don’t know exactly on what shard the data resides.

Security

  • Improve security and safety of your sensitive data with queryable encryption. This mechanism enables you to encrypt/decrpyt the data on the client side, store it as encrypted on the database and run queries against the encrypted data. This way your data remains encrypted and secure throughout its whole lifecycle. The community edition supports explicit encryption only.
  • SSL 3.0 is the default standard ensuring you to use the latest security standards

Other improvements include the following:

  • SERVER-71627 - Improved performance of updating the routing table and prevented blocking client requests during refresh for clusters with 1 million of chunks
  • SERVER-77183 - Fixed incorrect results when $project is followed by $group and the group doesn’t require full document
  • SERVER-74954 - Fixed the issue with the incorrect output for the query where the $or operator rewrites the $elemMatch extra condition.
  • SERVER-79771 - Made Resharding Operation Resilient to NetworkInterfaceExceededTimeLimit
  • SERVER-79982 - Fixed the issue with possibel server crash and data inconsistency when returning the results of the find command by timestamp monitor to take global lock when cleaning up batched catalog writers
  • SERVER-80488 - Avoided traversing routing table in balancer split chunk policy
  • SERVER-78150 - Implemented the mongos fsyncUnlock command
  • SERVER-79025 - Added the ability for mongos to unlock the locked shards using its fsync Unlock functionality.

Packaging changes

Percona Server for MongoDB 7.0.2-1 is available on Debian 12 (bookworm) in addition to other supported platforms.

Get expert help

If you need assistance, visit the community forum for comprehensive and free database knowledge, or contact our Percona Database Experts for professional support and services.