mirror of
https://github.com/MariaDB/server.git
synced 2025-08-05 13:16:09 +03:00
After hours of unsuccessful research on
BUG#2826 "Seconds behind master weirdness" (sometimes this column of SHOW SLAVE STATUS shows a very big value, in fact a small negative number casted to ulonglong). This problem was reported by only one user, but which uses synchronized time between his servers. As suggested by the user, to hide this I display max(0, the value) so that it will be less confusing. For a user, seeing 0 is probably better than seeing -1 (both tell you that the slave is very close to the master). sql/slave.cc: Don't display a negative Seconds_Behind_Master in SHOW SLAVE STATUS.
This commit is contained in:
12
sql/slave.cc
12
sql/slave.cc
@@ -2060,10 +2060,16 @@ int show_master_info(THD* thd, MASTER_INFO* mi)
|
|||||||
protocol->store(mi->ssl_key, &my_charset_bin);
|
protocol->store(mi->ssl_key, &my_charset_bin);
|
||||||
|
|
||||||
if (mi->rli.last_master_timestamp)
|
if (mi->rli.last_master_timestamp)
|
||||||
protocol->store((ulonglong)
|
{
|
||||||
(long)((time_t)time((time_t*) 0)
|
long tmp= (long)((time_t)time((time_t*) 0)
|
||||||
- mi->rli.last_master_timestamp)
|
- mi->rli.last_master_timestamp)
|
||||||
- mi->clock_diff_with_master);
|
- mi->clock_diff_with_master;
|
||||||
|
/*
|
||||||
|
Apparently on some systems tmp can be <0 (which is still a
|
||||||
|
mistery). This confuses users, so we don't go below 0.
|
||||||
|
*/
|
||||||
|
protocol->store((longlong)(max(0, tmp)));
|
||||||
|
}
|
||||||
else
|
else
|
||||||
protocol->store_null();
|
protocol->store_null();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user