Story #1793: Content checksums need to be verified after transfer
Verify checksums of content transferred during replication
Content transferred between member nodes during replication needs to be verified for byte transfer accuracy before committing the data store.
The checksum of the retrieved object should be computed and compared with the checksum reported in the system metadata for the object. An error should be raised if the checksums do not match.
#1 Updated by Ben Leinfelder over 9 years ago
- Status changed from New to Closed
in the create() method (currently shared by MN and CN implementations in Metacat) we are now computing the checksum on the object and comparing the computed value to the value specified in the system metadata. If they do not match, the call fails with an InvalidSystemMetadata exception.
We can only do this for InputStreams that support the mark() method so that we can return the object to its initial state after computing the checksum. Only a log warning is issued if the input stream does not support mark().