diff options
author | Michael Widenius <monty@askmonty.org> | 2010-09-10 23:27:26 +0300 |
---|---|---|
committer | Michael Widenius <monty@askmonty.org> | 2010-09-10 23:27:26 +0300 |
commit | b9890b054414c26b1f747966eb7128c4ac587beb (patch) | |
tree | 184c1414c70fbf95e1bf6c561a7c56d2f4163952 /storage/maria/trnman.c | |
parent | b7158601d35456fde4167fe44dcf505495b045af (diff) | |
download | mariadb-git-b9890b054414c26b1f747966eb7128c4ac587beb.tar.gz |
Fix for LP#634943 "marked as crashed", "zerofilling" and "wrong data in bitmap" when recovering Aria tables
This was an interaction of several bugs:
- Tables marked as opened was not properly unmarked on recovery if there was not changes since checkpoint
- zerofill of tables put wrong data in bitmap if directory for page was full
- Tables was thought as 'moved' during recovery if they had a create_lsn bigger than the lsn in the control file.
storage/maria/ha_maria.cc:
If table is moved and crashed, threat it as crashed.
(Not a related to this bug, but still good to have fixed)
storage/maria/ma_blockrec.c:
Make enough_free_entries_on_page() global
storage/maria/ma_blockrec.h:
Make enough_free_entries_on_page() global
storage/maria/ma_check.c:
If directory is full, mark page full. Fixes bug in zerofill
storage/maria/ma_open.c:
Don't marke files as MOVED during recovery if create_trid > trnman_max_trid, as this fails for tables created after checkpoint.
storage/maria/ma_recovery.c:
Reset open_count in file that was open during crash and was part of checkpoint.
Fixed wrong warning of 'open count' after recovery of files that was not touched since checkpoint.
storage/maria/maria_chk.c:
Changed not documented option --log-dir to --logdir
Document more of the options.
Clean up output for --help
storage/maria/trnman.c:
Added DBUG_PRINT
Diffstat (limited to 'storage/maria/trnman.c')
-rw-r--r-- | storage/maria/trnman.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/storage/maria/trnman.c b/storage/maria/trnman.c index a87b2f0e55b..05330baed76 100644 --- a/storage/maria/trnman.c +++ b/storage/maria/trnman.c @@ -145,6 +145,7 @@ static uchar *trn_get_hash_key(const uchar *trn, size_t *len, int trnman_init(TrID initial_trid) { DBUG_ENTER("trnman_init"); + DBUG_PRINT("enter", ("initial_trid: %lu", (ulong) initial_trid)); short_trid_to_active_trn= (TRN **)my_malloc(SHORT_TRID_MAX*sizeof(TRN*), MYF(MY_WME|MY_ZEROFILL)); |