When an rsync task completes successfully but issues non-fatal warnings during its run, the FreeNAS alert system flags this as an rsync failure and issues an alert resembling the following:
New alerts: * Rsync "PUSH" task for "/mnt/aPool/groupShare" failed.
Rsync can warn on certain non-fatal issues as it runs, but these conditions do not result in the rsync job aborting, and rsync will still run to completion under these conditions. One such example, commonly seen when running rsync on live filesystems, is when a file in the source filesystem has been catalogued as changed during rsync's initial scan for changed files, but that file has disappeared (through deletion, renaming, etc.) by the time rsync finally gets around to transferring the data for that file. In this case, rsync skips the missing file and continues with the rest of its run.
When these non-fatal warnings occur, rsync not only logs a message to stdout but also exits with a non-zero return code specific to each warning. Should a fatal error occur after a non-fatal warning occurs, rsync uses the return code of the more serious error so that warnings don't overshadow errors.
The rsync middleware plugin should whitelist rsync's non-fatal, non-zero exit codes to avoid sending failure alerts when rsync does not in fact fail.