Commit Graph

143 Commits

Author SHA1 Message Date
28bd7c2202 Merge branch '1.2.1-binlog_router_trx' into develop 2016-02-19 18:51:59 +02:00
59f5880898 Added missing OK byte to payload size calculation
The OK byte was not taken into notice when the total size of all the payloads
in all the packets was calculated.
2016-02-17 08:30:50 +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
cd2af6ffef Cleaned up the code based on the code review
Added missing error condition checks and cleaned up code.
2016-02-16 13:06:25 +02:00
a55f017c75 Fixed packets with a length of one being ignored
The packets were not written into the binlogs which caused binlog corruption.
2016-02-16 13:06:25 +02:00
9306b9d68c Added detection of checksums split across two packets
The checksums should now be processed properly event if the event is in more than
one packet.
2016-02-16 13:06:25 +02:00
36896afcbd Fixed missing NULL check when reading records
If the binlog record was not found, a NULL pointer is returned. There was no
check for the return value and it assumed that it was always non-NULL.
2016-02-16 13:06:25 +02:00
74c8b5e296 Fixed events larger than 2^24 failing without transaction safety
If transaction safety was disabled and a large event sent in multiple SQL
packets was received, the distribution of that event to the slaves would fail.
2016-02-16 13:06:25 +02:00
2b7e2d3043 Added checksum calculations for events larger than 2^24 bytes
The checksums are now properly calculated for large events that span multiple
SQL packets.
2016-02-16 13:06:25 +02:00
3609f97ba0 Fixed events which are exactly 0x00fffffe bytes long failing to replicate
The empty packet sent after a large event which fits into exactly one packet
was written to disk and the writing of no bytes caused it to be treated as
an error.
2016-02-16 13:06:25 +02:00
476691eda1 Removed log message for event larger than 16MB
The log message used during tests is now removed
2016-02-16 13:06:25 +02:00
3e04a36ac3 Added support for distribution of packets larger than 2^24 bytes
Moved the the sending of the replication events to a different function
and added support for events that span multiple MySQL packets.
2016-02-16 13:06:25 +02:00
d2b4713d27 Added missing condition to else clause
This fixes all packets being considered as large packets.
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
d3e1d4dd2f First fix for 16MB handling in the master part
First fix for 16MB handling in the master part.

Distribute events to up to date slave is not included yet
2016-02-16 13:06:24 +02: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
0deffbf2f2 Ensure that slave->cstate contains meaningful value.
In blr_slave_callback the bits of slave->cstate are reset and
set as one transaction. Earlier they were reset in one and
set in another, leading to a situation where slave->cstate did
not contain a sensible value for a short period of time.

Further, it is now explicitly checked in blr_distribute_binlog_record
that slave->cstate indeed contains a meaningful value.
2016-01-28 11:00:07 +02:00
2715d3f8e4 Removed the 16 chars limitation for binlog file name
Removed the 16 chars limitation for binlog file name
2016-01-07 15:30:57 +01:00
d99cece151 Removed the 16 chars limitation for binlog file name
Removed the 16 chars limitation for binlog file name
2016-01-07 15:29:11 +01:00
49cf4089fc Make state-change logging conditional. 2015-12-10 15:50:20 +02:00
f49bd06a7e Reduce logging of binlog server
Only the true state changes of a slave - up-to-date -> catch-up
or catch-up to up-to-date - are logged.
2015-12-10 15:50:20 +02:00
3f31f5548d Addition of slave transition to catchup mode in logging
Addition of slave transition to catchup mode in logging
2015-12-10 15:50:20 +02:00
231a620dc0 Remove >= 0 check from unsigned type. 2015-12-08 14:37:21 +02:00
2f54f33cfb Make state-change logging conditional. 2015-12-03 09:54:31 +02:00
af7a19b7b3 Reduce logging of binlog server
Only the true state changes of a slave - up-to-date -> catch-up
or catch-up to up-to-date - are logged.
2015-12-02 15:23:55 +02:00
a53213093a Addition of slave transition to catchup mode in logging
Addition of slave transition to catchup mode in logging
2015-12-01 16:16:14 +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
82dc3ff3c5 Update lastReply with heartbeat event
Update lastReply when heartbeat event is seen and a transaction is
still open
2015-11-17 09:47:21 +01:00
a90b336cc4 blr_master_reconnect instead of blr_start_master
blr_master_reconnect instead of blr_start_master in
blr_stop_start_master
2015-11-16 15:55:08 +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
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
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
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
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
680589ed46 Slave heartbeat period is reported in diagnostics
Slave heartbeat period is reported in diagnostics only if router option
is set
2015-09-30 15:21:18 +02:00
f9ee9ca028 Addition of send_slave_heartbeat option
Addition of send_slave_heartbeat option
2015-09-30 14:39:26 +02:00
b6df52a68e Addition of slave heartbeat check
Addition of slave heartbeat check
2015-09-25 15:58:36 +02:00
89748d9b21 Binlog identity log message update
Binlog identity log message update
2015-09-18 11:18:32 +02:00
81e186fd92 server-id reported as server_id in binlog_identity log
server-id reported as server_id in binlog_identity log
2015-09-18 10:09:11 +02:00
3822cae9c2 blr_log_identity() moved to the right location
blr_log_identity() moved to the right location
2015-09-16 17:28:32 +02:00
e4677fbd44 Log message fix
Log message fix
2015-09-16 17:16:20 +02:00
faaf33918d Binlog Identity is logged with MESSAGE
Binlog Identity is logged with MESSAGE
2015-09-16 15:44:50 +02:00
fac4b3ff11 Fix for MariaDB 10
Fix for MariaDB 10
2015-09-15 19:10:23 +02:00
c12233db0d Small fixes
Small fixes
2015-09-15 16:50:15 +02:00