[SERVER-36352] enable zstd compression support in MongoDB Created: 30/Jul/18  Updated: 29/Oct/23  Resolved: 27/Dec/18

Status: Closed
Project: Core Server
Component/s: Storage
Affects Version/s: None
Fix Version/s: 4.1.7

Type: New Feature Priority: Major - P3
Reporter: Asya Kamsky Assignee: Daniel Gottlieb (Inactive)
Resolution: Fixed Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File 36252.patch     Text File 36252_lz4_and_zstd.patch    
Issue Links:
Depends
depends on SERVER-38168 Vendor Zstandard library Closed
depends on SERVER-29219 Test and consider exposing different ... Closed
Documented
is documented by DOCS-12336 Docs for SERVER-36352: enable zstd co... Closed
Related
related to SERVER-31555 support zstd for network compression Closed
Backwards Compatibility: Fully Compatible
Sprint: Storage NYC 2018-12-31
Participants:
Case:

 Description   

Zstd is available in WiredTiger but cannot be configured as an option in MongoDB. This ticket is to track this functionality



 Comments   
Comment by Brian Lane [ 28/Jan/20 ]

Hi bartle,

With 3.4 going EOL this month, 3.6 is the oldest version we continue to support. At this point, 3.6 should really be getting important fixes and perf changes deemed critical enough to warrant backports. We also didn't backport this functionality to 4.0 for one of the main reasons you have highlighted.

Comment by David Bartley [ 25/Jan/20 ]

Is it possible to backport this to 4.0 and 3.6? I think we'd be ok with accepting that we'll be unable to downgrade to a minor release.

Comment by Githook User [ 27/Dec/18 ]

Author:

{'username': 'dgottlieb', 'email': 'daniel.gottlieb@mongodb.com', 'name': 'Daniel Gottlieb'}

Message: SERVER-36352: Enable zstd compression on WiredTiger journal and collection files.
Branch: master
https://github.com/mongodb/mongo/commit/c127c60bf8517eb00520f592f436076ffdf55e3a

Comment by Daniel Gottlieb (Inactive) [ 12/Dec/18 ]

That's good enough for me to proceed!

Comment by Brian Lane [ 12/Dec/18 ]

Since this is a new feature and we are not currently planning on backporting this, I was thinking we would document it as such stating that if you start using zstd in 4.2, you cannot downgrade to 4.0.x.

If you require to downgrade, then you would need to dump/restore.

Open to other suggestions as well though.

Comment by Daniel Gottlieb (Inactive) [ 12/Dec/18 ]

What's the downgrade story if a 4.0 binary comes across data files using zstd, but is incapable of reading the compressed data?

Comment by Brian Lane [ 12/Dec/18 ]

Hey daniel.gottlieb - now that SERVER-38168 has been completed can we get this patch updated and merged in?

Alex had added lz4 in the latest version - but we don't want to expose that - just zstd.

Generated at Thu Feb 08 04:42:51 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.