synchronization should respond to various MN down conditions to avoid syncFailures
Currently, synchronization does heed the Node.status='DOWN' in harvesting, but this is limited, especially when there are long delays between harvest and processing. tDAR uses HTTP 502 / 503 responses (not sure which) to signal that the node is temporarily down, for example. Also, for network segregation events, where a node cannot even be reached, synchronization should halt processing - the member node cannot even be notified of sync failures in these situations.
Thoughts on implementation would be adding Observer pattern to libclient (and/or NodeComms in synchronization) so the task can be tried again at a later time. Also try to read the Retry-After header with 503 responses.