List:Commits« Previous MessageNext Message »
From:He Zhenxing Date:March 9 2009 8:55am
Subject:bzr push into mysql-5.1-bugteam branch (zhenxing.he:2837) Bug#37416
Bug#39843 Bug#40363 Bug#40657 Bug#41305 Bug#41465 Bug#42790
View as plain text  
 2837 He Zhenxing	2009-03-09 [merge]
      Auto merge
modified:
  mysql-test/r/lock.result
  mysql-test/r/merge.result
  mysql-test/r/ps.result
  mysql-test/r/strict.result
  mysql-test/r/variables.result
  mysql-test/suite/sys_vars/r/auto_increment_increment_basic.result
  mysql-test/suite/sys_vars/r/auto_increment_increment_func.result
  mysql-test/suite/sys_vars/r/auto_increment_offset_basic.result
  mysql-test/suite/sys_vars/r/auto_increment_offset_func.result
  mysql-test/suite/sys_vars/r/concurrent_insert_basic.result
  mysql-test/suite/sys_vars/r/connect_timeout_basic.result
  mysql-test/suite/sys_vars/r/default_week_format_basic.result
  mysql-test/suite/sys_vars/r/delayed_insert_timeout_basic.result
  mysql-test/suite/sys_vars/r/div_precision_increment_basic.result
  mysql-test/suite/sys_vars/r/expire_logs_days_basic.result
  mysql-test/suite/sys_vars/r/group_concat_max_len_basic.result
  mysql-test/suite/sys_vars/r/interactive_timeout_basic.result
  mysql-test/suite/sys_vars/r/max_allowed_packet_basic.result
  mysql-test/suite/sys_vars/r/max_binlog_size_basic.result
  mysql-test/suite/sys_vars/r/max_connections_basic.result
  mysql-test/suite/sys_vars/r/max_delayed_threads_basic.result
  mysql-test/suite/sys_vars/r/max_error_count_basic.result
  mysql-test/suite/sys_vars/r/max_insert_delayed_threads_basic.result
  mysql-test/suite/sys_vars/r/max_length_for_sort_data_basic.result
  mysql-test/suite/sys_vars/r/max_prepared_stmt_count_basic.result
  mysql-test/suite/sys_vars/r/max_relay_log_size_basic.result
  mysql-test/suite/sys_vars/r/max_sort_length_basic.result
  mysql-test/suite/sys_vars/r/max_sp_recursion_depth_basic.result
  mysql-test/suite/sys_vars/r/myisam_data_pointer_size_basic.result
  mysql-test/suite/sys_vars/r/net_buffer_length_basic.result
  mysql-test/suite/sys_vars/r/net_read_timeout_basic.result
  mysql-test/suite/sys_vars/r/net_write_timeout_basic.result
  mysql-test/suite/sys_vars/r/optimizer_prune_level_basic.result
  mysql-test/suite/sys_vars/r/optimizer_search_depth_basic.result
  mysql-test/suite/sys_vars/r/preload_buffer_size_basic.result
  mysql-test/suite/sys_vars/r/read_buffer_size_basic.result
  mysql-test/suite/sys_vars/r/read_rnd_buffer_size_basic.result
  mysql-test/suite/sys_vars/r/slave_net_timeout_basic.result
  mysql-test/suite/sys_vars/r/slow_launch_time_basic.result
  mysql-test/suite/sys_vars/r/table_definition_cache_basic.result
  mysql-test/suite/sys_vars/r/table_lock_wait_timeout_basic.result
  mysql-test/suite/sys_vars/r/table_open_cache_basic.result
  mysql-test/t/lock.test
  mysql-test/t/merge.test
  mysql-test/t/strict.test
  mysql-test/t/variables.test
  sql/log.cc
  sql/mysqld.cc
  sql/set_var.cc
  sql/share/errmsg.txt
  sql/sql_cache.cc
  sql/sql_lex.cc
  sql/sql_lex.h
  sql/sql_parse.cc
  sql/sql_yacc.yy
  sql/unireg.cc
  storage/myisammrg/ha_myisammrg.cc

=== modified file 'include/my_sys.h'
--- a/include/my_sys.h	2009-02-05 06:16:00 +0000
+++ b/include/my_sys.h	2009-03-06 09:38:14 +0000
@@ -637,6 +637,7 @@ extern int nt_share_delete(const char *n
 extern void TERMINATE(FILE *file, uint flag);
 #endif
 extern void init_glob_errs(void);
+extern void wait_for_free_space(const char *filename, int errors);
 extern FILE *my_fopen(const char *FileName,int Flags,myf MyFlags);
 extern FILE *my_fdopen(File Filedes,const char *name, int Flags,myf MyFlags);
 extern int my_fclose(FILE *fd,myf MyFlags);

=== modified file 'mysys/errors.c'
--- a/mysys/errors.c	2008-06-17 10:41:58 +0000
+++ b/mysys/errors.c	2009-03-06 09:38:14 +0000
@@ -39,7 +39,7 @@ const char * NEAR globerrs[GLOBERRS]=
   "Can't change dir to '%s' (Errcode: %d)",
   "Warning: '%s' had %d links",
   "Warning: %d files and %d streams is left open\n",
-  "Disk is full writing '%s' (Errcode: %d). Waiting for someone to free space... Retry in %d secs",
+  "Disk is full writing '%s' (Errcode: %d). Waiting for someone to free space... (Expect up to %d secs delay for server to continue after freeing disk space)",
   "Can't create directory '%s' (Errcode: %d)",
   "Character set '%s' is not a compiled character set and is not specified in the '%s' file",
   "Out of resources when opening file '%s' (Errcode: %d)",
@@ -92,3 +92,17 @@ void init_glob_errs()
   EE(EE_FILE_NOT_CLOSED) = "File '%s' (fileno: %d) was not closed";
 }
 #endif
+
+void wait_for_free_space(const char *filename, int errors)
+{
+  if (errors == 0)
+    my_error(EE_DISK_FULL,MYF(ME_BELL | ME_NOREFRESH),
+             filename,my_errno,MY_WAIT_FOR_USER_TO_FIX_PANIC);
+  if (!(errors % MY_WAIT_GIVE_USER_A_MESSAGE))
+    my_printf_error(EE_DISK_FULL,
+                    "Retry in %d secs. Message reprinted in %d secs",
+                    MYF(ME_BELL | ME_NOREFRESH),
+                    MY_WAIT_FOR_USER_TO_FIX_PANIC,
+                    MY_WAIT_GIVE_USER_A_MESSAGE * MY_WAIT_FOR_USER_TO_FIX_PANIC );
+  VOID(sleep(MY_WAIT_FOR_USER_TO_FIX_PANIC));
+}

=== modified file 'mysys/my_fstream.c'
--- a/mysys/my_fstream.c	2007-05-10 09:59:39 +0000
+++ b/mysys/my_fstream.c	2009-03-06 09:38:14 +0000
@@ -131,10 +131,8 @@ size_t my_fwrite(FILE *stream, const uch
       if ((errno == ENOSPC || errno == EDQUOT) &&
           (MyFlags & MY_WAIT_IF_FULL))
       {
-        if (!(errors++ % MY_WAIT_GIVE_USER_A_MESSAGE))
-          my_error(EE_DISK_FULL,MYF(ME_BELL | ME_NOREFRESH),
-                   "[stream]",my_errno,MY_WAIT_FOR_USER_TO_FIX_PANIC);
-        VOID(sleep(MY_WAIT_FOR_USER_TO_FIX_PANIC));
+        wait_for_free_space("[stream]", errors);
+        errors++;
         VOID(my_fseek(stream,seekptr,MY_SEEK_SET,MYF(0)));
         continue;
       }

=== modified file 'mysys/my_pread.c'
--- a/mysys/my_pread.c	2007-10-11 15:07:40 +0000
+++ b/mysys/my_pread.c	2009-03-06 09:38:14 +0000
@@ -161,10 +161,8 @@ size_t my_pwrite(int Filedes, const ucha
     if ((my_errno == ENOSPC || my_errno == EDQUOT) &&
         (MyFlags & MY_WAIT_IF_FULL))
     {
-      if (!(errors++ % MY_WAIT_GIVE_USER_A_MESSAGE))
-	my_error(EE_DISK_FULL,MYF(ME_BELL | ME_NOREFRESH),
-		 my_filename(Filedes),my_errno,MY_WAIT_FOR_USER_TO_FIX_PANIC);
-      VOID(sleep(MY_WAIT_FOR_USER_TO_FIX_PANIC));
+      wait_for_free_space(my_filename(Filedes), errors);
+      errors++;
       continue;
     }
     if ((writenbytes && writenbytes != (size_t) -1) || my_errno == EINTR)

=== modified file 'mysys/my_write.c'
--- a/mysys/my_write.c	2007-10-25 04:22:14 +0000
+++ b/mysys/my_write.c	2009-03-06 09:38:14 +0000
@@ -54,10 +54,8 @@ size_t my_write(int Filedes, const uchar
     if ((my_errno == ENOSPC || my_errno == EDQUOT) &&
         (MyFlags & MY_WAIT_IF_FULL))
     {
-      if (!(errors++ % MY_WAIT_GIVE_USER_A_MESSAGE))
-	my_error(EE_DISK_FULL,MYF(ME_BELL | ME_NOREFRESH),
-		 my_filename(Filedes),my_errno,MY_WAIT_FOR_USER_TO_FIX_PANIC);
-      VOID(sleep(MY_WAIT_FOR_USER_TO_FIX_PANIC));
+      wait_for_free_space(my_filename(Filedes), errors);
+      errors++;
       continue;
     }
 

Thread
bzr push into mysql-5.1-bugteam branch (zhenxing.he:2837) Bug#37416Bug#39843 Bug#40363 Bug#40657 Bug#41305 Bug#41465 Bug#42790He Zhenxing9 Mar