Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-7218

ARIA, “File size bigger than expected”

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 5.5.40
    • Fix Version/s: None
    • Component/s: Storage Engine - Aria
    • Labels:
      None
    • Environment:
      Gentoo Linux, x64

      Description

      On (only) my production server, whenever I wait a while and restart MariaDB, it completely crashes and burns, e.g.:

      141110 16:18:26 [Note] /usr/sbin/mysqld: Shutdown complete
      141110 16:18:26 [ERROR] mysqld: Got error 'File size bigger than expected' when trying to use aria control file '/var/lib/mysql/aria_log_control'
      141110 16:18:26 [ERROR] Plugin 'Aria' init function returned error.
      141110 16:18:26 [ERROR] Plugin 'Aria' registration as a STORAGE ENGINE failed.
      141110 16:18:26 InnoDB: The InnoDB memory heap is disabled
      141110 16:18:26 InnoDB: Mutexes and rw_locks use GCC atomic builtins
      141110 16:18:26 InnoDB: Compressed tables use zlib 1.2.8
      141110 16:18:26 InnoDB: Initializing buffer pool, size = 1.0G
      141110 16:18:26 InnoDB: Completed initialization of buffer pool
      141110 16:18:26 InnoDB: highest supported file format is Barracuda.
      141110 16:18:26  InnoDB: Waiting for the background threads to start
      141110 16:18:27 Percona XtraDB (http://www.percona.com) 5.5.40-MariaDB-36.1 started; log sequence number 18387624831
      141110 16:18:27 [ERROR] Aria engine is not enabled or did not start. The Aria engine must be enabled to continue as mysqld was configured with --with-aria-tmp-tables
      141110 16:18:27 [ERROR] Aborting
      141110 16:18:27  InnoDB: Starting shutdown...
      141110 16:18:28  InnoDB: Shutdown completed; log sequence number 18387624831
      141110 16:18:28 [Note] /usr/sbin/mysqld: Shutdown complete
      

      Endlessly. Indeed:

      $ ls -l /var/lib/mysql/aria*
      -rw-rw---- 1 mysql mysql      40960 Nov 10 16:03 /var/lib/mysql/aria_log.00000001
      -rw-rw---- 1 mysql mysql 2554299001 Nov 10 16:03 /var/lib/mysql/aria_log_control
      

      It's large. I don't use ARIA, at least not on purpose. Apparently it was built with "--with-aria-tmp-tables" and I see no way to control that (at least via Gentoo Ebuild).

      Each time this happens, I just sudo rm /var/lib/mysql/aria* and get on with my life. But sometimes it takes me a while to realize it's happened. And I'd prefer it just not happen.

      Given, as mentioned, this only happens on my production server, I'd prefer to do as little destructive/interfering diagnostics as possible. Could someone guide me through the best steps to get the right information to diagnose this?

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            elenst Elena Stepanova added a comment -

            Sorry, right, I missed those completely. Thanks.

            Show
            elenst Elena Stepanova added a comment - Sorry, right, I missed those completely. Thanks.
            Hide
            elenst Elena Stepanova added a comment -

            Could you please paste the output of ls -l /dev/stdout* ?
            Thanks.

            Show
            elenst Elena Stepanova added a comment - Could you please paste the output of ls -l /dev/stdout* ? Thanks.
            Hide
            arantius Anthony Lieuallen added a comment -
            $ ls -l /dev/std*
            lrwxrwxrwx 1 root root 15 Nov 22 06:01 /dev/stderr -> /proc/self/fd/2
            lrwxrwxrwx 1 root root 15 Nov 22 06:01 /dev/stdin -> /proc/self/fd/0
            lrwxrwxrwx 1 root root 15 Nov 22 06:01 /dev/stdout -> /proc/self/fd/1
            
            Show
            arantius Anthony Lieuallen added a comment - $ ls -l /dev/std* lrwxrwxrwx 1 root root 15 Nov 22 06:01 /dev/stderr -> /proc/self/fd/2 lrwxrwxrwx 1 root root 15 Nov 22 06:01 /dev/stdin -> /proc/self/fd/0 lrwxrwxrwx 1 root root 15 Nov 22 06:01 /dev/stdout -> /proc/self/fd/1
            Hide
            elenst Elena Stepanova added a comment - - edited

            Interesting, thanks...
            It's just that, you said previously:

            The error log will go to stdout correctly. (I've just set it to /dev/stdout in my.cnf again and restarted to confirm.)

            But it should not work...
            As the bug http://bugs.mysql.com/bug.php?id=57690 says, if the file name has no extension, .err is added automatically. Only it's done not by mysqld_safe, but the server itself, and is even documented, e.g. here: http://dev.mysql.com/doc/refman/5.5/en/server-options.html#option_mysqld_log-error (and I indeed observe it being added).
            So, your error log should have gone to the file /dev/stdout.err. And if you saw it in the stdout would have meant that there was a link /dev/stdout.err pointing at /dev/stdout. But there is none...

            It does not seem directly related to the Aria control problem, just adds some more oddities to the whole thing.

            Show
            elenst Elena Stepanova added a comment - - edited Interesting, thanks... It's just that, you said previously: The error log will go to stdout correctly. (I've just set it to /dev/stdout in my.cnf again and restarted to confirm.) But it should not work... As the bug http://bugs.mysql.com/bug.php?id=57690 says, if the file name has no extension, .err is added automatically. Only it's done not by mysqld_safe, but the server itself, and is even documented, e.g. here: http://dev.mysql.com/doc/refman/5.5/en/server-options.html#option_mysqld_log-error (and I indeed observe it being added). So, your error log should have gone to the file /dev/stdout.err. And if you saw it in the stdout would have meant that there was a link /dev/stdout.err pointing at /dev/stdout. But there is none... It does not seem directly related to the Aria control problem, just adds some more oddities to the whole thing.
            Hide
            danblack Daniel Black added a comment -
            17:05 < mdih> @kolbe, sorry i was wrong, it was just about 800mb
            ...
            17:45 < danblack> mdih: if possibe on docker ls -la /proc/{pid}/fd is an alternate
            17:51 < mdih> @danblack: with the command above: got this result: lrwx------ 1 root  root  64 Sep 22 07:49 1 -> /var/lib/mysql/aria_log_control
            
            Show
            danblack Daniel Black added a comment - 17:05 < mdih> @kolbe, sorry i was wrong, it was just about 800mb ... 17:45 < danblack> mdih: if possibe on docker ls -la /proc/{pid}/fd is an alternate 17:51 < mdih> @danblack: with the command above: got this result: lrwx------ 1 root root 64 Sep 22 07:49 1 -> /var/lib/mysql/aria_log_control

              People

              • Assignee:
                elenst Elena Stepanova
                Reporter:
                arantius Anthony Lieuallen
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated: