Replication jobs want to run from scratch if a dataset is removed from the job

I’ve run into this a couple of times now.

Example has a pool with 2 Datasets, A and B.

There is a snapshot task for A and a snapshot task for B.

There is a single replication task, with A and B ticket in the source selections (no recurse) and their respective snapshot tasks as triggers.

I no longer wish to replicate A. So I deselect it in the replication task and remove the snapshot task from the triggers.

I remove the dataset from the target.

The replication job now fails with

It feels like the act editing the job is making it behave like a freshly created one. The snapshots for B are still present on the target side so the error ‘does not have snapshots’ is incorrect.

I think the first time I ran into this I was going the other way, adding an additional dataset to the rep job.

On that occasion, I enabled the ‘from scratch’ and it re-replicated all of the data and created duplicate snapshots, although they the reported to be a snapshot of the pool, not the dataset (didn’t show up in the TrueNAS UI, I had to zfs destroy them from the shell).

Looks like I didn’t understand the ‘code’ formatting on this BB and now I can’t see an edit…

Error is:

Target dataset ‘Pool/DatasetB’ does not have snapshots but has data (e.g. ‘DatasetB’ and replication from scratch is not allowed. Refusing to overwrite existing data.