Vi brukade ha ett liknande problem på magento 1.7, det hände för att vi introducerade en "ny" typ av produkt som är ett paket med konfigurerbara produkter. I det här fallet hade vi några produkter som samtidigt var överordnade till vissa produkter och barn av några andra (paketet) på det sättet när _copyRelationIndexData anropades av reindexProductIds catalog_product_index_price_tmp-tabellen fylldes med några rader som tillhörde "sammansatta produkter" vilket orsakade "integritetsbegränsningsöverträdelsen" när reindexEntity kallas. :
protected function _copyRelationIndexData($parentIds, $excludeIds = null)
{
if(!is_null($excludeIds) && is_array($excludeIds)){
$excludeIds = array_merge($excludeIds,$parentIds);
}
return parent::_copyRelationIndexData($parentIds, $excludeIds);
}