I have submitted what I believe to be a bug to Amasty.
My awesome host in Nexcess was helping me through this.
Should something like this be fixed by the extension developer as a bug? Or is this a unique situation that they should not resolve?
Below is what I submitted-
I’m looking into this now and it seems the error on the frontend is being thrown due to it being unable to locate a product with ID 185656. What’s odd here is that’s neither of the product ID’s used in the relation, but it is the
row_id for product 144343:
type_id: simplehas_options: 0
created_at: 2020-03-20 21:51:46
updated_at: 2020-07-05 07:30:47
It looks like that value is obtained on line 59 of this file:
And the contents of that line is:
$productIds = $collection->getColumnValues($this->helper->getEntityNameDependOnEdition());
The getEntityNameDependOnEdition funciton is the key part here, as that will determine whether or not it uses row_id or entity_id. The problem here is that it decides to use row_id, and then later passes it to the getById function of the MagentoCatalogModelProductRepository class which expects an entity_id.
This looks to 100% be an issue with the plugin. I think the only reason this works on dev is there are a vast number of products on the dev site that have row_id and entity_id matching. Anything less than 101982 is an exact match and beyond that the difference between them is only 2. Adding and removing products frequently will change that quite a bit.