Commit 3a100805 authored by unknown's avatar unknown

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.
parent 45f39ff1
...@@ -2060,10 +2060,16 @@ int show_master_info(THD* thd, MASTER_INFO* mi) ...@@ -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();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment