I've been running several quite large Percona installations(DB size over 100Gb) for several months already on some pretty busy projects. It runs just fine(even not sharded) except the fact once(or twice) a month the server crashes with "Database page corruption on disk or a failed InnoDB: file read of page XXXX". I kind of got used to this since I have no idea why it happens(I've changed several servers, tried different kernel versions), so I have to live with this reality.
The question is whether it's possible to make InnoDB not crash the server upon this error but rather log this error and return a error code to the client? The log watcher would report it to me and I'd take some neccessary actions(e.g switch the master to the replica and investigate the corruption).
My application is a game where several thousands can be playing online. Corruption errors usually happen for a single player and it would be nice to make the game temporarily unavailable for this particular player than for all of them.
> The question is whether it's possible to make InnoDB not crash the > server upon this error but rather log this error and return a error > code to the client? The log watcher would report it to me and I'd take > some neccessary actions(e.g switch the master to the replica and > investigate the corruption).
On Thu, Jun 2, 2011 at 4:16 PM, Morgan Tocker <toc...@gmail.com> wrote: >> The question is whether it's possible to make InnoDB not crash the >> server upon this error but rather log this error and return a error >> code to the client? The log watcher would report it to me and I'd take >> some neccessary actions(e.g switch the master to the replica and >> investigate the corruption).
We may have some improvements to this feature soon. It will provide better error handling and also you will be able to execute SELECT from corrupted tables ( to be able to store at least some data)
On Thu, Jun 2, 2011 at 6:46 AM, Pavel Shevaev <pacha.shev...@gmail.com> wrote: > On Thu, Jun 2, 2011 at 4:16 PM, Morgan Tocker <toc...@gmail.com> wrote: >>> The question is whether it's possible to make InnoDB not crash the >>> server upon this error but rather log this error and return a error >>> code to the client? The log watcher would report it to me and I'd take >>> some neccessary actions(e.g switch the master to the replica and >>> investigate the corruption).
> -- > You received this message because you are subscribed to the Google Groups "Percona Discussion" group. > To post to this group, send email to percona-discussion@googlegroups.com. > To unsubscribe from this group, send email to percona-discussion+unsubscribe@googlegroups.com. > For more options, visit this group at http://groups.google.com/group/percona-discussion?hl=en.
On Fri, Jun 3, 2011 at 2:27 AM, Vadim Tkachenko <va...@percona.com> wrote: > Pavel,
> We may have some improvements to this feature soon. > It will provide better error handling and also you will be able > to execute SELECT from corrupted tables ( to be able to store at least > some data)
That would be a killer feature for large databases, seriously!