mariadb/storage/maria
unknown 094d92e242 Prevent reenabling logging by thread which tries to lock table used by bulk insert.
Scenario of the BUG#40731 ("Maria: hang (probably in page cache) under concurrency"):
      T1: Disable logging for the table
      T1: Start inserting into the table
      T2: Tries to lock the table so waits.
      T2: Tries unlock and relock during the process see that the table has disabled logging and reenables it
      T1: Got DBUG_ASSERT because suddenly start use table with transaction switched on which is not expected during bulk insert

storage/maria/ma_pagecache.c:
  Page type print added for debugging purposes.
storage/maria/ma_recovery.c:
  Check that it was this thred which switched off logging (transactional mode).
storage/maria/maria_def.h:
  Flag for controling which thread switched off transactiona mode for the table added.
2008-11-24 09:48:21 +02:00
..
unittest Fixed ability to read without read lock acquiring. (BUG#39665 related) 2008-10-16 22:44:12 +03:00
CMakeLists.txt Fix for build failures under Windows 2008-06-09 11:06:06 +02:00
file_formats.txt Fixed compiler warnings 2008-02-22 17:22:56 +02:00
ft_maria.c Merged with mysql-5.1 main tree. 2007-07-02 20:45:15 +03:00
ha_maria.cc Fixed bug introduced in last push. 2008-11-03 15:53:22 +02:00
ha_maria.h Added ha_maria::is_changed() (needed for Query cache) 2008-11-01 01:14:58 +02:00
lockman.c Merge bk-internal.mysql.com:/home/bk/mysql-maria 2008-02-21 02:51:51 +02:00
lockman.h solaris fixes 2007-12-18 23:22:55 +01:00
ma_bitmap.c Fix for BUG#39363 "Concurent inserts in the same table lead to hang in maria engine" 2008-10-17 15:37:07 +02:00
ma_blockrec.c _ma_bitmap_unpin_all() needs to unpin not-locked pages which were pinned by other threads 2008-10-14 17:18:14 +02:00
ma_blockrec.h Fix for BUG#39210 "Maria deadlock in _ma_bitmap_wait_or_flush". It was a thread 2008-10-14 11:38:07 +02:00
ma_cache.c Fixed compiler warnings 2008-01-13 00:30:38 +02:00
ma_changed.c
ma_check.c Automatic merge with main tree 2008-10-15 13:46:40 +03:00
ma_check_standalone.h WL#3072 Maria recovery. 2007-10-03 18:10:32 +02:00
ma_checkpoint.c merge 2008-08-28 20:52:23 +02:00
ma_checkpoint.h WL#3071 Maria checkpoint, WL#3072 Maria recovery 2007-11-16 17:09:51 +01:00
ma_checksum.c Injecting more "const" declarations into code which does not change 2008-04-03 15:40:25 +02:00
ma_close.c Small fixes for pushbuild: compiler warnings, checking that partitioning is enabled when testing it. 2008-10-15 14:44:31 +02:00
ma_commit.c Fix for BUG#39697 "Maria: hang when failing to insert due to UNIQUE (seen in pushbuild2 too)" 2008-10-09 22:03:54 +02:00
ma_commit.h
ma_control_file.c Fixed that packed transid can be compared byte per byte and we get them in increasing order 2008-11-04 12:54:04 +02:00
ma_control_file.h WL#4374 "Maria - force start if Recovery fails multiple times" 2008-06-02 22:53:25 +02:00
ma_create.c Merge of my revision 2008-10-15 22:00:35 +02:00
ma_dbug.c Changed all file names in maria to LEX_STRING and removed some calls to strlen() 2008-08-25 14:49:47 +03:00
ma_delete.c Added ha_maria::is_changed() (needed for Query cache) 2008-11-01 01:14:58 +02:00
ma_delete_all.c Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_delete_table.c compiler warnings 2008-08-06 16:03:27 +02:00
ma_dynrec.c Merge bk-internal.mysql.com:/home/bk/mysql-maria 2008-05-29 21:39:25 +03:00
ma_extra.c Fix for bug#39226 Maria: crash with FLUSH TABLES WITH READ LOCK after LOCK TABLES 2008-10-12 13:09:52 +03:00
ma_ft_boolean_search.c Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_ft_eval.c
ma_ft_eval.h
ma_ft_nlq_search.c Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_ft_parser.c Imported fix for bug#29464 from myisam table handler to maria. 2008-06-24 17:14:56 +03:00
ma_ft_stem.c
ma_ft_test1.c
ma_ft_test1.h
ma_ft_update.c Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_ftdefs.h Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_fulltext.h Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_info.c Changed all file names in maria to LEX_STRING and removed some calls to strlen() 2008-08-25 14:49:47 +03:00
ma_init.c Fix for BUG#39697 "Maria: hang when failing to insert due to UNIQUE (seen in pushbuild2 too)" 2008-10-09 22:03:54 +02:00
ma_key.c Fixed that packed transid can be compared byte per byte and we get them in increasing order 2008-11-04 12:54:04 +02:00
ma_key_recover.c _ma_bitmap_unpin_all() needs to unpin not-locked pages which were pinned by other threads 2008-10-14 17:18:14 +02:00
ma_key_recover.h Fix for Bug#36499 Maria: potential deadlock 2008-08-26 15:34:57 +03:00
ma_keycache.c Changed all file names in maria to LEX_STRING and removed some calls to strlen() 2008-08-25 14:49:47 +03:00
ma_locking.c Changed all file names in maria to LEX_STRING and removed some calls to strlen() 2008-08-25 14:49:47 +03:00
ma_loghandler.c merge 2008-10-31 15:06:56 +02:00
ma_loghandler.h Fix for BUG#37876 "Importing Maria table from other server via binary copy does not work": 2008-07-09 11:02:27 +02:00
ma_loghandler_lsn.h Fix for BUG#37876 "Importing Maria table from other server via binary copy does not work": 2008-07-09 11:02:27 +02:00
ma_open.c Fixed that packed transid can be compared byte per byte and we get them in increasing order 2008-11-04 12:54:04 +02:00
ma_packrec.c Merge of changes in MyISAM since December 16 -> April 1 2008-04-01 17:57:30 +03:00
ma_page.c Fix for Bug#36499 Maria: potential deadlock 2008-08-26 15:34:57 +03:00
ma_pagecache.c Prevent reenabling logging by thread which tries to lock table used by bulk insert. 2008-11-24 09:48:21 +02:00
ma_pagecache.h _ma_bitmap_unpin_all() needs to unpin not-locked pages which were pinned by other threads 2008-10-14 17:18:14 +02:00
ma_pagecaches.c copyright and license info 2008-03-04 12:58:21 +01:00
ma_pagecrc.c copyright and license info 2008-03-04 12:58:21 +01:00
ma_panic.c merge 2007-12-31 12:52:45 +01:00
ma_preload.c _ma_bitmap_unpin_all() needs to unpin not-locked pages which were pinned by other threads 2008-10-14 17:18:14 +02:00
ma_range.c Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_recovery.c Prevent reenabling logging by thread which tries to lock table used by bulk insert. 2008-11-24 09:48:21 +02:00
ma_recovery.h WL#4374 "Maria - force start if Recovery fails multiple times" 2008-06-02 22:53:25 +02:00
ma_recovery_util.c Fix for BUG#34114 "maria_chk reports false error when several tables on 2008-01-29 22:20:59 +01:00
ma_recovery_util.h WL#3072 - Maria Recovery 2008-01-17 23:59:32 +01:00
ma_rename.c compiler warnings 2008-08-06 16:03:27 +02:00
ma_rfirst.c Merged with mysql-5.1 main tree. 2007-07-02 20:45:15 +03:00
ma_rkey.c Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_rlast.c Merged with mysql-5.1 main tree. 2007-07-02 20:45:15 +03:00
ma_rnext.c Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_rnext_same.c Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_rprev.c Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_rrnd.c Fixes for bugs found by maria.test and event*tests: 2007-08-21 20:54:11 +03:00
ma_rsame.c Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_rsamepos.c Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_rt_index.c Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_rt_index.h Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_rt_key.c Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_rt_key.h Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_rt_mbr.c Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_rt_mbr.h Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_rt_split.c Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_rt_test.c Merge; No notable changes 2008-06-26 12:32:22 +03:00
ma_scan.c Fixed problems with ma_test2 and mi_test2 on high-byte-first system 2008-02-21 02:45:02 +02:00
ma_search.c Fix for Bug #39243 SELECT WHERE does not find row 2008-09-26 11:16:35 +03:00
ma_sort.c Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_sp_defs.h Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_sp_key.c Fixes for build errors under Windows and compiler warning under Linux 2008-06-26 17:10:11 +02:00
ma_sp_test.c After merge fixes. Applied changes made in myisam manually to maria. 2007-10-04 20:33:42 +03:00
ma_state.c Fixed bug introduced in last push. 2008-11-03 15:53:22 +02:00
ma_state.h Fixed bug introduced in last push. 2008-11-03 15:53:22 +02:00
ma_static.c Fix for Windows build failure: __attribute__ does not exist under Windows 2008-10-16 10:54:53 +02:00
ma_statrec.c Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_test1.c Fix for unit test failures. 2008-06-30 11:13:08 +02:00
ma_test2.c Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_test3.c Windows fixes 2008-01-10 13:21:53 +01:00
ma_test_all.res Fixes for redo/undo logging of key pages 2007-11-20 17:42:16 +02:00
ma_test_all.sh New version of ma_test_all 2008-01-08 22:21:28 +02:00
ma_test_big.sh UNDO of rows now puts back all part of the row on their original pages and positions 2007-12-30 22:40:03 +02:00
ma_test_force_start.pl Fix for BUG#35107 "maria-preload.test is disabled because unrepeatable page cache statistics" 2008-07-03 23:02:13 +02:00
ma_test_recovery Added versioning of row data 2008-04-10 05:26:36 +03:00
ma_unique.c Added versioning of Maria index 2008-06-26 08:18:28 +03:00
ma_update.c Added ha_maria::is_changed() (needed for Query cache) 2008-11-01 01:14:58 +02:00
ma_write.c Added ha_maria::is_changed() (needed for Query cache) 2008-11-01 01:14:58 +02:00
Makefile.am Added versioning of Maria index 2008-06-26 08:18:28 +03:00
maria_chk.c Merging of changes from myisam -> maria missing in last 5.1 - 5.1->maria merge 2008-10-15 00:23:33 +03:00
maria_def.h Prevent reenabling logging by thread which tries to lock table used by bulk insert. 2008-11-24 09:48:21 +02:00
maria_ftdump.c Changed all file names in maria to LEX_STRING and removed some calls to strlen() 2008-08-25 14:49:47 +03:00
maria_pack.c Changed all file names in maria to LEX_STRING and removed some calls to strlen() 2008-08-25 14:49:47 +03:00
maria_read_log.c Merge bk-internal.mysql.com:/home/bk/mysql-maria 2008-05-29 21:39:25 +03:00
maria_rename.sh
plug.in use "default" plugin configuration by default, not "none". 2008-06-05 21:48:43 +02:00
tablockman.c Windows fixes 2008-01-10 13:21:53 +01:00
tablockman.h solaris fixes 2007-12-18 23:22:55 +01:00
test_pack
trnman.c Fix for bug: Bug #40391 Maria deadlock in trnman_get_min_trid , trnman_end_trn 2008-11-05 23:17:09 +02:00
trnman.h move wt* maintainance from maria to the server 2008-08-07 22:57:25 +02:00
trnman_public.h move wt* maintainance from maria to the server 2008-08-07 22:57:25 +02:00