Commit graph

97 commits

Author SHA1 Message Date
monty@mysql.com
458a947f6c Fixed bug in table level privilege GRANT handling. (Bug #2178)
Portability fixes
2003-12-26 12:32:02 +02:00
guilhem@gbichot2
05e5a35bf2 Replication:
Now the I/O thread (in flush_master_info()) flushes the relay log to disk
after reading every event. Slower but provides additionnal safety in case
of brutal crash.
I had to make the flush optional (i.e. add a if(some_bool_argument) in the function)
because sometimes flush_master_info() is called when there is no usable
relay log (the relay log's IO_CACHE is not initialized so can't be flushed).
2003-11-23 17:02:59 +01:00
monty@narttu.mysql.fi
4e4725377d Merge with 4.0 2003-11-04 09:40:36 +02:00
monty@narttu.mysql.fi
3ebe794733 Portability fix 2003-11-02 16:38:27 +02:00
guilhem@mysql.com
c1f7f33960 4 small items in this:
- when we don't have in_addr_t, use uint32.
- a forgotten initialization of slave_proxy_id in sql/log_event.cc (was not really "forgot", was
"we needn't init it there", but there was one case where we needed...).
- made slave_proxy_id always meaningful in THD and Log_event, so we can
rely more on it (no need to test if it's meaningful). THD::slave_proxy_id
is equal to THD::thread_id except for the slave SQL thread.
- clean up the slave's temporary table (i.e. free their memory) when slave
server shuts down.
2003-10-31 23:20:23 +01:00
guilhem@gbichot2
c0075fa64b Final push for WL#1098:
"Add a column "Timestamp_of_last_master_event_executed" in SHOW SLAVE STATUS".
Finally this is adding
- Slave_IO_State (a copy of the State column of SHOW PROCESSLIST for the I/O thread,
so that the users, most of the time, has enough info with only SHOW SLAVE STATUS).
- Seconds_behind_master. When the slave connects to the master it does SELECT UNIX_TIMESTAMP()
on the master, computes the absolute difference between the master's and the slave's clock.
It records the timestamp of the last event executed by the SQL thread, and does a
small computation to find the number of seconds by which the slave is late.
2003-10-09 00:06:21 +02:00
monty@narttu.mysql.fi
6056cfadfc Merge with 4.0.16 2003-10-07 15:42:26 +03:00
guilhem@mysql.com
9f4d29c3f3 Reverting changeset 1.1590 2003-10-02 16:25:47 +02:00
guilhem@mysql.com
301a30cbdd Follow-up of an IRC discussion today. Declaring ignore_log_space_limit volatile,
and a comment to explain why.
2003-10-01 18:40:27 +02:00
dlenev@mysql.com
2c24b2e9b4 Manual merge after commiting START SLAVE UNTIL 2003-09-14 01:57:09 +04:00
dlenev@dlenev.mshome
c0cfae1c8d Implemented support for START SLAVE UNTIL (WL#868) 2003-09-14 00:13:41 +04:00
guilhem@mysql.com
59663fc661 * Fix for BUG#1248: "LOAD DATA FROM MASTER drops the slave's db unexpectedly".
Now LOAD DATA FROM MASTER does not drop the database, instead it only tries to
create it, and drops/creates table-by-table.
* replicate_wild_ignore_table='db1.%' is now considered as "ignore the 'db1'
database as a whole", as it already works for CREATE DATABASE and DROP DATABASE.
2003-09-11 23:17:28 +02:00
monty@narttu.mysql.fi
4b3b4b9250 merge 2003-09-03 19:53:08 +03:00
dlenev@mysql.com
73ab4be246 Manual merge fixes 2003-09-01 16:14:54 +04:00
dlenev@dlenev.mshome
2486222cd2 Implemented replication over SSL
Added proper options to CHANGE MASTER TO, new fields to SHOW SLAVE STATUS,
 Honoring this parameters during connection to master.
 Introduced new format of master.info file
2003-09-01 15:16:20 +04:00
monty@narttu.mysql.fi
77a70a0a24 merge with 4.0.15 2003-08-29 13:44:35 +03:00
guilhem@mysql.com
cc29458056 comments about mutexes in replication.
Don't start the SQL slave thread with SQL_BIG_SELECTS;
it's better to inhibate max_join_size instead.
2003-08-25 16:20:21 +02:00
monty@mashka.mysql.fi
2263e3e51f Merge with 4.0.14 2003-08-11 22:44:43 +03:00
monty@mashka.mysql.fi
6e7a509d06 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mashka.mysql.fi:/home/my/mysql-4.0
2003-08-07 20:18:51 +03:00
monty@mashka.mysql.fi
8f08c511ee Review of changesets since last pull.
(Mostly code cleanups)
2003-08-07 20:16:37 +03:00
guilhem@mysql.com
bb12d905cb 2 bugfixes:
- Bug #985: "Between RESET SLAVE and START SLAVE, SHOW SLAVE STATUS is wrong."
Now RESET SLAVE puts correct info in mi->host etc. A new test rpl_reset_slave
for that.
- Bug #986: "CHANGE MASTER & START SLAVE do not reset error columns in SHOW
SLAVE STATUS". Now these reset the errors.
2003-08-04 10:59:44 +02:00
guilhem@mysql.com
df3b31f3c4 WL#1036 (print the db in slave error messages).
I extended the task to cleaning error messages, making them look nicer,
and making the output of SHOW SLAVE STATUS (column Last_error) be as complete
as what's printed on the .err file;
previously we would have, for a failure of a replicated LOAD DATA INFILE:
- in the .err, 2 lines:
"duplicate entry 2708 for key 1"
"failed loading SQL_LOAD-5-2-2.info"
- and in SHOW SLAVE STATUS, only:
"failed loading SQL_LOAD-5-2-2.info".
Now SHOW SLAVE STATUS will contain the concatenation of the 2 messages.
2003-07-24 22:25:36 +02:00
guilhem@gbichot2
9a5ac78f4c On Feb 4th, 2003, Monty said he would push my patch to print replicate-do-table
and other replicate-*-table options in SHOW SLAVE STATUS.
Seems like it had not been done, so I push it now:
there's 4 new columns to SHOW SLAVE STATUS.
2003-07-23 15:46:46 +02:00
guilhem@mysql.com
e386d0e126 Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2003-07-06 18:01:39 +02:00
guilhem@mysql.com
9c73d91d54 WL#912 (more user control on relay logs):
FLUSH LOGS now rotates relay logs,
and a new variable max_relay_log_size.
Plus a very small bit of code cleaning.
2003-07-06 17:59:54 +02:00
monty@narttu.mysql.fi
f3af0d7ce4 Status query on killed mysql connection results in segmentation fault (Bug #738)
Added MAX_PASSWORD_LENGTH. This increased master-slave passwords to 32 bytes (Bug #766)
Fixed server crash on purge master logs or show master logs when binlog is off. (Bug #733)
2003-07-04 03:18:15 +03:00
pem@mysql.com
b3f153507e Added missing (char*) casts in bzero calls.
(Needed for platforms with the traditional bzero prototype.)
Fixes BUG#460.
2003-07-03 01:08:34 +02:00
guilhem@mysql.com
cd36523784 See each file's changeset for details.
- Comments for future devs.
- Start_log_event::exec_event() : when we hit it, do a rollback.
- We don't need LOG_EVENT_FORCED_ROTATE_F.
- Stop_log_event::exec_event() : when we hit it, we needn't clean anything.
- Removed LOG_EVENT_TIME_F and LOG_EVENT_FORCED_ROTATE_F.
- We don't need Stop events in the relay log.
- Now filtering of server id is done in the I/O thread first.
2003-06-12 16:20:31 +02:00
guilhem@mysql.com
60fb005e5e Fix for bug 254 :
we now make a distinction between if the master is < 3.23.57, 3.23 && >=57, and 4.x
(before the 2 3.23 were one). This is because in 3.23.57 we have a way to distinguish between
a Start_log_event written at server startup and one written at FLUSH LOGS, so we
have a way to know if the slave must drop old temp tables or not.
Change: mi->old_format was bool, now it's enum (to handle 3 cases). However, functions
which had 'bool old_format' as an argument have their prototypes unchanged, because
the old old_format == 0 now corresponds to the enum value BINLOG_FORMAT_CURRENT which
is equal to 0, so boolean tests are left untouched. The only case were we use mi->old_format
as an enum instead of casting it implicitly to a bool, is in Start_log_event::exec_event,
where we want to distinguish between the 3 possible enum values.
2003-06-06 16:41:28 +02:00
venu@myvenu.com
99ceb8fd04 Windows build fixups (Fix for slave_net_timeout) 2003-06-03 22:57:42 -07:00
guilhem@mysql.com
b03ec0d7db Replication: new code to not modify in-memory log positions until the COMMIT
is executed, even if the transaction spans on >=2 relay logs (bug #53).
New variable relay_log_purge =0|1
New test to verify bug #53
2003-04-24 15:29:25 +02:00
monty@narttu.mysql.fi
b883a9c01c Merge with 4.0.12 2003-03-19 22:25:44 +02:00
guilhem@mysql.com
87e1c552ed New variable rli->ignore_log_space_limit to resolve
a deadlock between I/O and SQL threads in replication
when relay_log_space is too small. This fixes bug #79.
2003-03-17 22:51:56 +01:00
monty@narttu.mysql.fi
a434bca704 Merge with 4.0 2003-03-16 19:17:54 +02:00
guilhem@mysql.com
e66992aef5 Replication: simplification of init_relay_log_pos: always initialize,
remove variable rli->log_pos_current.
2003-03-02 00:45:19 +01:00
papa@gbichot.local
264d8c095d Replication: give the slave I/O thread a higher priority than the slave SQL thread
so that it has fetched the most from the master's binlog before the master
accidently dies. SCRUM task #756.
2003-03-01 23:59:27 +01:00
monty@mashka.mysql.fi
023d6dd39b Merge with 4.0.11 2003-02-04 21:52:14 +02:00
monty@mashka.mysql.fi
689578a099 Fixes for Netware
Call pthread_mutex_destroy() on not used mutex.
Changed comments in .h and .c files from // -> /* */
Added detection of mutex on which one didn't call pthread_mutex_destroy()
Fixed bug in create_tmp_field() which causes a memory overrun in queries that uses "ORDER BY constant_expression"
Added optimisation for ORDER BY NULL
2003-01-28 08:38:28 +02:00
monty@mashka.mysql.fi
fa7a94ed14 Added timeout for wait_for_master_pos
Fixed comparision of log-binary name to handle comparison when file name extension wraps from .999 to .1000
Don't replicate CREATE/DROP DATABASE if wild_xxx_table=database.% is used.
2003-01-25 15:07:51 +02:00
hf@deer.mysql.r18.ru
96089e2b3a resolving conflicts 2003-01-15 13:15:35 +04:00
hf@deer.mysql.r18.ru
c59bff7c96 SCRUM
embedded library trimming
2003-01-15 12:11:44 +04:00
monty@mashka.mysql.fi
07daf3169e Merge with 4.0.8 2003-01-03 00:04:33 +02:00
hf@deer.mysql.r18.ru
e3b3b68307 Big purge about embedded library (scrum) 2002-12-16 17:33:29 +04:00
monty@mashka.mysql.fi
5022e56cba Ensure that BEGIN / COMMIT is handled properly if slave dies
Added syntax support for
CREATE TABLE foo (a char CHARACTER SET latin1) CHARSET=latin1;
2002-12-11 15:46:39 +02:00
monty@mashka.mysql.fi
dac6498f9b Merge with 4.0 2002-11-21 15:56:48 +02:00
monty@butch.
a2bdf9265f Portability fixes for Fortre C++ 5.0 (on Sun) in 32 and 64 bit modes. 2002-11-07 03:54:00 +02:00
nick@mysql.com
6ea83e1127 Added comment blocks for all functions 2002-10-29 15:12:47 -07:00
monty@mashka.mysql.fi
f3a186c905 Portability fixes.
Improve mysql-test to be more robust.
Fix that GRANT doesn't delete SSL options
Change innobase_flush_log_at_trx_commit to uint.
Don't rotate logs if we read a rotate log entry from the master.
2002-09-11 06:40:08 +03:00
monty@mashka.mysql.fi
04723cf74d Give better error from reconnect()
Fixed hang in start_slave_threads() when thread dies quickly.
2002-08-24 05:44:16 +03:00
monty@hundin.mysql.fi
7dac7062fa Changed relay_log_space to ulonglong
Removed compiler warnings.
2002-08-23 15:14:01 +03:00