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

tablespace does not exist or is just being dropped

    Details

      Description

      why can't there be a simple starup option to cleanup that orpahned references at startup one for all instead need to consider dump and re-create the whole server?

      in 2009 mysqld crahsed due 'alter table' (files-per-table) and temporary files where left, after they did not change their timestamp for days i deleted them and the warnings started - to get rid of them i created a table with the same structure and named them identically

      with 10.1.x the slightly mismatch leads to crash the server at startup, see below

      removing that files and mysqld starts again but eevery time with the warning the the file does not exist and https://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting-datadict.html is not helpful

      MariaDB [dbmail]> drop table `#sql2-704-271`;
      ERROR 1051 (42S02): Unknown table 'dbmail.#sql2-704-271'
      MariaDB [dbmail]> drop table `#dbmail##sql2-704-271`;
      ERROR 1051 (42S02): Unknown table 'dbmail.#dbmail##sql2-704-271'
      MariaDB [dbmail]> drop table `##sql2-704-271`;
      ERROR 1051 (42S02): Unknown table 'dbmail.##sql2-704-271'
      MariaDB [dbmail]>
       
      MariaDB [dbmail]> drop table `#mysql50##sql2-704-271`;
      ERROR 1051 (42S02): Unknown table 'dbmail.#mysql50##sql2-704-271'
      MariaDB [dbmail]> 
       
      MariaDB [dbmail]> SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE '%#sql%';
      +----------+----------------------+------+--------+-------+-------------+------------+---------------+
      | TABLE_ID | NAME                 | FLAG | N_COLS | SPACE | FILE_FORMAT | ROW_FORMAT | ZIP_PAGE_SIZE |
      +----------+----------------------+------+--------+-------+-------------+------------+---------------+
      |      672 | dbmail/#sql2-704-271 |   41 |      5 |   545 | Barracuda | Compressed |          8192 |
      +----------+----------------------+------+--------+-------+-------------+------------+---------------+
      1 row in set (0,00 sec) 
      

      that crap temp files never deleted are from years ago and a crash

      until now it was enough to keep that tempfiles, with 10.1.x mariadb don't start at all - how to get rid of that crap

      the idiotic warnings are one thing but the segfauls now...
      it's about a decade that it's not possible to cleanup such stuff

      http://grokbase.com/t/mysql/mysql/136kx5qp1w/how-can-i-drop-a-table-that-is-named-logs-sql-ib203-and-appeared-after-mysql-crash

      2017-01-23 22:01:27 139913013700928 [ERROR] InnoDB: Trying to do i/o to a tablespace which exists without .ibd data file. i/o type 10, space id 545, page no 0, i/o length 8192 bytes
      2017-01-23 22:01:27 7f40097b2940  InnoDB: Error: trying to access tablespace 545 page no. 0,
      InnoDB: but the tablespace does not exist or is just being dropped.
      2017-01-23 22:01:27 139913013700928 [ERROR] InnoDB: tablespace id is 545 in the data dictionary but in file ./dbmail/#sql2-704-271.ibd it is 690!
       
      2017-01-23 22:01:31 140380157278528 [ERROR] InnoDB: Trying to do i/o to a tablespace which exists without .ibd data file. i/o type 10, space id 545, page no 0, i/o length 8192 bytes
      2017-01-23 22:01:31 7faccd687940  InnoDB: Error: trying to access tablespace 545 page no. 0,
      InnoDB: but the tablespace does not exist or is just being dropped.
      InnoDB: Error: Unable to read tablespace 545 page no 0 into the buffer pool after 100 attempts
      InnoDB: The most probable cause of this error may be that the table has been corrupted.
      InnoDB: You can try to fix this problem by using innodb_force_recovery.
      InnoDB: Please see reference manual for more details.
      InnoDB: Aborting...
      2017-01-23 22:01:31 7faccd687940  InnoDB: Assertion failure in thread 140380157278528 in file buf0buf.cc line 3080
      InnoDB: We intentionally generate a memory trap.
      InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
      InnoDB: If you get repeated assertion failures or crashes, even
      InnoDB: immediately after the mysqld startup, there may be
      InnoDB: corruption in the InnoDB tablespace. Please refer to
      InnoDB: http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html
      InnoDB: about forcing recovery.
      170123 22:01:31 [ERROR] mysqld got signal 6 ;
      This could be because you hit a bug. It is also possible that this binary
      or one of the libraries it was linked against is corrupt, improperly built,
      or misconfigured. This error can also be caused by malfunctioning hardware.
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                marko Marko Mäkelä
                Reporter:
                hreindl Reindl Harald
              • Votes:
                1 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: