Moved test from main suite to the new suites.
Move tests from maria/t and maria/r to maria
mysql-test/mysql-test-run.pl:
Added support for the new suites
- Fixed bug lp:624099 ma_close.c:75: maria_close: Assertion `share->in_trans == 0' failed on UNLOCK TABLES
- Fixed bug that caused table to be marked as not closed (crashed) during recovery testing.
- Use maria_delete_table_files() instead of maria_delete_table() to delete tempoary tables (faster and safer)
- Added checks to ensure that bitmap and internal mutex are always taken in right order.
- For transactional tables, only mark the table as changed before page for table is to be written to disk (and thus the log is flushed).
This speeds up things a bit and fixes a problem where open_count was incremented on disk but there was no log entry to fix it during recovery -> table was crashed.
- Fixed a bug in repair() where table was not automaticly repaired.
- Ensure that state->global_changed, share->changed and share->state.open_count are set and reset properly.
- Added option --ignore-control-file to maria_chk to be able to run maria_chk even if the control file is locked.
mysql-test/suite/maria/r/maria-recover.result:
Test result changed as we now force checkpoint before copying table, which results in pagecache getting flushed and we have more rows to recover.
mysql-test/suite/maria/r/maria.result:
Added new tests
mysql-test/suite/maria/t/maria-recover.test:
Force checkpoint before copying table.
This is needed as now the open-count is increased first when first page is flushed.
mysql-test/suite/maria/t/maria.test:
Added tests to verify fix for lp:624099
storage/maria/ha_maria.cc:
Use table->in_use instead of current_thd (trivial optimization)
Use maria_delete_table_files() instead of maria_delete_table() to delete tempoary tables (faster and safer)
More DBUG_ASSERT()
Reset locked tables count after locked tables have been moved to new transaction. This fixed lp:624099
storage/maria/ma_bitmap.c:
Temporarly unlock bitmap mutex when calling _ma_mark_file_changed() and pagecache_delete_pages() to ensure right mutex lock order.
Call _ma_bitmap_unpin_all() when bitmap->non_flusable is set to 0. This fixed a case when bitmap was not proparly unpinned.
More comments
Added DBUG_ASSERT() for detecting wrong share->bitmap usage
storage/maria/ma_blockrec.c:
More DBUG_ASSERT()
Moved code around in _ma_apply_redo_insert_row_head_or_tail() to make things safer on error conditions.
storage/maria/ma_check.c:
Changed parameter for _ma_set_uuid()
Corrected test for detecting if we lost many rows. This fixed some cases where auto-recovery failed.
share->changed need to be set if state.open_count is changed.
Removed setting of share->changed= 0 as called function sets it.
storage/maria/ma_close.c:
- Added code to properly decrement open_count and have it written by _ma_state_info_write() for transactional tables.
(This is more correct and also saves us one extra write by _ma_decrement_open_count() at close.
- Added DBUG_ASSERT() to detect if open_count is wrong at maria_close().
storage/maria/ma_delete.c:
Updated argument to _ma_mark_file_changed()
storage/maria/ma_delete_all.c:
Updated argument to _ma_mark_file_changed()
For transactional tables, call _ma_mark_file_changed() after log entry has been written (to allow recover to fix open_count)
Reset more needed variables in _ma_reset_status()
storage/maria/ma_delete_table.c:
Moved deletion of Aria files to maria_delete_table_files().
Remove RAID usage (old not working code)
storage/maria/ma_extra.c:
Set share->changed=1 when state needs to be updated on disk.
Don't reset share->changed after call to _ma_state_info_write() as this calls sets share->changed.
Set share->state.open_count to 1 to force table to be auto repaired if drop fails.
Set share->global_changed before call to _ma_flush_table_files() to ensure that we don't try to mark the table changed during flush.
Added DBUG_ENTER
storage/maria/ma_locking.c:
Split _ma_mark_file_changed() into two functions to delay marking transactional tables as changed on disk until first disk write.
Added argument to _ma_decrement_open_count() to tell if we should call ma_lock_database() or not.
Don't decrement open count for transactional tables during _ma_decrement_open_count(). This will be done during close.
Changed parameter for _ma_set_uuid()
storage/maria/ma_open.c:
Set share->open_count_not_zero_on_open if state.open_count is not zero.
This is needed for DBUG_ASSERT() in maria_close() that is there to enforce that open_count is always 0 at close.
This test doesn't however work for tables that had open_count != 0 already on disk (ie, crashed tables).
Enforce right mutex order for share->intern_lock and share->bitmap.bitmap_lock
Don't set share->changed to 0 if share->state.open_count != 0, as state needs to be be written at close
storage/maria/ma_pagecache.c:
Moved a bit of code in find_block() to avoid one if.
More DBUG_ASSERT()
(I left a comment in the code for Sanja to look at; The code probably works but we need to check if it's optimal)
storage/maria/ma_pagecrc.c:
For transactional tables, just before first write to disk, but after log is flushed, mark the file changed.
This fixes some cases where recovery() did not detect that table was marked as changed and could thus not recover the marker.
storage/maria/ma_recovery.c:
Set share->changed when share->global_changed is set.
storage/maria/ma_update.c:
Updated parameter for _ma_mark_file_changed()
storage/maria/ma_write.c:
Updated parameter for _ma_mark_file_changed()
storage/maria/maria_chk.c:
Added option --ignore-control-file to be able to run maria_chk even if the control file is locked.
storage/maria/maria_def.h:
Updated function prototypes.
Added open_count_not_zero_on_open to MARIA_SHARE.
storage/myisam/ha_myisam.cc:
current_thd -> table->in_use
Added logging of all possible fatal table errors if --log-warnings set to > 1
mysql-test/extra/rpl_tests/rpl_EE_err.test:
Safety fix
mysql-test/extra/rpl_tests/rpl_row_basic.test:
Added suppression of possible error message (so that one can run test with --log-warnings=2)
mysql-test/r/archive.result:
Added suppression of possible error message (so that one can run test with --log-warnings=2)
mysql-test/r/csv.result:
Added suppression of possible error message (so that one can run test with --log-warnings=2)
mysql-test/suite/maria/r/maria-autozerofill.result:
Added suppression of possible error message (so that one can run test with --log-warnings=2)
mysql-test/suite/maria/t/maria-autozerofill.test:
Added suppression of possible error message (so that one can run test with --log-warnings=2)
mysql-test/suite/maria/t/maria-recover.test:
Added suppression of possible error message (so that one can run test with --log-warnings=2)
mysql-test/suite/parts/t/partition_recover_myisam.test:
Added suppression of possible error message (so that one can run test with --log-warnings=2)
mysql-test/suite/rpl/r/rpl_bug38694.result:
Added suppression of possible error message (so that one can run test with --log-warnings=2)
mysql-test/suite/rpl/r/rpl_idempotency.result:
Added suppression of possible error message (so that one can run test with --log-warnings=2)
mysql-test/suite/rpl/r/rpl_ignore_table.result:
Added suppression of possible error message (so that one can run test with --log-warnings=2)
mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result:
Added suppression of possible error message (so that one can run test with --log-warnings=2)
mysql-test/suite/rpl/r/rpl_row_conflicts.result:
Added suppression of possible error message (so that one can run test with --log-warnings=2)
mysql-test/suite/rpl/r/rpl_temporary_errors.result:
Added suppression of possible error message (so that one can run test with --log-warnings=2)
mysql-test/suite/rpl/t/rpl_bug38694.test:
Added suppression of possible error message (so that one can run test with --log-warnings=2)
mysql-test/suite/rpl/t/rpl_idempotency.test:
Added suppression of possible error message (so that one can run test with --log-warnings=2)
mysql-test/suite/rpl/t/rpl_ignore_table.test:
Added suppression of possible error message (so that one can run test with --log-warnings=2)
mysql-test/suite/rpl/t/rpl_row_basic_11bugs.test:
Added suppression of possible error message (so that one can run test with --log-warnings=2)
mysql-test/suite/rpl/t/rpl_row_conflicts.test:
Added suppression of possible error message (so that one can run test with --log-warnings=2)
mysql-test/suite/rpl/t/rpl_temporary_errors.test:
Added suppression of possible error message (so that one can run test with --log-warnings=2)
mysql-test/t/archive.test:
Added suppression of possible error message (so that one can run test with --log-warnings=2)
mysql-test/t/csv.test:
Added suppression of possible error message (so that one can run test with --log-warnings=2)
sql/handler.cc:
If running with --assert-of-crashed-table or --log-warnings > 1 then print engine error to log
sql/sql_select.cc:
Disable not initialized warning from gcc
strings/Makefile.am:
Fixed compiler error on Solaris 10 (duplicate strmov() function)
Fix by explicitly setting timezone for a few more tests that need it.
(We avoid setting TZ everywhere by default as this breaks some tests
on windows).
Also add fix of two other windows failures due to non-portable
suppressions, thanks to Alex Budovski.
mysql-test/mysql-test-run.pl:
Don't let --timezone option from one test stray into the next test
(mostly to make results more deterministic rather than depend on
whatever test happens to run just before).
mysql-test/suite/maria/r/maria-recover.result:
Fix suppression pattern to also work with Windows \ path separator.
mysql-test/suite/maria/t/maria-recover.test:
Fix suppression pattern to also work with Windows \ path separator.
mysql-test/suite/parts/inc/partition_timestamp.inc:
Set timezone explicitly for test that needs it.
mysql-test/suite/parts/r/partition_recover_myisam.result:
Fix suppression pattern to also work with Windows \ path separator.
mysql-test/suite/parts/t/partition_recover_myisam.test:
Fix suppression pattern to also work with Windows \ path separator.
mysql-test/t/mysqlbinlog_row-master.opt:
Set timezone explicitly for test that needs it.
mysql-test/t/mysqlbinlog_row_innodb-master.opt:
Set timezone explicitly for test that needs it.
mysql-test/t/mysqlbinlog_row_myisam-master.opt:
Set timezone explicitly for test that needs it.
mysql-test/t/mysqlbinlog_row_trans-master.opt:
Set timezone explicitly for test that needs it.
The --enable_prepare_warnings allows to not discard warnings from autorepair
of crashed table in --ps-protocol mode.
Use this to properly fix the parts.partition_recover_myisam and
maria.maria-recover tests.
Add a test case for the new feature. This also adds missing test coverage
for the case where the same warning is thrown in both prepare and execute
phase.
client/mysqltest.cc:
Implement new commands --enable-prepare_warnings and --disable_prepare_warnings.
mysql-test/r/mysqltest_ps.result:
Add test case for new --enable_prepare_warning mysqltest command.
mysql-test/suite/maria/t/maria-recover.test:
Better fix of test case using new --enable_prepare_warnings command.
mysql-test/suite/parts/t/partition_recover_myisam.test:
Fix test failure in --ps-protocol mode.
mysql-test/t/mysqltest_ps.test:
Add test case for new --enable_prepare_warning mysqltest command.
There were so many changes into mtr (this is the new mtr coming) that I rather
copied mtr from 6.0-main here (at least this one knows how to run Maria tests).
I also fixed suite/maria tests to be accepted by the new mtr.
mysys/thr_mutex.c:
adding DBUG_PRINT here, so that we can locate where the warning is issued.
mysql-test/mysql-test-run.pl:
The maria suite made default for execution.
mysql-test/suite/maria:
Maria tests moved to separate suite.
mysql-test/suite/maria/r:
Maria tests moved to separate suite.
mysql-test/suite/maria/r/maria-autozerofill.result:
Maria tests moved to separate suite.
mysql-test/suite/maria/r/maria-big.result:
Maria tests moved to separate suite.
mysql-test/suite/maria/r/maria-big2.result:
Maria tests moved to separate suite.
mysql-test/suite/maria/r/maria-connect.result:
Maria tests moved to separate suite.
mysql-test/suite/maria/r/maria-gis-rtree-dynamic.result:
Maria tests moved to separate suite.
mysql-test/suite/maria/r/maria-gis-rtree-trans.result:
Maria tests moved to separate suite.
mysql-test/suite/maria/r/maria-gis-rtree.result:
Maria tests moved to separate suite.
mysql-test/suite/maria/r/maria-mvcc.result:
Maria tests moved to separate suite.
mysql-test/suite/maria/r/maria-no-logging.result:
Maria tests moved to separate suite.
mysql-test/suite/maria/r/maria-page-checksum.result:
Maria tests moved to separate suite.
mysql-test/suite/maria/r/maria-preload.result:
Maria tests moved to separate suite.
mysql-test/suite/maria/r/maria-purge.result:
Maria tests moved to separate suite.
mysql-test/suite/maria/r/maria-recover.result:
Maria tests moved to separate suite.
mysql-test/suite/maria/r/maria-recovery-big.result:
Maria tests moved to separate suite.
mysql-test/suite/maria/r/maria-recovery-bitmap.result:
Maria tests moved to separate suite.
mysql-test/suite/maria/r/maria-recovery-rtree-ft.result:
Maria tests moved to separate suite.
mysql-test/suite/maria/r/maria-recovery.result:
Maria tests moved to separate suite.
mysql-test/suite/maria/r/maria-recovery2.result:
Maria tests moved to separate suite.
mysql-test/suite/maria/r/maria.result:
Maria tests moved to separate suite.
mysql-test/suite/maria/r/maria2.result:
Maria tests moved to separate suite.
mysql-test/suite/maria/r/maria3.result:
Maria tests moved to separate suite.
mysql-test/suite/maria/r/maria_notembedded.result:
Maria tests moved to separate suite.
mysql-test/suite/maria/r/ps_maria.result:
Maria tests moved to separate suite.
mysql-test/suite/maria/t:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria-autozerofill.test:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria-big.test:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria-big2.test:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria-connect.test:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria-gis-rtree-dynamic.test:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria-gis-rtree-trans.test:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria-gis-rtree.test:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria-mvcc.test:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria-no-logging.test:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria-page-checksum.test:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria-preload.test:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria-purge.test:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria-recover-master.opt:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria-recover.test:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria-recovery-big-master.opt:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria-recovery-big.test:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria-recovery-bitmap-master.opt:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria-recovery-bitmap.test:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria-recovery-master.opt:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria-recovery-rtree-ft-master.opt:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria-recovery-rtree-ft.test:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria-recovery.test:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria-recovery2-master.opt:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria-recovery2.test:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria.test:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria2.test:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria3.test:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/maria_notembedded.test:
Maria tests moved to separate suite.
mysql-test/suite/maria/t/ps_maria.test:
Maria tests moved to separate suite.
2008-10-01 15:13:39 +03:00
Renamed from mysql-test/t/maria-recover.test (Browse further)