cn.synchronize should support synchronization failure corrections.
cn.synchronize(session, identifier) works well for its original purpose (supporting MN-driven system metadata updates, and MN-driven push synchronization), but doesn't seem to work for manual synchronization failure workflows. The main problem is that the request can only be made by the MN itself (using the MN client certificate).
As we envision a centralized dashboard for monitoring failed synchronization items, how do we address this situation?
The synchronization processing queue needs both the pid and a nodeId from where to retrieve the object. the NodeId is not specified directly in the method call, but gleaned from the session by a reverse lookup from the certificate. (It uses the first node found in the NodeList where the Node.subject field matches the certificate subject).
Should we allow node.contactSubjects into the algorithm?
Should we add nodeId as a parameter?