~percona-dev/percona-server/dynamic-heap

« back to all changes in this revision

Viewing changes to innodb_fix_misc.patch

  • Committer: kinoyasu
  • Date: 2011-04-20 08:34:48 UTC
  • Revision ID: kinoyasu@gauntlet4-20110420083448-2un3ng23kf1lm9e6
fix bug766236

Show diffs side-by-side

added added

removed removed

Lines of Context:
115
115
        ut_ad(mutex_own(&(system->mutex)));
116
116
        ut_a(node->open);
117
117
-       ut_a(node->n_pending == 0);
118
 
+       ut_a(node->n_pending == 0 || srv_lazy_drop_table);
 
118
+       ut_a(node->n_pending == 0 || node->space->is_being_deleted);
119
119
        ut_a(node->n_pending_flushes == 0);
120
120
        ut_a(node->modification_counter == node->flush_counter);
121
121
 
 
122
@@ -874,7 +875,7 @@
 
123
        ut_a(system->n_open > 0);
 
124
        system->n_open--;
 
125
 
 
126
-       if (node->space->purpose == FIL_TABLESPACE && !trx_sys_sys_space(node->space->id)) {
 
127
+       if (node->n_pending == 0 && node->space->purpose == FIL_TABLESPACE && !trx_sys_sys_space(node->space->id)) {
 
128
                ut_a(UT_LIST_GET_LEN(system->LRU) > 0);
 
129
 
 
130
                /* The node is in the LRU list, remove it */
122
131
@@ -1073,7 +1074,7 @@
123
132
        ut_ad(node && system && space);
124
133
        ut_ad(mutex_own(&(system->mutex)));
125
134
        ut_a(node->magic_n == FIL_NODE_MAGIC_N);
126
135
-       ut_a(node->n_pending == 0);
127
 
+       ut_a(node->n_pending == 0 || srv_lazy_drop_table);
 
136
+       ut_a(node->n_pending == 0 || space->is_being_deleted);
128
137
 
129
138
        if (node->open) {
130
139
                /* We fool the assertion in fil_node_close_file() to think