Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-16827

UNIX_TIMESTAMP() not working properly during replication

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Blocker
    • Resolution: Not a Bug
    • 10.0.34-galera
    • N/A
    • Replication
    • Replicating from MySQL 5.0.75 to MariaDB 10.0.34

      Linux diskstation2 3.10.102 #15266 SMP Mon Mar 26 15:08:11 CST 2018 x86_64 GNU/Linux synology_x86_1511+

    Description

      I've enabled replication on a Synology diskstation.
      The slave has MariaDB 10.0.34. The master server is running MySQL 5.0.75.
      I have other MySQL replication slaves running fine with MySQL 5.0.75.

      Starting replication I get:

      180725 10:52:58 [Note] Slave I/O thread: Start asynchronous replication to master 'repl@db1:3306' in log 'mysql-bin.001155' at position 132023098
      180725 10:52:58 [Note] Slave SQL thread initialized, starting replication in log 'mysql-bin.001104' at position 146085705, relay log './backup-relay-bin.007368' position: 146085992
      180725 10:52:58 [ERROR] Slave SQL: Error 'Column '_expire' cannot be null' on query. Default database: 'gp2'. Query: 'REPLACE INTO policyd.blacklist_sender (_blacklist, _description, _expire) VALUES ('%@001web.net', '# SA blacklist', UNIX_TIMESTAMP(NOW()+2000000))', Internal MariaDB error code: 1048
      180725 10:52:58 [Warning] Slave: Incorrect datetime value: '20180532023001' Error_code: 1292
      180725 10:52:58 [Warning] Slave: Column '_expire' cannot be null Error_code: 1048
      180725 10:52:58 [Warning] Slave: Unknown error Error_code: 1105
      180725 10:52:58 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'mysql-bin.001104' position 146085705
      180725 10:52:58 [Note] Slave SQL thread exiting, replication stopped in log 'mysql-bin.001104' at position 146085705
      180725 10:52:59 [Note] Slave I/O thread: connected to master 'repl@db1:3306',replication started in log 'mysql-bin.001155' at position 132023098
      
      

      which indicates UNIX_TIMESTAMP(NOW()+2000000)) is returning NULL.

      However, when I run in the client:

      MariaDB [(none)]> select NOW(), NOW()+2000000, UNIX_TIMESTAMP(NOW()+2000000);
      +---------------------+----------------+-------------------------------+
      | NOW()               | NOW()+2000000  | UNIX_TIMESTAMP(NOW()+2000000) |
      +---------------------+----------------+-------------------------------+
      | 2018-07-25 11:28:24 | 20180727112824 |                    1532708904 |
      +---------------------+----------------+-------------------------------+
      1 row in set (0.00 sec)
      
      

      I don't get NULL, I get an integer value, which is what the column is.
      When I issue the exact SQL command as indicated in the error log, it succeeds:

      MariaDB [policyd]> REPLACE INTO policyd.blacklist_sender (_blacklist, _description, _expire) VALUES ('%@001web.net', '# SA blacklist', UNIX_TIMESTAMP(NOW()+2000000));
      Query OK, 2 rows affected (0.00 sec)
      
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            bk Brian Kolaci
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.