You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.6 KiB
45 lines
1.6 KiB
6 years ago
|
https://bugs.launchpad.net/percona-toolkit/+bug/962330
|
||
|
https://bugs.launchpad.net/percona-toolkit/+bug/1095476
|
||
|
|
||
|
diff --git a/bin/pt-slave-delay b/bin/pt-slave-delay
|
||
|
index 750b733..fca04e4 100755
|
||
|
--- a/bin/pt-slave-delay
|
||
|
+++ b/bin/pt-slave-delay
|
||
|
@@ -4244,6 +4244,7 @@ sub main {
|
||
|
my ( $TS, $FILE, $POS ) = ( 0, 1, 2 );
|
||
|
my @positions;
|
||
|
my $next_start = 0;
|
||
|
+ my $initial_delay = 0;
|
||
|
$now = time();
|
||
|
my $end = $now + ( $o->get('run-time') || 0 ); # When we should exit
|
||
|
|
||
|
@@ -4258,6 +4259,10 @@ sub main {
|
||
|
die "Slave SQL thread is not running";
|
||
|
}
|
||
|
|
||
|
+ if (defined $status->{seconds_behind_master} and $status->{seconds_behind_master} > 0) {
|
||
|
+ $initial_delay = $status->{seconds_behind_master};
|
||
|
+ }
|
||
|
+
|
||
|
my $master_dbh;
|
||
|
if ( $master_dsn ) {
|
||
|
PTDEBUG && _d('Connecting to master via DSN from cmd-line');
|
||
|
@@ -4383,7 +4388,7 @@ sub main {
|
||
|
|| $pos->[$POS] != $res->{position} )
|
||
|
{
|
||
|
push @positions,
|
||
|
- [ $now, $res->{file}, $res->{position} ];
|
||
|
+ [ $now - ( $initial_delay || 0 ), $res->{file}, $res->{position} ];
|
||
|
}
|
||
|
}
|
||
|
else {
|
||
|
@@ -4403,7 +4408,7 @@ sub main {
|
||
|
# That happened because for an already lagged slave, $now
|
||
|
# isn't the correct time, but is actually
|
||
|
# $now - $seconds_lagged.
|
||
|
- $now - ( $status->{seconds_behind_master} || 0 ),
|
||
|
+ $now - ( $initial_delay || 0 ),
|
||
|
$status->{master_log_file},
|
||
|
$status->{read_master_log_pos}
|
||
|
];
|