Magento: Why SOLR indexation suddenly stopped working

We welcome any suitable alternatives to the solution being discussed here.

We are using Solr in our latest Magento EE project. While running the periodic index updates using Magento’s native CLI indexer (shell/indexer.php) we realized that there was suddenly no data being sent to Solr. Routine test on Solr’s side didn’t reveal any issues; the server was up and running and Magento (Admin > System > Catalog > Catalog Search > Test connection) was showing successful connection.

Analyzing Magento’s and Solr’s logs didn’t provide any clues on what might be happening except it turned out that the indexing process hung right after the index cleanup. Since there was no recent change in the code or server settings the logical conclusion was the database. Tracing Magento code starting from shell/indexer.php took us all the way down to lib/Zend/Db/Statement/Pdo.php:

public function _execute(array $params = null)
{
    try {
        if ($params !== null) {
            return $this->_stmt->execute($params);
        } else {
            return $this->_stmt->execute();
        }
    } catch (PDOException $e) {
        #require_once 'Zend/Db/Statement/Exception.php';
        throw new Zend_Db_Statement_Exception($e->getMessage(), (int) $e->getCode(), $e);
    }
}

The problem emerged at line 5 where PDO::execute() method is called from $this->_stmt PDO object. As per PHP documentation this function returns true/false but in this case it just did nothing. It turned out that there was a deadlock on one of the tables that prevented execute() from retrieving data and passing it to Solr.

Have you faced a similar issue? What was your solution for that?

Software used:
MagentoEE-1.10.1.1
Solr-3.3.0

About Nosheen

I am a writer, reader, and a part time adventure and travel enthusiast. The other three things that vie for my mind share are dark chocolate, coffee, and photography. I am highly motivated by user perspectives and addressing the common human experience when I write.
This entry was posted in All Posts, Magento and tagged , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

Enter Captcha Here : *

Reload Image