There's an issue when “Allow Taking Empty Snapshots” is disabled: On freenas-alpha there are the following datasets:
Since the last snapshot has been taken, data has been changed in /tank/a/b/foo. Nothing has changed in /tank/a/b, however. The dataset /tank/a is being recursively replicated to the second host freenas-beta. The issue: The new snapshot from tank/a/b/foo has not been replicated to freenas-beta, supposedly because there's no new snapshot in /tank/a/b.
Expected behaviour: If a dataset is recursively replicated I expect all snapshots from the source in this and all descendant datasets be replicated.
freenas-alpha: FreeNAS 11.3-U2
freenas-beta: FreeNAS 11.3-U2, receiving snapshots from freenas-alpha using PULL method