Re: [pear-webmaster] MySQL table crashed today
[email protected] ("Daniel O'Connor") Mon, 31 Oct 2011 10:45:03 +1030
| Newsgroups | php.pear.webmaster |
|---|---|
| Message-ID | <CAJsZyFAdJ=P8fUex3MRO66UKF5aLRsL3w4y+tO712MJTF2C1gA@mail.gmail.com> |
On Thu, Oct 20, 2011 at 12:27 AM, Brett Bieber <[email protected]>wrote: > Users on #PEAR, and the pear mailing list, reported an error downloading > packages today. > > I logged into the server, and looked in the httpd error_log, and noticed > two > errors immediately: > > [Wed Oct 19 15:41:31 2011] [error] [client XXXXXX] PHP Fatal error: Call > to > a member function getLastActivity() on a non-object in > /var/www/html/pearweb/pear.php.net/public_html/bugs/report.php on line 480 > [Wed Oct 19 15:41:34 2011] [error] [client XXXXXX] pearweb errorhandler: DB > Error: unknown error... \n SELECT\n > packages.name, > releases.version, downloads,\n > downloads/(CEIL((unix_timestamp(NOW()) - > unix_timestamp(releases.releasedate))/86400)) as d\n FROM > releases, packages, aggregated_package_stats a\n > WHERE\n packages.name <> "pearweb" > AND\n packages.name <> "pearweb_phars" > AND\n packages.id = releases.package > AND\n packages.package_type = 'pear' > AND\n a.release_id = releases.id AND\n > a.package_id = packages.id AND\n packages.newpk_id IS > NULL AND\n packages.unmaintained = 0 > AND\n a.yearmonth = "2011-10-01 > 00:00:00"\n ORDER BY d DESC LIMIT 0, 5 [nativecode=145 ** > Table './pear/aggregated_package_stats' is marked as crashed and should be > repaired], referer: XXXXXXXX > > I stopped Apache, logged in as mysql root, and ran: > > repair table pear.aggregated_package_stats; > > After that, started Apache again, and the website appears to be functioning > correctly. > > It would appear that the package download statistics, which are stored in > the db, could interfere with package downloads in the event that the > database fails. Perhaps we should look into alternative ways of storing the > download statistics? Perhaps - but maybe there are better ways to go about fixing this. Frankly; I distrust myisam immensely. Provided the DB has innodb enabled as an engine; I think it's worth migrating all of the tables over to it - do test.pear.php.net first; then pear.php.net.