Commit da68e3d6 authored by unknown's avatar unknown
Browse files

Changed innobase_flush_log_at_trx_commit to be 1 as default

Fixed problem with not freed thr_alarm() on slave connect


mysql-test/t/rpl_alter.test:
  Changed name of created test database
sql/ha_innobase.cc:
  Changed innobase_flush_log_at_trx_commit to be 1 as default
sql/mini_client.cc:
  Fixed problem with not freed thr_alarm()
sql/mysqld.cc:
  Allocate some extra thr_alarm slots just to be safe
sql/slave.cc:
  Simple code cleanup
parent 2090bc6e
Loading
Loading
Loading
Loading
+11 −11
Original line number Diff line number Diff line
source include/master-slave.inc;
connection master;
use test;
drop database if exists d1;
create database d1;
create table d1.t1 ( n int);
alter table d1.t1 add m int;
insert into d1.t1 values (1,2);
create table d1.t2 (n int);
insert into d1.t2 values (45);
rename table d1.t2 to d1.t3, d1.t1 to d1.t2;
drop database if exists test_$1;
create database test_$1;
create table test_$1.t1 ( n int);
alter table test_$1.t1 add m int;
insert into test_$1.t1 values (1,2);
create table test_$1.t2 (n int);
insert into test_$1.t2 values (45);
rename table test_$1.t2 to test_$1.t3, test_$1.t1 to test_$1.t2;
save_master_pos;
connection slave;
sync_with_master;
select * from d1.t2;
select * from d1.t3;
select * from test_$1.t2;
select * from test_$1.t3;
connection master;
drop database d1;
drop database test_$1;
save_master_pos;
connection slave;
sync_with_master;
+1 −1
Original line number Diff line number Diff line
@@ -113,7 +113,7 @@ my_bool innobase_fast_shutdown = TRUE;
2 : write to the log file at each commit, but flush to disk only once per
second */

long     innobase_flush_log_at_trx_commit	= 0;
long     innobase_flush_log_at_trx_commit	= 1;

/* The following counter is used to convey information to InnoDB
about server activity: in selects it is not sensible to call
+5 −7
Original line number Diff line number Diff line
@@ -515,8 +515,6 @@ mc_mysql_connect(MYSQL *mysql,const char *host, const char *user,
		      host ? host : "(Null)",
		      db ? db : "(Null)",
		      user ? user : "(Null)"));
  thr_alarm_init(&alarmed);
  thr_alarm(&alarmed,(uint) net_read_timeout,&alarm_buff);

  bzero((char*) &mysql->options,sizeof(mysql->options));
  net->vio = 0;				/* If something goes wrong */
@@ -598,7 +596,11 @@ mc_mysql_connect(MYSQL *mysql,const char *host, const char *user,
      host=LOCAL_HOST;
    sprintf(host_info=buff,ER(CR_TCP_CONNECTION),host);
    DBUG_PRINT("info",("Server name: '%s'.  TCP sock: %d", host,port));
    if ((sock = socket(AF_INET,SOCK_STREAM,0)) == SOCKET_ERROR)
    thr_alarm_init(&alarmed);
    thr_alarm(&alarmed, net_read_timeout, &alarm_buff);
    sock = (my_socket) socket(AF_INET,SOCK_STREAM,0);
    thr_end_alarm(&alarmed);
    if (sock == SOCKET_ERROR)
    {
      net->last_errno=CR_IPSOCK_ERROR;
      sprintf(net->last_error,ER(net->last_errno),socket_errno);
@@ -641,12 +643,8 @@ mc_mysql_connect(MYSQL *mysql,const char *host, const char *user,
			  socket_errno,host));
      net->last_errno= CR_CONN_HOST_ERROR;
      sprintf(net->last_error ,ER(CR_CONN_HOST_ERROR), host, socket_errno);
      if (thr_alarm_in_use(&alarmed))
	thr_end_alarm(&alarmed);
      goto error;
    }
    if (thr_alarm_in_use(&alarmed))
      thr_end_alarm(&alarmed);
  }

  if (!net->vio || my_net_init(net, net->vio))
+6 −2
Original line number Diff line number Diff line
@@ -1433,8 +1433,12 @@ static void *signal_hand(void *arg __attribute__((unused)))
  my_thread_init();				// Init new thread
  DBUG_ENTER("signal_hand");

  /* Setup alarm handler */
  init_thr_alarm(max_connections+max_insert_delayed_threads);
  /*
    Setup alarm handler
    This should actually be '+ max_number_of_slaves' instead of +10,
    but the +10 should be quite safe.
  */
  init_thr_alarm(max_connections+max_insert_delayed_threads+10);
#if SIGINT != THR_KILL_SIGNAL
  (void) sigemptyset(&set);			// Setup up SIGINT for debug
  (void) sigaddset(&set,SIGINT);		// For debugging
+1 −4
Original line number Diff line number Diff line
@@ -784,9 +784,6 @@ static int safe_sleep(THD* thd, int sec)
    */
    thr_alarm(&alarmed, 2 * nap_time,&alarm_buff);
    sleep(nap_time);
    // if we wake up before the alarm goes off, hit the button
    // so it will not wake up the wife and kids :-)
    if (thr_alarm_in_use(&alarmed))
    thr_end_alarm(&alarmed);
    
    if (slave_killed(thd))