Open
Description
System details:
- Operating System: ubuntu:18.04
- PHP Version: <PHP 7.2.24-0ubuntu0.18.04.9 (cli)>
- php-mysql-replication Version: <7.0.1>
- *mysql version (
SELECT VERSION();
): <5.7.35-38-log PERCONA>
Problem
$eventInfo->getBinLogCurrent()->getBinFileName();
falls with
Exception 'TypeError' with message 'Return value of MySQLReplication\BinLog\BinLogCurrent::getBinFileName() must be of the type string, null returned'
Steps required to reproduce the problem.
Starting conditions:
CREATE DATABASE test;
CREATE TABLE `test`.`test_table`
(
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`is_clicked` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8;
Insert 1 string:
insert into test.test_table (id, is_clicked) values (1,0);
And run replication with GTID = ''
Reproducing error:
- update test.test_table set is_clicked = abs(is_clicked-1) where id = 1;
show master status ;
binlog.000005,21529,,,2b172ed7-1ad8-11ec-8570-0242ac12000e:1-100
var_dump($eventInfo->getBinlogCurrent);
class MySQLReplication\BinLog\BinLogCurrent#85 (4) {
private $binLogPosition =>
int(21498)
private $binFileName =>
string(13) "binlog.000005"
private $gtid =>
string(40) "2b172ed7-1ad8-11ec-8570-0242ac12000e:100"
private $mariaDbGtid =>
NULL
}
- Restart replication with GTID 2b172ed7-1ad8-11ec-8570-0242ac12000e:1-100
class MySQLReplication\BinLog\BinLogCurrent#85 (4) {
private $binLogPosition =>
int(21498)
private $binFileName =>
NULL
private $gtid =>
string(40) "2b172ed7-1ad8-11ec-8570-0242ac12000e:100"
private $mariaDbGtid =>
NULL
}
Expected Result.
- binFileName = binlog.000005
Actual Result.
- binFileName = NULL
Question
Is it a bug?