I saw this error today while updating a shop to Magento 1.9.1.0 while trying to re-index from the commandline using the indexer.php, turns out it was as easy to solve as just flushing the cache. In our case a redis-cli flushall but always make sure Magento didn’t spontaniously create a var/cache dir or even a dir in /tmp/, it likes to do that if your config is not rock solid.

4449_CE191BlogGraphic_r1v1

Another version of Magento (1.9.1.0) was released and this one promises some welcome fixes!

As always here’s a download link off my VPS which should be faster than the official download location:
https://robotsystematic.com//magento/magento-1.9.1.0.tar.gz
md5sum: 79ca01aa9736a402e68ec34361222b96 magento-1.9.1.0.tar.gz

The full release notes can be found here:
http://www.magentocommerce.com/knowledge-base/entry/ce19-later-release-notes

The most notable changes/fixes for me are:

  • Magento Community Edition 1.9.1 works with MySQL 5.6 and PHP 5.5
  • Improved product save performance with a large number of rule-based product relations.
  • Catalog price rule expiration dates are observed.
  • Improved indexing performance.
  • The Update on Save option works properly (reindexing is not required).

After importing lots of data into Magento I had problems reindexing. I had no experience with fixing indexing errors Magento before and digging through the EAV structure in MySQL is not something you look forward to. Turns out there was a pretty easy fix for this which basically makes sure that all the tables are actually linking to an existing product. If there is a link to a product that doesn’t exist (anymore) for some reason you can expect to see errors like:

It’s as easy as running the following SQL commands:

Original post where I found this:
http://stackoverflow.com/questions/8111889/cant-re-index-new-products-after-upgrading-to-version-1-6/19837851#19837851

Another nice little function I created during my import adventures where I had to add a simple to configurable product in Magento. I’m sure this will come in handy for someone..