2

The ARCHIVE storage engine is enabled by default on MariaDB 10.0, but no longer from 10.1.

Therefore, you get a DB unknown error when CiviCRM tries to create a logging db table when logging is active (admin=>system=>misc), for instance when creating a new custom field.

From MariaDB 10.1, the plugin needs to be specifically enabled, for example:

INSTALL SONAME 'ha_archive';

More on https://mariadb.com/kb/en/mariadb/archive/

2

My strong advice to you would be to change the tables to be anything but ARCHIVE. Even InnoDB would be fine and preferred over ARHCIVE. We've had a number of sites have their entire audit schema's become corrupt and its been down to the storage engine being ARCHIVE.

Also you'll probably want to add indexes into the audit schema otherwise you cant access the change log without waiting for minutes.

I think later versions of CiviCRM do not use ARCHIVE storage format by default

| improve this answer | |
  • ARCHIVE is indeed a corruption prone format which even can lead to site outages when things go bad. That said, it's worth mentioning here that switching to InnoDB may significantly increase storage requirements, since ARCHIVE is a compressed format, and InnoDB is not. – Chris Burgess Mar 26 '17 at 0:25
  • Thanks Chris, yes, you're right and worth noting. Its a much easier problem to solve though - trying to recover a corrupt ARCHIVE tables is a nightmare! – Parvez Saleh Mar 27 '17 at 9:33
  • Disks are cheap! Just need to be sure they have enough before ditching ☠ ARCHIVE – Chris Burgess Mar 27 '17 at 19:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.