Commit Graph

123 Commits

Author SHA1 Message Date
6988c0bfed Fixed rotate events never being distributed
The check for rotate event conditions was wrong which led to false error
message about unexpected binlog file and position combinations.

The position of the last event was reset every time a file was opened which
caused problems when the binlog file was rotated. The slave's current positions
were compared to the position where the last event started and because the
last_event_pos variable didn't point to the rotate event of the previous binlog,
the slave's never got the rotate event.
2016-04-14 11:02:03 +03:00
5070b81473 Reformat binlog router. 2016-03-15 12:56:41 +02:00
63ce9fe6bc Fixed formatting and added more error checks
Added log messages when ftruncate fails and cleaned up formatting.
2016-02-16 13:06:25 +02:00
12ee568978 Fixed last_written being set to the size of the event
The addition used =+ instead of += which caused it to be an assignment.
2016-02-16 13:06:25 +02:00
ae33df3cbc Large events are now processed in chuncks
The router->last_written is used to store the position where the last event was
written. The replication header is also stored in a separate structure in
the router which is used later when the last packet of a multi-packet event
arrives.
2016-02-16 13:06:24 +02:00
0ab9733393 The router->rotating is no longer part of Unsafe Pos check
In blr_read_binlog the router->rotating is no longer used for Unsafe
Pos check
2016-02-01 09:12:48 +01:00
d9b022db10 Protect updating of router when rotating.
When rotating, all state variables of router are now updated while
protected by the router->binlog_lock lock.
2016-01-28 15:23:22 +02:00
a5ccf09ac5 Unsafe position is no longer an error
The unsafe slave position is no longer an error and will be treated the
same way if no events are available i.e. the slaves are no longer disconnected.

The log messages now have more information such as the current committed
transaction event being processed and the number of events sent by the
current thread.
2015-12-30 18:13:07 +02:00
82914d43d2 Removed extra brace
Removed extra brace
2015-12-17 16:25:04 +01:00
b55f100e1f Changed behaviour for a slave requesting master_log_pos beyond binlog file size
Slave request for a log_pos behind binlog file size may result in a
disconnection or replication error:

if binlog file is latest one slave get disconnected otherwise an error
message is returned and replication stops
2015-12-17 15:45:16 +01:00
592e4d06cb Changed name for bad fd
Changed name for bad fd
2015-11-30 10:22:47 +01:00
ba135c5548 Log messages fix with slave ip:port and id
Log messages fix with slave ip:port and id
2015-11-30 10:22:12 +01:00
e38334c457 Fix locking issue in blr_close_binlog
In blr_open_binlog the refcnt increase of file which is already
open is protected by router->fileslock. In blr_close_binlog the
decrease of the refcnt was protected by file->lock.

This lead to a situation where it was possible that a file was
closed and the file instance freed, even though it just had been
taken into use by somebody else.

This is now fixed by solely using the router->fileslock for protecting
the increase and decrease of the refcnt.
2015-11-26 10:34:34 +02:00
99fdf9cdec Fixed reference to LOGIF macro
Fixed reference to LOGIF macro
2015-11-19 17:54:23 +01:00
023d4bc588 Develop merge
Develop merge
2015-11-19 17:06:30 +01:00
afdeb6fa5b binlogrouter: All LOGIFs and skygw_log_writes replaced.
All LOGIFs and skygw_log_writes replaced with the equivalent
MXS_[ERROR|WARNING|NOTICE|INFO|DEBUG] macros.
2015-11-18 12:35:21 +02:00
f06eec13f6 Merge branch 'develop' into 1.2.1-binlog_router_trx 2015-11-17 09:50:25 +01:00
a355e1beef Printf format checking added to logging function.
Printf format checking added to logging function and all
issues that were revealed by that fixed.
2015-11-16 12:40:49 +02:00
5e71ff093f Log message updates
Log message updates
2015-11-06 18:28:41 +01:00
00c506b029 Fix for rotate and catchup with transaction_safety = 1
Fix for rotate and catchup with transaction_safety = 1
2015-11-06 18:14:52 +01:00
e8c1c82265 Removed failed fstat message
Removed failed fstat message
2015-11-04 17:54:41 +01:00
c37b33c60e Merge branch '1.2.1-binlog_router_trx' into develop 2015-11-04 16:42:30 +01:00
685e674009 Log message update
Log message update
2015-11-04 16:41:27 +01:00
d51ac7ab7d Disconnect slave when pos is UNSAFE
Disconnect slave when pos is UNSAFE instead of sending an error that
stops the replication
2015-11-04 16:24:46 +01:00
834a88aeda Log variables moved to log_manager.h
The log manager variables lm_enabled_log_files_bitmask, log_ses_count
and tls_log_info that earlier were declared separately in every
c-file are now declared in the log_manager.h header.
2015-11-04 14:26:53 +02:00
2594c83117 Missing format specified added. 2015-11-03 14:21:20 +02:00
99720ffa9f Merge branch 'develop' into 1.2.1-binlog_router_trx 2015-10-28 10:15:52 +01:00
3c30827f16 Report blr_print_binlog_details only if pos > 4
Report blr_print_binlog_details only if  pos > 4
2015-10-28 10:15:05 +01:00
d7d009f3b3 Merge from develop
Merge from develop
2015-10-28 09:38:31 +01:00
a718c995ae Added blr_print_binlog_details
Added blr_print_binlog_details
2015-10-27 17:33:15 +01:00
8208f3a728 strerror_r update
strerror_r update
2015-10-23 18:44:39 +02:00
3be5238bd7 Fixed indentation. 2015-10-23 15:05:51 +03:00
63f4bc3aec Changed from router->binlog_lock to router->lock for transaction safety code and cleaned up code. 2015-10-23 14:54:08 +03:00
40ffe21dd8 Added a variable for current event being processed after a transaction is committed. 2015-10-23 12:33:51 +03:00
9b65e0b8b6 Fixed compiler warnings. 2015-10-14 10:58:32 +03:00
78252fcb78 Message logs changed for slave request errors
Log messages changed for slave request errors
2015-10-02 18:30:19 +02:00
1e76de540f Added blr_distribute_error_message when distributing transaction events
Added blr_distribute_error_message when distributing transaction events
2015-10-02 09:46:52 +02:00
d31e081e45 Changed log messages for blr_read_binlog, added slave send error feaure
Changed log messages for blr_read_binlog, added slave send error feaure.

When blr_read_binlog detects an error an error message with 1236 code
is sent to the slave and it will stop the replication to binlogrouter
2015-10-01 17:03:48 +02:00
21509616e9 Fix routine argument type
Fix routine argument type
2015-09-30 14:47:48 +02:00
b6df52a68e Addition of slave heartbeat check
Addition of slave heartbeat check
2015-09-25 15:58:36 +02:00
2c12ba3d16 Various fixes
Various fixes for initialisation and packet size allocation
2015-09-21 09:00:20 +02:00
2ce6012506 Various fixes
Various fixes for initialisation and packet size allocation
2015-09-21 08:44:33 +02:00
511e0fe119 Merge Fix from develop
Merge Fix from develop
2015-09-18 16:10:41 +02:00
8d5ca11374 Fixed: spinlock_release is before free
Fixed: spinlock_release is before free
2015-09-18 16:05:22 +02:00
374056cecc Valgrind fixes
Valgrind fixes
2015-09-15 16:18:10 +02:00
c2c27d7cca Merge from develop
Merge from develop
2015-09-14 09:49:33 +02:00
955974d06b Removed unused XID var
Removed unused XID var
2015-09-14 09:43:13 +02:00
bb72b0c892 Fixed compiler warnings. 2015-09-12 04:46:47 +03:00
520198b870 Removed previous conflict line
Removed previous conflict line
2015-09-10 15:06:46 +02:00
c9fd82839b Merge from develop
Merge from develop
2015-09-10 14:53:50 +02:00