Replication in 2009.Q3 and earlier was project-level only and explicitly disallowed replicating projects containing clones whose origin snapshots resided outside the project. With share-level replication in 2010.Q1 and later, this restriction has been relaxed, but administrators must still consider the origin snapshots of clones being replicated. In particular, the initial replication of a clone requires that the origin snapshot have already been replicated to the target or is being replicated as part of the same update. This restriction is not enforced by the ZFSSA management software, but attempting to replicate a clone when the origin snapshot does not exist on the target will fail.
In practice, there are several ways to ensure that replication of a clone will succeed:
If the clone's origin snapshot is in the same project, just use project-level replication.
If the clone's origin snapshot is not in the same project or if project-level replication that includes the origin is undesirable for other reasons, use share-level replication to replicate the origin share first and then use project-level or share-level replication to replicate the clone.
Do not destroy the clone's origin on the target system unless you intend to also destroy the clone itself.
In all cases, the "include snapshots" property should be true on the origin's action to ensure that the origin snapshot is actually sent to the target.