[MDEV-18552] Galera: Rolling upgrade: Assertion `version() >= WriteSetNG::VER5' after setting wsrep_trx_fragment_size Created: 2019-02-12  Updated: 2019-05-03  Resolved: 2019-05-03

Status: Closed
Project: MariaDB Server
Component/s: Galera
Affects Version/s: 10.4.3, 10.3.13
Fix Version/s: 10.4.5

Type: Bug Priority: Major
Reporter: Shahriyar Rzayev (Inactive) Assignee: Teemu Ollakka
Resolution: Fixed Votes: 0
Labels: galera
Environment:

Ubuntu 18.04


Attachments: File mysql-node5.err    
Issue Links:
Relates
relates to MDEV-18699 Galera: Rolling upgrade: Upgraded nod... Closed

 Description   

Hi, the scenario is:

  • Start given number of nodes - with my test 5 nodes with 10.3 Maria + 3.x Galera.
  • Shutdown node5
  • Start node5 with 10.4 Maria + 4.x Galera.(upgrade)
  • Run mysqld_upgrade on node5
  • Run

    set global wsrep_trx_fragment_size=10;
    

    on node5

  • Run sysbench on node5:

sysbench oltp_read_only --mysql-host=localhost --mysql-port=3311 --mysql-user=root --mysql-socket=/tmp/mysql-node5.sock --tables=10 --table-size=1000000 prepare

  • lose node5 as:

mysqld: /home/shako/Galera_Tests/Galera/galera/src/trx_handle.hpp:932: void galera::TrxHandleMaster::finalize(wsrep_seqno_t): Assertion `version() >= WriteSetNG::VER5' failed.
190212 15:10:37 [ERROR] mysqld got signal 6 ;
src/trx_handle.hpp:933(galera::TrxHandleMaster::finalize(long))[0x7fb952f53495]
src/replicator_smm.cpp:658(galera::ReplicatorSMM::replicate(galera::TrxHandleMaster&, wsrep_trx_meta*))[0x7fb952f44cf9]
src/wsrep_provider.cpp:535(galera_certify)[0x7fb952f61598]
/home/shako/Galera_Tests/dbs/maria_10.4/bin/mysqld(_ZN5wsrep18wsrep_provider_v267certifyENS_9client_idERNS_9ws_handleEiRNS_7ws_metaE+0xe2)[0x5607f2438762]
src/wsrep_provider_v26.cpp:737(wsrep::wsrep_provider_v26::certify(wsrep::client_id, wsrep::ws_handle&, int, wsrep::ws_meta&))[0x5607f242e096]
src/transaction.cpp:1137(wsrep::transaction::certify_fragment(wsrep::unique_lock<wsrep::mutex>&))[0x5607f242d97d]
src/transaction.cpp:1031(wsrep::transaction::streaming_step(wsrep::unique_lock<wsrep::mutex>&))[0x5607f242ac54]
src/transaction.cpp:247(wsrep::transaction::after_row())[0x5607f1be6d84]
wsrep/client_state.hpp:305(wsrep::client_state::after_row())[0x5607f1bd01cf]
sql/wsrep_trans_observer.h:123(wsrep_after_row(THD*, bool))[0x5607f1be20f0]
sql/handler.cc:6442(wsrep_after_row(THD*))[0x5607f1be24bb]
sql/handler.cc:6473(handler::ha_write_row(unsigned char*))[0x5607f185ffe0]
sql/sql_insert.cc:2026(write_record(THD*, TABLE*, st_copy_info*))[0x5607f185d36d]
sql/sql_insert.cc:1067(mysql_insert(THD*, TABLE_LIST*, List<Item>&, List<List<Item> >&, List<Item>&, List<Item>&, enum_duplicates, bool))[0x5607f18a5d77]
sql/sql_parse.cc:4752(mysql_execute_command(THD*))[0x5607f18b1d58]
sql/sql_parse.cc:8120(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x5607f18b13d2]
sql/sql_parse.cc:7943(wsrep_mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x5607f189d138]
sql/sql_parse.cc:1790(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x5607f189bb8d]
sql/sql_parse.cc:1355(do_command(THD*))[0x5607f1a09e76]
sql/sql_connect.cc:1399(do_handle_one_connection(CONNECT*))[0x5607f1a09bda]



 Comments   
Comment by Shahriyar Rzayev (Inactive) [ 2019-02-21 ]

There is no such error, instead I am getting -> https://jira.mariadb.org/browse/MDEV-18631

Comment by Shahriyar Rzayev (Inactive) [ 2019-02-25 ]

Nope, still reproducible after upgrade:

2019-02-25 19:02:49 DEBUG    [galera_starter.py:105] Running /home/shako/Galera_Tests/dbs/maria_10.4/bin/mysql -uroot -S /tmp/mysql-node5.sock -e "set global wsrep_trx_fragment_size=3"
2019-02-25 19:02:49 DEBUG    [galera_starter.py:108] OK: SQL command succeeded
2019-02-25 19:02:49 DEBUG    [galera_starter.py:105] Running /home/shako/Galera_Tests/dbs/maria_10.4/bin/mysql -uroot -S /tmp/mysql-node5.sock -e "set global wsrep_trx_fragment_unit='bytes'"
2019-02-25 19:02:49 DEBUG    [galera_starter.py:108] OK: SQL command succeeded
2019-02-25 19:02:49 DEBUG    [galera_starter.py:105] Running /home/shako/Galera_Tests/dbs/maria_10.3/bin/mysql -uroot -S /tmp/mysql-node5.sock -e "CREATE TABLE test.sbtest4(id int(10) NOT NULL, PRIMARY KEY (id))ENGINE=InnoDB DEFAULT CHARSET=latin1"
2019-02-25 19:02:49 DEBUG    [galera_starter.py:108] OK: SQL command succeeded
2019-02-25 19:02:49 DEBUG    [galera_starter.py:105] Running /home/shako/Galera_Tests/dbs/maria_10.3/bin/mysql -uroot -S /tmp/mysql-node5.sock -e "CREATE TABLE IF NOT EXISTS test.temp4 AS(SELECT * FROM test.sbtest4)"
2019-02-25 19:02:49 DEBUG    [galera_starter.py:108] OK: SQL command succeeded
2019-02-25 19:02:49 DEBUG    [galera_starter.py:105] Running /home/shako/Galera_Tests/dbs/maria_10.3/bin/mysql -uroot -S /tmp/mysql-node5.sock -e "CREATE TABLE IF NOT EXISTS test.temp5 AS (SELECT * FROM test.sbtest4)"
2019-02-25 19:02:49 DEBUG    [galera_starter.py:108] OK: SQL command succeeded
2019-02-25 19:02:49 DEBUG    [galera_starter.py:105] Running /home/shako/Galera_Tests/dbs/maria_10.3/bin/mysql -uroot -S /tmp/mysql-node5.sock -e "insert into test.sbtest4(id) values(1)"
2019-02-25 19:02:50 ERROR    [galera_starter.py:111] ERROR 2013 (HY000) at line 1: Lost connection to MySQL server during query

Generated at Thu Feb 08 08:44:59 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.