I have a Percona 5.6 slave, newly set up, that is replicating from a server that is itself a slave to a third. The middle server (dbS2, the master for dbS3) is currently ~260000 seconds behind the transaction server, and dbS3 was configured from an innobackupex snapshot of its master, which put it about 45 minutes behind dbS2 when it was first brought online.
This is what a loop showing some parameters from "show slave status\G" looks like:
Fri Jul 31 23:46:01 ART 2015: dbS3
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master: 285744
Fri Jul 31 23:46:31 ART 2015: dbS3
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master: 285763
Fri Jul 31 23:47:01 ART 2015: dbS3
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master: 2223
Fri Jul 31 23:47:31 ART 2015: dbS3
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master: 2226
Fri Jul 31 23:48:01 ART 2015: dbS3
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master: 2227
Fri Jul 31 23:48:31 ART 2015: dbS3
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master: 284885
Fri Jul 31 23:49:01 ART 2015: dbS3
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master: 284568
...so it seems that Seconds_Behind_Master on dbS3 is jumping back & forth between the number of seconds dbS2 is lagging behind dbS1 and the number of seconds dbS3 is lagging behind dbS2.
Shouldn't "show slave status\G" on dbS3 always show the lag between dbS2 and dbS3 without regard for how far dbS2 is behind dbS1?