Project

General

Profile

Task #3787

Updated by Robert Waltz over 9 years ago

The current CN assumes that certain fields in system metadata are immutable, and so does not notice when those fields are updated. This can arise when, for example, the formatid of an object changes, which change the object from DATA to either METADATA or RESOURCE types, which means the object needs to be re-synced (for an example, see ticket #3719).

The CNCore.systemMetadataChanged call will be pushed to the CoordinatingNode from the MemberNode. Given the timing of the push call to systemMetadataChanged and the regular harvesting of content from the MemberNode, a race condition may appear
on the CN in which older data overwrites a newer update. Management of the sequence of regular synchronization harvesting and asychronous systemMetadataChanged will need to be designed for d1 processing and the cn rest interface.

To close this bug we need the following changes:

1) System metadata changes on the CN are detected when they are made and inspected to see if any operations need to be taken
2) if a new sync is required, the sync gets scheduled and executed, and the object is inserted into the CN metacat store as needed
3) metacat replication notices that the object needs to be replicated to the other CNs and does it
4) ensure order of synchronous and asynchronous sync events

Back

Add picture from clipboard (Maximum size: 14.8 MB)