A problem has been found with the index file created and stored when loading data into Content Manager OnDemand. If the documents being loaded span more than a single storage object, the index file is corrupted. The results become unpredictable when you use the Load ID to retrieve documents.
No data is lost and the all data can be retrieved by the OnDemand clients.
The Index files that are getting stored with the document data objects in cache and Tivoli Storage Manager (TSM) are corrupt in Content Manager OnDemand V8.5. The corruption occurs if the load spans more than a single storage object during the load.
No customer data is lost and all the data can be retrieved using the clients, APIs, or an SQL query.
The problem affects the arsdoc commands that specify the load_id as a parameter for retrieval, for example the arsdoc get, query, print, cfsod_fed, hold_add, and hold_release commands. You can also use an SQL query as a work-around.
The problem also affects full report browse. The administration client uses that index file to retrieve the rest of the documents. There is no work around.
You cannot repair the index file. You must extract the documents using an SQL query and reload the data.
The SQL query for the arsdoc commands needs the unique doc_name from the Load Id and you must supply the start and stop dates as segment dates to the arsdoc command.
A Load ID contains the following fields: agid-nid-sid-doc_name-start_date-stop_date; where agid = the Application Group Identifier, nid = primary node id, sid = secondary node id, doc_name = the unique document identifier for the load, start_date = the OnDemand internal value for the starting segment date in the load, and stop_date = the OnDemand internal value for the ending date in the load.
You can use the arsdate -a command to convert the OnDemand internal values to actual dates.
If you were attempting to retrieve a load with the arsdoc get -X command:
arsdoc get -h ARCHIVE -G MyAppGrp -X 18-1-0-12FAA-14554-14560 -c -o MyLoad_12FAA
You can also use the arsdoc get command:
arsdoc get -h ARCHIVE -G MyAppGrp -i "WHERE doc_name LIKE '12FAA%'" -c -o MyLoad_12FAA -S 11/05/09,11/11/09
Where the start and stop dates are determined using the arsdate command:
14554 -> 11/05/09
14560 -> 11/11/09