We're using MARIA for a project at Mozilla, and we're seeing massive table
corruption*, so I thought I'd start asking questions.
1. What are the defaults for the storage engine?
2. How do I know what engine version I'm running?
3. Why does MARIA appear to MVCC?
I look at my "show create table" output, and I see only "ENGINE=MARIA
DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1". What are the defaults from
http://askmonty.org/wiki/Manual:Maria_storage_engine that are applied?
What's the state of transactional, table_checksum, row_format?
I'm running "Server version: 5.1.44-MariaDB-mariadb75 (MariaDB -
http://mariadb.com/)" but "show engines" doesn't say what version of the
MARIA engine I'm running. Are the versions now tied to the MariaDB release?
I started two shells, and in one, I did "LOCK TABLES `wbo29` READ /*!32311
LOCAL */ ;" as mysqldump would do, then in another shell I began inserting
data. As I inserted it in the other shell, I could see it appear without
waiting on the first shell, and if I SELECT in the first shell, I don't see
the data inserted. After "UNLOCK TABLES" in the second shell, the data would
appear in the first. I can't find any documentation stating MARIA is
transactional yet (it says TRANSACTIONAL really translates to crash-safe),
so this confuses me.
At this point I'm under the gun and considering ALTERing all tables to
MyISAM to see if I can get some improved stability on the systems, but am
wondering if there are some less drastic changes I can do to keep using
MARIA engine. Preferably using only features that are more mature/tested.
* In case you are already familiar with our situation, this is different.
Before we would do mysqldump of many MARIA tables, then the server would
segfault, and several tables would be crashed afterward.
Now the server isn't segfaulting (or restarting at all), but we're still
seeing table corruption. The corruption manifests itself with messages in
the errorlog like this: "*100625 13:19:48 [ERROR] mysqld: Table 'wbo89' is
marked as crashed and should be repaired*" and "*100625 13:11:10 [Note]
Found 306922 of 306923 rows when repairing './weave1/wbo46'*"
When I repair tables, I see messages like this: "*weave5.wbo75 repair
info Wrong CRC on datapage at 21823*".
Queries against the tables will die with "sort aborted" errors.