~percona-dev/percona-server/release-5.5.11-20.2-fix-bug-764138

« back to all changes in this revision

Viewing changes to innodb_extend_slow.patch

  • Committer: Ignacio Nin
  • Date: 2011-03-27 18:30:06 UTC
  • mfrom: (88.2.3 5.5.10)
  • Revision ID: ignacio.nin@percona.com-20110327183006-ij0o2pdyhzaerish
Merge 5.5.10 changes

Merge 5.5.10 changes to release-5.5.9-20.1 in order to create release-5.5.10-20.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
49
49
 
50
50
 /*
51
51
                IMPLEMENTATION OF THE BUFFER POOL
52
 
@@ -2397,11 +2431,19 @@
 
52
@@ -2399,11 +2433,19 @@
53
53
        mutex_t*        block_mutex;
54
54
        ibool           must_read;
55
55
        unsigned        access_time;
69
69
        buf_pool->stat.n_page_gets++;
70
70
 
71
71
        for (;;) {
72
 
@@ -2419,7 +2461,7 @@
 
72
@@ -2421,7 +2463,7 @@
73
73
                //buf_pool_mutex_exit(buf_pool);
74
74
                rw_lock_s_unlock(&buf_pool->page_hash_latch);
75
75
 
78
78
 
79
79
 #if defined UNIV_DEBUG || defined UNIV_BUF_DEBUG
80
80
                ut_a(++buf_dbg_counter % 37 || buf_validate());
81
 
@@ -2497,6 +2539,13 @@
 
81
@@ -2498,6 +2540,13 @@
82
82
                /* Let us wait until the read operation
83
83
                completes */
84
84
 
92
92
                for (;;) {
93
93
                        enum buf_io_fix io_fix;
94
94
 
95
 
@@ -2511,6 +2560,12 @@
 
95
@@ -2512,6 +2561,12 @@
96
96
                                break;
97
97
                        }
98
98
                }
105
105
        }
106
106
 
107
107
 #ifdef UNIV_IBUF_COUNT_DEBUG
108
 
@@ -2823,6 +2878,11 @@
 
108
@@ -2824,6 +2879,11 @@
109
109
        ibool           must_read;
110
110
        ulint           retries = 0;
111
111
        mutex_t*        block_mutex = NULL;
117
117
        buf_pool_t*     buf_pool = buf_pool_get(space, offset);
118
118
 
119
119
        ut_ad(mtr);
120
 
@@ -2841,6 +2901,9 @@
 
120
@@ -2842,6 +2902,9 @@
121
121
        ut_ad(!ibuf_inside() || ibuf_page_low(space, zip_size, offset,
122
122
                                              FALSE, file, line, NULL));
123
123
 #endif
127
127
        buf_pool->stat.n_page_gets++;
128
128
        fold = buf_page_address_fold(space, offset);
129
129
 loop:
130
 
@@ -2914,7 +2977,7 @@
 
130
@@ -2915,7 +2978,7 @@
131
131
                        return(NULL);
132
132
                }
133
133
 
191
191
        ut_ad(block);
192
192
        ut_ad(mtr);
193
193
@@ -3363,13 +3444,17 @@
194
 
 #ifdef UNIV_DEBUG_FILE_ACCESSES
 
194
 #if defined UNIV_DEBUG_FILE_ACCESSES || defined UNIV_DEBUG
195
195
        ut_a(block->page.file_page_was_freed == FALSE);
196
196
 #endif
197
197
+       if (innobase_get_slow_log()) {
379
379
diff -ruN a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc
380
380
--- a/storage/innobase/handler/ha_innodb.cc     2010-12-03 17:36:44.293955189 +0900
381
381
+++ b/storage/innobase/handler/ha_innodb.cc     2010-12-03 17:42:42.090024586 +0900
382
 
@@ -1527,6 +1527,16 @@
 
382
@@ -1546,6 +1546,16 @@
383
383
        trx->check_unique_secondary = !thd_test_options(
384
384
                thd, OPTION_RELAXED_UNIQUE_CHECKS);
385
385
 
396
396
        DBUG_VOID_RETURN;
397
397
 }
398
398
 
399
 
@@ -1581,6 +1591,32 @@
 
399
@@ -1600,6 +1610,32 @@
400
400
        return(trx);
401
401
 }
402
402
 
429
429
 /*********************************************************************//**
430
430
 Note that a transaction has been registered with MySQL.
431
431
 @return true if transaction is registered with MySQL 2PC coordinator */
432
 
@@ -9207,6 +9243,25 @@
 
432
@@ -9280,6 +9316,25 @@
433
433
        statement has ended */
434
434
 
435
435
        if (trx->n_mysql_tables_in_use == 0) {
872
872
 /* This is set to the MySQL server value for this variable.  It is only
873
873
 needed for FOREIGN KEY definition parsing since FOREIGN KEY names are not
874
874
 stored in the server metadata. The server stores and enforces it for
875
 
@@ -1253,6 +1256,10 @@
 
875
@@ -1257,6 +1260,10 @@
876
876
        ibool                   has_slept = FALSE;
877
877
        srv_conc_slot_t*        slot      = NULL;
878
878
        ulint                   i;
883
883
 
884
884
        if (trx->mysql_thd != NULL
885
885
            && thd_is_replication_slave_thread(trx->mysql_thd)) {
886
 
@@ -1329,6 +1336,7 @@
 
886
@@ -1333,6 +1340,7 @@
887
887
                switches. */
888
888
                if (SRV_THREAD_SLEEP_DELAY > 0) {
889
889
                        os_thread_sleep(SRV_THREAD_SLEEP_DELAY);
891
891
                }
892
892
 
893
893
                trx->op_info = "";
894
 
@@ -1384,6 +1392,13 @@
 
894
@@ -1388,6 +1396,13 @@
895
895
        /* Go to wait for the event; when a thread leaves InnoDB it will
896
896
        release this thread */
897
897
 
905
905
        trx->op_info = "waiting in InnoDB queue";
906
906
 
907
907
        thd_wait_begin(trx->mysql_thd, THD_WAIT_ROW_TABLE_LOCK);
908
 
@@ -1392,6 +1407,12 @@
 
908
@@ -1396,6 +1411,12 @@
909
909
 
910
910
        trx->op_info = "";
911
911