return $this->getLoadMonitor()->getLagTimes( $indexesWithLag, $domain ) + $knownLagTimes;
}
+ /**
+ * Get the lag in seconds for a given connection, or zero if this load
+ * balancer does not have replication enabled.
+ *
+ * This should be used in preference to Database::getLag() in cases where
+ * replication may not be in use, since there is no way to determine if
+ * replication is in use at the connection level without running
+ * potentially restricted queries such as SHOW SLAVE STATUS. Using this
+ * function instead of Database::getLag() avoids a fatal error in this
+ * case on many installations.
+ *
+ * @param IDatabase $conn
+ * @return int|bool Returns false on error
+ * @deprecated Since 1.34 Use IDatabase::getLag() instead
+ */
public function safeGetLag( IDatabase $conn ) {
if ( $conn->getLBInfo( 'is static' ) ) {
return 0; // static dataset
if ( $masterConn ) {
$pos = $masterConn->getMasterPos();
} else {
- $masterConn = $this->getConnection( $index, [], self::DOMAIN_ANY, self::CONN_SILENCE_ERRORS );
+ $flags = self::CONN_SILENCE_ERRORS;
+ $masterConn = $this->getConnection( $index, [], self::DOMAIN_ANY, $flags );
if ( !$masterConn ) {
throw new DBReplicationWaitError(
null,