MNodeService.replicate will not request new object if existing on MN
Discovered during auditing testing:
MNodeService.replicate first attempts to retrieve a local copy of the object. If found locally, replicate is not called. Checksum is then calculated against the object. If invalid, ServiceFailure is thrown. This effectively prevents the CN from asking a MN to re-replicate a replica that is invalid.
I think the same thing happens if a local id exists but the object is not found. This could be the situation where the MN has deleted the object bytes but still has the metadata? Preventing the CN from asking this MN to re-replicate the object.
#1 Updated by Skye Roseboom almost 10 years ago
I think this is a low priority issue at the moment. Current strategy in ReplicationManager will avoid attempting to place a new replica copy on a MN with an invalid copy of the object. Might become more of an issue in the future.
However, this may be a policy issue for member node implementations - as to what the expectations of the replicate service are when the object is already on the member node (but with invalid checksum or maybe actually NotFound).