DESIGN OF SCHEME TO KEEP REMOTE, UNSYNCHRONIZED NGAS DB SYNCHRONIZED IN CASE OF REMOVAL OF FILE ENTRIES: ==================================================================== 2003-05-16, Jens Knudstrup o An XML document NgasRemoveStatus.xml is introduced, which contains 1. A list of all files deleted from the disk. 2. A list for each DB server/DB (. = ), indicating if the files were deleted from that DB. The lay-out of this NGAS Remove Status is as follows: ... ... ... This file is stored as: //NgasRemoveStatus.xml o When executing a REMDISK command on a disk, the NgasRemoveStatus.xml file is not be removed. o For each file being deleted, a small status document is generated in the directory: //staging/NgasRemoveStatus/ The format of this document is: The of these temporary files will be an ISO8601 timestamp + an unique index (extension: "xml"). A function will be provided which can merge these file removal status documents into the NgasRemoveStatus.xml in a secure way (i.e., no risk of losing information). o When executing a REMDISK command the "//staging/NgasRemoveStatus/" directory should not be removed. o When NG/AMS goes Online it is checked (by the Janitor Thread) if there are Removal Status Documents pending to be merged into NgasRemoveStatus.xml and if all files marked as deleted actually are deleted in the connected DB. Latter is checked by comparing the two lists in the NgasRemoveStatus.xml document. If entries are found to be deleted, these are deleted in the NGAS DB and Removal Status Documents created accordingly. o A synchronization scheme should be implemented to ensure that the Data Consistency Checking is not scheduled before the Janitor Thread has executed at least once to ensure that the DB is up to date before starting the checking to avoid that false error messages are being send out. o After a REMFILE or REMDISK command has been executed the Janitor Thread should be triggered to have the NgasRemoveStatus.xml file updated instantaneously. --- oOo ---