Commit graph

198 commits

Author SHA1 Message Date
monty@hundin.mysql.fi
7dac7062fa Changed relay_log_space to ulonglong
Removed compiler warnings.
2002-08-23 15:14:01 +03:00
monty@hundin.mysql.fi
f36f9d00ff Fixed bug in wait_for_update() that I had introduced.
Changed option variables to my_bool (to avoid bugs in my_getopt())
Added new thread specific mutex LOCK_delete to be able to free LOCK_thread_count early.
Changed usage of LOCK_thread_count -> LOCK_status for statistics variables
2002-08-22 16:50:58 +03:00
monty@hundin.mysql.fi
03b0179af9 Use our version of RWLOCKS on UNIXWARE 7
More DBUG info for replication
Better error messages from replication
Fixed bug in replication code when connecting to 'localhost' (time was not released properly)
Block ALARM signal on Linux for signal handler thread (Fixes problem with running mysqld with --debug)
Removed warning when setting an AUTO_INCREMENT field to NULL
2002-08-21 22:04:22 +03:00
monty@mashka.mysql.fi
2c4fa340cc Lots of code fixes to the replication code (especially the binary logging and index log file handling)
Fixed bugs in my last changeset that made MySQL hard to compile.
Added mutex around some data that could cause table cache corruptions when using OPTIMIZE TABLE / REPAIR TABLE or automatic repair of MyISAM tables.
Added mutex around some data in the slave start/stop code that could cause THD linked list corruptions
Extended my_chsize() to allow one to specify a filler character.
Extend vio_blocking to return the old state (This made some usage of this function much simpler)
Added testing for some functions that they caller have got the required mutexes before calling the function.
Use setrlimit() to ensure that we can write core file if one specifies --core-file.
Added --slave-compressed-protocol
Made 2 the minimum length for ft_min_word_len
Added variables foreign_key_checks & unique_checks.
Less logging from replication code (if not started with --log-warnings)
Changed that SHOW INNODB STATUS requre the SUPER privilege
More DBUG statements and a lot of new code comments
2002-08-08 03:12:02 +03:00
monty@mashka.mysql.fi
bc035c71f1 Merge with 3.23.51
Fixed wrong usage of sprintf() in ha_innodb.cc
2002-07-25 22:46:28 +03:00
salle@geopard.online.bg
b472f401b1 Some
C++ comments cleanup
2002-07-17 15:17:20 +03:00
heikki@hundin.mysql.fi
a4b29743bc slave.h, slave.cc:
Do not flush the position to master.info file if we have a transaction open
2002-06-22 20:00:32 +03:00
monty@mashka.mysql.fi
2aecdd1a91 Big code cleanup/review before 4.0.2 release.
(All commit emails since 4.0.1 checked)
This had to be done now, before the 4.1 tree changes to much, to make it easy to propagate bug fixes to the 4.1 tree.
2002-06-11 11:20:31 +03:00
monty@hundin.mysql.fi
e4130b11c9 removed init_count from IO_CACHE.
Added missing mutex_unlock to slave replication code.
2002-06-05 23:04:38 +03:00
jani@hynda.(none)
ff7016e962 Fixed a bug. 2002-05-29 15:29:42 +03:00
monty@hundin.mysql.fi
7d276c3bb8 Portability fix 2002-04-30 16:40:46 +03:00
sasha@mysql.sashanet.com
08623f050c replication bugfixes 2002-04-25 07:33:02 -06:00
sasha@mysql.sashanet.com
d7b7e09293 reckless slave option
bison 1.34 yacc rule compliance
more robust handling of relay log corruption
2002-04-15 17:09:30 -06:00
sasha@mysql.sashanet.com
14603a3620 relay_log_space_limit
DBUG_ macro cleanup
buffer boundary cleanup
This changeset, although not fully tested, works for me better than 
anything I've had so far, including what is in the repository. I will 
push it unless something crashes while I am writing this :-)
2002-04-01 21:46:23 -07:00
sasha@mysql.sashanet.com
be388422eb replication updates. This changeset seems to be working fine on test systems.
If no problems are discovered in the next week, this will make the replication
code ready for 4.0.2 release.
2002-03-30 12:36:05 -07:00
sasha@mysql.sashanet.com
a664ca007d fixed the use of unitialized variable - code now works on the test system
of one of our users which replicates from a live server. So I now have a
lot of confidence in it and will push. It passes all tests, so I if I broke
somebody's code in 3.23 merge this is your fault - you should have had a good test
case :-)
2002-03-02 22:00:37 -07:00
sasha@mysql.sashanet.com
6980a24e9d fixes for slave backward compat
fixed bug in LOAD DATA FROM MASTER
fixed rpl000001.result
Slave now replicates 3.23 master, with the exception of LOAD DATA INFILE, 
which is still buggy. Will push this one after the pull/merge
2002-02-07 15:29:46 -07:00
monty@hundin.mysql.fi
6a1b08cbd4 Added --sql-mode=NO_UNSIGNED_SUBTRACTION 2002-01-30 15:32:48 +02:00
monty@hundin.mysql.fi
be46289855 New error messages
Test of unsigned BIGINT values
Fixes for queries-per-hour
Cleanup of replication code (comments and portability fixes)
Make most of the binary log code 4G clean
Changed syntax for GRANT ... QUERIES PER HOUR
2002-01-29 18:32:16 +02:00
sasha@mysql.sashanet.com
7275dcef35 misc replication bugfixes including some needed modifications in IO_CACHE
likely() and unlikely() branch prediction compiler hint macros
clean-up of comments
2002-01-26 22:26:24 -07:00
sasha@mysql.sashanet.com
8e43ad12c3 post-merge fixes, including slave-skip-errors backport
fixed too quick timeout in mysql-test-run which caused a race with the
 new server getting started before the old one completely finished 
 shutdown. This should fix the pid warning we've been getting as well as
 inconsistent results when running tests with the manager
2002-01-22 15:05:11 -07:00
sasha@mysql.sashanet.com
56129ce634 Here comes a nasty patch, although I am not ready to push it yet. I will
first pull, merge,test, and get it to work.

The main change is the new replication code - now we have two slave threads
SQL thread and I/O thread. I have also re-written a lot of the code to 
prepare for multi-master implementation. 

I also documented IO_CACHE quite extensively and to some extend, THD class.
2002-01-19 19:16:52 -07:00
sasha@mysql.sashanet.com
f7acf09d9c slave-skip-errors
added extra/mysql_install.c - will work on it in 4.0, but it does not hurt
to have it sit in 3.23 tree for now since it will eventually be backported 
to 3.23 anyway
2001-12-12 18:55:33 -07:00
sasha@mysql.sashanet.com
beaf95b09d work to enable reading 3.23 logs - not yet finished
moved fail-safe replication routines from sql_repl.cc to repl_failsafe.cc
write start event only in the first log
2001-11-10 22:24:12 -07:00
monty@work.mysql.com
1805368556 merge 2001-10-03 18:00:38 +02:00
monty@hundin.mysql.fi
f5a53594c8 Added usage of --master-retry-count to make mysql-test-run safer. 2001-10-03 16:27:20 +03:00
sasha@mysql.sashanet.com
09eda84f2e LOAD DATA INFILE is now replicated properly, except for cleanup on
Stop event and bugs the test suite could not catch
Did some big restructuring of binlog event classes - most important
change is that now each event class has exec_event method and one does
not need to modify slave core code to add a new event. Slave code is
now much smaller and easier to read
2001-08-03 15:57:53 -06:00
sasha@mysql.sashanet.com
b5f76be024 merged with 3.23 2001-07-17 16:23:36 -06:00
sasha@mysql.sashanet.com
14c23716a6 added slave_net_timeout 2001-07-17 14:22:52 -06:00
sasha@mysql.sashanet.com
5527f9bfc3 mysql-test/t/rpl_sporadic_master.test
fixed test case to produce same results on txn-enabled binary. 
    temporary fix - permanent fix is it make mysqld behave the same with
    MyISAM on auto_increment insert after delete from tbl_name regardless
    of how the binary was compiled
sql/slave.cc
    fixed concurrency bug with log_seq
sql/slave.h
    last_log_seq needs to be updated atomically with pos
sql/sql_repl.cc
    cleared up comment and fixed concurrency bug
2001-07-10 18:08:37 -06:00
sasha@mysql.sashanet.com
27561841d1 merged latest changes in 3.23 2001-07-07 15:35:23 -06:00
monty@tik.mysql.fi
19a99dd3fd dded volatile to replication variable 2001-07-07 23:26:06 +03:00
sasha@mysql.sashanet.com
a91ac47cde show master forced rotate info in SHOW BINLOG EVENTS
mark a master-forced rotate with a special flag
2001-06-23 19:37:24 -06:00
sasha@mysql.sashanet.com
a817bd3862 A slave now can optionally register with the master providing the
info on how to connect to the slave for the clients that connect to
the master, but would like to know where the slaves are
2001-05-30 18:50:56 -06:00
sasha@mysql.sashanet.com
8f6b34f950 updates for LOAD DATA FROM MASTER + some cleanup of replication code 2001-05-28 19:18:23 -06:00
monty@donna.mysql.fi
add70fc1ba Changed pthread_mutex_init() to use new MY_MUTEX_INIT.. macro
(For glibc 2.2)
2001-03-26 01:05:04 +03:00
sasha@mysql.sashanet.com
a2b6410965 untested changes to close socket on slave stop for OS's that do not
interrupt I/O after thr_alarm_kill()

test case for order by desc coredump
2001-03-12 20:17:32 -07:00
monty@donna.mysql.fi
98c70da357 Fixed test cases for innobase
Fixed bug introduced with last ORDER BY optimization
Changed log position to longlong to avoid warnings.
2001-03-07 23:50:44 +02:00
sasha@mysql.sashanet.com
4b9fdfc3f2 ulonglong -> uint32 for log offset
more verbose messages when slave thread exits
2001-02-26 22:27:20 -07:00
sasha@mysql.sashanet.com
e8ffda5397 Added last_errno and last_error to show slave status
slave will skip the first SQL_SLAVE_SKIP_COUNTER events on start - 
this is needed to recover from broken replication when the next log
event(s) should just be skipped.
Rotate binlogs when max_binlog_size is reached
2001-01-24 09:15:34 -07:00
sasha@mysql.sashanet.com
d0f4235a2e rpl000016.test sync
rpl000001.result	BitKeeper file /home/sasha/src/bk/mysql/mysql-test/r/rpl000001.result
ignore  	Added BitKeeper/tmp/bkr3sAHD to the ignore list
slave.h 	MASTER_POS_WAIT
lex.h   	MASTER_POS_WAIT
slave.cc	MASTER_POS_WAIT, do automagic restart on debugging abort, skip rotate events in 
slave.cc	debug abort count
sql_repl.cc	announce the log name at the start of the log with a fake rotate event
item_create.h	MASTER_POS_WAIT
item_func.cc	MASTER_POS_WAIT
item_func.h	MASTER_POS_WAIT
sql_class.h	enter_cond(), exit_cond() helper inliners
item_create.cc	added MASTER_POS_WAIT
mysql-test-run.sh	speed improvement fixes
rpl000007.test	sync
rpl000003.test	sleep -> sync
rpl000004.test	sleep -> sync, fixed clean up bug
rpl000014.test	sync
rpl000009.test	sync
rpl000013.test	sync
rpl000001.test	sleep -> sync
rpl000008.test	sync
rpl000006.test	sync on cleanup
rpl000011.test	sync
rpl000012.test	sync
rpl000005.test	sleep -> sync
rpl000010.test	sync
rpl000015.test	sync
rpl000002.test	sleep -> sync
rpl000014.result	we now know the master log name as soon as we connect
mysql.cc	added optional agrument to --wait
mysqltest.c	added save_master_pos and sync_with_master commands
2001-01-17 05:47:33 -07:00
sasha@mysql.sashanet.com
3cf810222a fixed up leaks found by --exit-info=256
better error diagnostic in SLAVE START
2000-12-09 14:28:51 -07:00
sasha@mysql.sashanet.com
07b36014fc added loops and other cool stuff to mysqltest
fixed slave to preserve temp tables on slave stop; slave start
added abort-slave-event-count option to mysqld to test the above
added a test case for temp tables with a contantly aborting slave
removed warning in sql_parse.cc
fixed thimble.cc to compile
2000-12-02 10:11:50 -07:00
sasha@mysql.sashanet.com
a9ef0b4bf1 slave master.info FILE -> IO_CACHE
send_file() is more stack-friendly - changed large static buffer to alloc_root()
fixed my_b_seek() to work with WRITE_CACHE
test case to make sure the slave starts correctly after being stopped
truncated words file so the replication tests will take less time
2000-11-24 19:49:13 -07:00
sasha@mysql.sashanet.com
46400961f7 mysql-test/mysql-test-run
cleanup - remove unneeded daeamon restarts
sql/log_event.cc
    fixed bug - do not confuse confused slaves even further if they try to 
    read less than LOG_EVENT_HEADER_LEN before the end of file
sql/mysqlbinlog.cc
    give error if constructor fails
sql/mysqld.cc
    --disconnect-slave-event-count for replication debugging
sql/slave.cc
    --disconnect-slave-event-count
    cleanup to remove unneeded sleeps when things go wrong - sleep only 
    when we have to
sql/slave.h
    --disconnect-slave-event-count

test cases for ALTER TABLE ORDER BY and replication offset off by 22 
confusion mystery bug (both pass)
2000-11-22 00:23:31 -07:00
sasha@mysql.sashanet.com
14854a669a fixed warning in sql_class.cc
added gdb support, mysqld options per test, and other cool stuff to mysql-test-run
added --replicate-wild-do/ignore-table
more test cases
2000-11-20 23:38:08 -07:00
sasha@mysql.sashanet.com
f2b9a60ec4 repl-tests/test-repl-ts/repl-timestamp.master.reject
this file needs to be deleted
sql/log_event.cc
    fixed warnings
sql/log_event.h
    fixed () #define bug
sql/mysqlbinlog.cc
    fixed length argument - was supposed to be one less
sql/mysqld.cc
    replicate-do/ignore-table now works, wild does not yet
sql/mysql_priv.h
    updating argument to add_table_to_list() -- needed for replicate-do/ignore table
sql/slave.cc
    changes fore replicate-do/ignore-table
    close the socket before going to sleep sleeping after error
    bad event was being freed too early
sql/slave.h
    changes for replicate-do/ignore-table
sql/sql_class.cc
    slave_thread variable to THD
sql/sql_class.h
    added slave_thread to THD, fixed bug in end_time()
sql/sql_parse.cc
    updating argument to add_tables_to_list()
sql/sql_table.cc
    fixed bug in mysql_rm_table()
sql/sql_yacc.yy
    fixed up add_table_to_list() calls to accept updating argument
sql/table.h
    added updating to TABLE_LIST
2000-11-13 23:43:02 -07:00
sasha@laptop.slkc.uswest.net
a25aed33d9 laptop commit, syncing with the repostitory. Fixed some bad bugs in replication 2000-11-11 14:50:39 -07:00