== Summary ==

I'd like to bring attention to our plan to deprecate support for
deduplicated send ("zfs send -D") and receive of these streams, in ZoL
0.8.4.  We plan to remove support for deduplicated send and receive in
OpenZFS 2.0, but add a utility that will convert dedup send streams to
normal streams that can still be received indefinitely.

== Motivation ==

This was originally proposed at the 2018 OpenZFS Developer Summit: video
<https://youtu.be/WvBURTKUy1o?t=5177>;  issue
<https://github.com/openzfs/zfs/issues/7887>

Dedup send can only deduplicate over the set of blocks in the send command
being invoked, and it does not take advantage of the dedup table to do so.
This is a very common misconception among not only users, but developers,
and makes the feature seem more useful than it is. As a result, when this
feature is used, it often provides little benefit.

Dedup send requires a nontrivial expenditure of memory and CPU to operate,
especially if the datasets being sent are not already using a
dedup-strength checksum.

Dedup send and receive add developer burden. It expands the test matrix
when developing new features, causing bugs in released code, and delaying
development efforts by forcing more testing to be done.

== Current Status ==

I am working on a performance improvement to "zfs receive" which will be
simpler if we don't have to handle receiving dedup send streams, so I'm
(finally) motivated to make this change.

I opened a PR to add deprecation messages to the zfs-send and zfs-receive
manpages, which are also output when running `zfs send -D` and `zfs receive`
of a dedup stream: https://github.com/openzfs/zfs/pull/10117

== Input Requested ==

I would like input on the exact CLI interface to the new utility that will
be used to convert a dedup send stream to normal ("redup"-ing it). The
initial proposed interface is: "zstreamredup [-v] DEDUP_STREAM_FILE | ..."
https://github.com/openzfs/zfs/issues/10124

Feel free to reply to this email or post comments on the above issues/PR's.

Thanks!
--matt

------------------------------------------
openzfs: openzfs-developer
Permalink: 
https://openzfs.topicbox.com/groups/developer/T79b8738ac215a639-Me84baa6bc97cad2b09b454b2
Delivery options: https://openzfs.topicbox.com/groups/developer/subscription

Reply via email to