Hi,
I just had an experience with the same problem - the cause was simple, no space left on / partition.
This one is indeed a very hard exception to trace AND to catch.
Hector Virgen wrote:
Just following up on this issue.
I ended up subclassing Zend_Db_Table_Abstract to catch and ignore this
exception because it's not "critical". I'm not sure if there's a better
way around this, but several times a day I am receiving reports of valid
pages displaying an error message and they all trace back to this problem.
I think the original class is doing the right thing by throwing an
exception, but it's very difficult to catch without subclassing it.
Maybe it would help if there was an option we can pass in to
setDefaultMetadataCache() to ignore this type of exception? I think the
worst case scenario is the cache is not used and a "DESCRIBE [table]"
query is run.
Here's my current solution (keep in mind this feels more like a hack
than a solution):
<?php
class My_Db_Table extends Zend_Db_Table_Abstract
{
protected function _setupMetadata()
{
try {
return parent::_setupMetadata();
} catch (Exception $e) {
// Unable to save metadata
return false;
}
}
}