When running StagingProp with APAR JR42158
installed (or if you are on Fix Pack 6 that includes this APAR), you might run into an error similar to this:
20121113-133025| --> Preparing to propagate table: [catentrel]; scope: [merchant]; filter: [<none>]
20121113-133029| Attempting propagation of upto 1 rows
20121113-133029| Phase: Fetch (UPDATE) ...
20121113-133249| Phase: Propagation ...
20121113-133249| <warning> Operation: U; Data not found on staging database for proceeding records:
STGRFNBR| catentry_id_parent| catentry_id_child|catreltype_id
10856978| 181702| 188312|PRODUCT_ITEM
10856984| 181609| 187597|PRODUCT_ITEM
10919088| 194567| 195056|PRODUCT_ITEM
The warning above indicates that there is meta-data in the STAGLOG table (identified by the primary-key values that are subsequently listed) that is to be propagated to the production database as an "UPDATE" operation. Ideally, a warning of this form should not show up, as this describes some sort of inconsistency on the staging database, i.e., the staging triggers for the staged table (the "catenrel" table in this case) have logged some data to be moved across in the STAGLOG table, but upon invocation of StagingProp, this data doesn't appear to physically exist in the actual table.
These kinds of errors usually manifest if:
- Staging triggers are disabled and some sort of scrubbing of tables is done (consequently, the scrubbing "operations" are not tracked in the STAGLOG table because of the trigger disablement)
- Primary-key updates are performed (which are currently not supported by stagingprop)
To clean up your Staging database, you can follow these steps:
- Change the status for the STGPROCESSED column to -5 for the failing records. This will set aside any "update", i.e,. 'U', or "insert", i.e,. 'I', meta-data records in the STAGLOG table associated with the problematic table that have been marked as "ready for propagation", but do not have the actual corresponding physical rows in the problematic table. You can find the ID's of these records by looking at the log file generated by stagingprop. Look below the line that reads "Data not found on staging database for proceeding records:"
- Backup the log file generated by stagingprop and take a backup of your staging database. Re-run stagingprop to process any other outstanding records and see whether it runs successfully.
- Go back to the log and find the primary-key values that were previously problematic. Compare these records in the staging database against your other environments to see if any differences are there. I would check a handful of records to help get a sense as to where the missing/correct data actually is.
- Based on what you find in #3, you may need to re-run your data feed utility to update your staging database again with the correct product information.
Once you have followed the steps above, this warning should not be logged again when you run StagingProp.