Luca Cinquini and I found an issue with the ExpImpCatalog tool in the following scenario:
- Original src catalog is Lucene and thus uses string-based UUIDs for product identification
- Dest catalog is MySQL (DataSource-based) and numeric IDs are used for product identification
- Embedded catalogs are used for src and dest to speed things up
In the above scenario, on lines 251-253 in ExpImpCatalog, the core CAS metadata is removed, but never added back in. So, because of this, despite having a numeric product ID, we were seeing on our transient detection project which uses a PHP-Apache OODT balance based portal that keys off the CAS.ProductId met field (which previously was a string) that the web pages weren't loading.
This led me to investigate and find a bug in the ExpImpCatalog Tool. It's simple: If the dest catalog is an embedded mode catalog then we shouldn't remove the default CAS fields b/c server side extraction won't get called as it does when using URL-server mode based ExpImpCatalog imports with the source and dest URLs supplied.
I'll fix this shortly. The fix is simple: if embedded catalog mode, don't remove the CAS default fields.