Bug #4182
sync is generating syncFailed on "empty updates"
100%
Description
In STAGE, objects reharvested generate syncFailed exceptions when there are no changes.
The reharvest treats the task as an update to the systemMetadata, and when it doesn't find a change in the two fields that are allowed to change, it assumes there is a change somewhere else, which would be disallowed, so generates a syncFailed. If nothing has changed, a syncFailed is still thrown.
Also, by visual inspection, the TransferObjectTask.updateSystemMetadata logic is inadequate in that it only updates either the obsoletedBy or the isArchived field, but not both, which seems to be possible with non-API changes to systemMetadata.
History
#1 Updated by Rob Nahf about 11 years ago
- Description updated (diff)
#2 Updated by Rob Nahf about 11 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
fixed TransferObjectTask.updatesystemMetadata logic to address both cases. (when both setObsoletedBy and archived have changed, and throwing an exception when objects are reharvested - it now checks that the dataSystemMetadataModified date is later than what the cn's have.