~tsarev/percona-server/5.5-processlist_rows_stats-sporadic_fails-fix

« back to all changes in this revision

Viewing changes to innodb_adaptive_hash_index_partitions.patch

  • Committer: kinoyasu
  • Date: 2011-05-10 11:57:42 UTC
  • Revision ID: kinoyasu@gauntlet4-20110510115742-3i3194rn2m8fipm2
port Yasufumi patches to 5.5.12

Show diffs side-by-side

added added

removed removed

Lines of Context:
982
982
@@ -1508,11 +1509,11 @@
983
983
                        anything.  block->is_hashed can only
984
984
                        be set on uncompressed file pages. */
985
 
                        
 
985
 
986
986
-                       btr_search_drop_page_hash_index(block);
987
987
+                       btr_search_drop_page_hash_index(block, NULL);
988
 
                        
 
988
 
989
989
                        rw_lock_x_unlock(&block->lock);
990
 
                        
 
990
 
991
991
-                       rw_lock_x_lock(&btr_search_latch);
992
992
+                       btr_search_x_lock_all();
993
 
                        
 
993
 
994
994
                        ut_ad(!btr_search_enabled);
995
995
                }
996
996
@@ -1531,7 +1532,11 @@
1006
1006
 #endif /* UNIV_SYNC_DEBUG */
1007
1007
        ut_ad(!btr_search_enabled);
1008
1008
 
1009
 
@@ -2636,6 +2641,7 @@
 
1009
@@ -2633,6 +2638,7 @@
1010
1010
 {
1011
1011
        block->check_index_page_at_flush = FALSE;
1012
1012
        block->index            = NULL;
1017
1017
diff -ruN a/storage/innobase/buf/buf0lru.c b/storage/innobase/buf/buf0lru.c
1018
1018
--- a/storage/innobase/buf/buf0lru.c    2010-12-04 15:35:29.137347521 +0900
1019
1019
+++ b/storage/innobase/buf/buf0lru.c    2010-12-04 16:12:48.658550840 +0900
1020
 
@@ -1776,7 +1776,7 @@
 
1020
@@ -1796,7 +1796,7 @@
1021
1021
 
1022
1022
                UNIV_MEM_VALID(((buf_block_t*) bpage)->frame,
1023
1023
                               UNIV_PAGE_SIZE);
1054
1054
diff -ruN a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc
1055
1055
--- a/storage/innobase/handler/ha_innodb.cc     2010-12-04 16:12:20.185850734 +0900
1056
1056
+++ b/storage/innobase/handler/ha_innodb.cc     2010-12-04 16:12:48.674552412 +0900
1057
 
@@ -11682,6 +11682,11 @@
 
1057
@@ -11695,6 +11695,11 @@
1058
1058
   "Disable with --skip-innodb-adaptive-hash-index.",
1059
1059
   NULL, innodb_adaptive_hash_index_update, TRUE);
1060
1060
 
1066
1066
 static MYSQL_SYSVAR_ULONG(replication_delay, srv_replication_delay,
1067
1067
   PLUGIN_VAR_RQCMDARG,
1068
1068
   "Replication thread delay (ms) on the slave server if "
1069
 
@@ -12047,6 +12052,7 @@
 
1069
@@ -12060,6 +12065,7 @@
1070
1070
   MYSQL_SYSVAR(use_sys_stats_table),
1071
1071
   MYSQL_SYSVAR(stats_sample_pages),
1072
1072
   MYSQL_SYSVAR(adaptive_hash_index),
1262
1262
diff -ruN a/storage/innobase/include/buf0buf.h b/storage/innobase/include/buf0buf.h
1263
1263
--- a/storage/innobase/include/buf0buf.h        2010-12-15 19:00:07.713604580 +0900
1264
1264
+++ b/storage/innobase/include/buf0buf.h        2010-12-15 20:58:03.546839883 +0900
1265
 
@@ -1545,7 +1545,7 @@
 
1265
@@ -1547,7 +1547,7 @@
1266
1266
                                        pointers in the adaptive hash index
1267
1267
                                        pointing to this frame */
1268
1268
 #endif /* UNIV_AHI_DEBUG || UNIV_DEBUG */
1271
1271
                                        already been built on this
1272
1272
                                        page; note that it does not
1273
1273
                                        guarantee that the index is
1274
 
@@ -1559,6 +1559,7 @@
 
1274
@@ -1561,6 +1561,7 @@
1275
1275
        unsigned        curr_left_side:1;/*!< TRUE or FALSE in hash indexing */
1276
1276
        dict_index_t*   index;          /*!< Index for which the adaptive
1277
1277
                                        hash index has been created. */
1315
1315
diff -ruN a/storage/innobase/page/page0zip.c b/storage/innobase/page/page0zip.c
1316
1316
--- a/storage/innobase/page/page0zip.c  2010-12-04 15:57:13.061494433 +0900
1317
1317
+++ b/storage/innobase/page/page0zip.c  2010-12-04 16:12:48.716470334 +0900
1318
 
@@ -4445,7 +4445,7 @@
 
1318
@@ -4444,7 +4444,7 @@
1319
1319
 
1320
1320
 #ifndef UNIV_HOTBACKUP
1321
1321
        temp_block = buf_block_alloc(buf_pool);
1469
1469
diff -ruN a/storage/innobase/srv/srv0srv.c b/storage/innobase/srv/srv0srv.c
1470
1470
--- a/storage/innobase/srv/srv0srv.c    2010-12-04 16:12:20.231484679 +0900
1471
1471
+++ b/storage/innobase/srv/srv0srv.c    2010-12-04 16:12:48.726551018 +0900
1472
 
@@ -2050,7 +2050,9 @@
 
1472
@@ -2035,7 +2035,9 @@
1473
1473
              "-------------------------------------\n", file);
1474
1474
        ibuf_print(file);
1475
1475
 
1480
1480
 
1481
1481
        fprintf(file,
1482
1482
                "%.2f hash searches/s, %.2f non-hash searches/s\n",
1483
 
@@ -2075,14 +2077,15 @@
 
1483
@@ -2060,14 +2062,15 @@
1484
1484
                        ut_total_allocated_memory,
1485
1485
                        mem_pool_get_reserved(mem_comm_pool));
1486
1486
        /* Calcurate reserved memories */
1500
1500
 
1501
1501
        lock_sys_subtotal = 0;
1502
1502
        if (trx_sys) {
1503
 
@@ -2109,10 +2112,10 @@
1504
 
                        "    Threads             %lu \t(%lu + %lu)\n",
 
1503
@@ -2093,10 +2096,10 @@
 
1504
                        "    Recovery system     %lu \t(%lu + %lu)\n",
1505
1505
 
1506
1506
                        (ulong) (btr_search_sys
1507
1507
-                               ? (btr_search_sys->hash_index->n_cells * sizeof(hash_cell_t)) : 0)
1516
1516
diff -ruN a/storage/innobase/sync/sync0sync.c b/storage/innobase/sync/sync0sync.c
1517
1517
--- a/storage/innobase/sync/sync0sync.c 2010-12-03 17:36:44.300986571 +0900
1518
1518
+++ b/storage/innobase/sync/sync0sync.c 2010-12-04 16:12:48.729513564 +0900
1519
 
@@ -1177,7 +1177,6 @@
 
1519
@@ -1178,7 +1178,6 @@
1520
1520
        case SYNC_OUTER_ANY_LATCH:
1521
1521
        case SYNC_FILE_FORMAT_TAG:
1522
1522
        case SYNC_DOUBLEWRITE:
1524
1524
        case SYNC_SEARCH_SYS_CONF:
1525
1525
        case SYNC_TRX_LOCK_HEAP:
1526
1526
        case SYNC_KERNEL:
1527
 
@@ -1198,6 +1197,7 @@
 
1527
@@ -1199,6 +1198,7 @@
1528
1528
                        ut_error;
1529
1529
                }
1530
1530
                break;
1535
1535
diff -ruN a/storage/innobase/trx/trx0trx.c b/storage/innobase/trx/trx0trx.c
1536
1536
--- a/storage/innobase/trx/trx0trx.c    2010-12-03 17:49:11.623953784 +0900
1537
1537
+++ b/storage/innobase/trx/trx0trx.c    2010-12-04 16:12:48.731513275 +0900
1538
 
@@ -267,8 +267,14 @@
 
1538
@@ -266,8 +266,14 @@
1539
1539
 /*=================================*/
1540
1540
        trx_t*     trx) /*!< in: transaction */
1541
1541
 {