Skip to content
Closed

r #404

Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
10000 commits
Select commit Hold shift + click to select a range
16951b3
Bug#33673803 Re-bootstrap fails when Cluster name contains ‘-’ or ‘.’
Feb 7, 2022
7e6e554
Bug #33810558 Invalid Unicode characters can be inserted in column wi…
Feb 7, 2022
abb8ffe
Bug #33789526 srv_error_monitor_thread shouldn't call functions which…
Feb 7, 2022
faa22ec
Bug#33791270 Binding query thread to cpu through ThreadConfig crashe…
vinc13e Feb 4, 2022
7029ecd
Feb 8, 2022
ca954a0
Bug#33414289: Bounds_checked_array [] Assertion `n < m_size' failed
kahatlen Feb 7, 2022
baf7495
Bug #33819270 innodb.lob_recovery is failing for --initialize=--innod…
gurusami Feb 5, 2022
ef22d58
BUG#32232092: GTID_PURGED SHOULD NOT BE PERSISTABLE
Jan 24, 2022
5bd8ca5
Bug #33795721 WalkAccessPaths handles APPEND Access Path incorrrectly
Feb 9, 2022
b260fb4
Bug#33813951: Binary resultset for `SELECT ?` with date/time gives wr…
roylyseng Feb 4, 2022
b0e1567
Jan 31, 2022
0eab9df
Bug#33790919: Null-safe compare works incorrectly with TIMESTAMP in t…
roylyseng Feb 8, 2022
224279d
BUG#33824392: Improve show_rpl_debug_info.inc
Feb 4, 2022
d69ccdb
Bug#33831340 mtr: ndbinfo plugin can not be off due to use in mtr_che…
zmur Feb 7, 2022
5650ade
BUG#33830926: rpl_gtid.rpl_mts_spco_acl_commands_binlog fails on pb2
Feb 7, 2022
58ba2c8
Bug#33796754 Hash-search for EventBufData is inefficient
Feb 10, 2022
700830a
Jan 31, 2022
722d73d
Bug #33809262 Run clang-tidy modernize-use-nullptr (again) [noclose]
Feb 10, 2022
bcb5e35
Bug#33815426: Inconsistent rows matched value for multi-table UPDATE …
kahatlen Feb 1, 2022
88f9c5a
Bug#33727690 Support compression for backup and LCP on Windows
zmur Apr 8, 2021
2dff085
Bug#33727629 Misc fixes for ndb_file on Windows
zmur Jan 26, 2022
fc4d1e1
Bug#33727629 Misc fixes for ndb_file on Windows
zmur Jan 27, 2022
80c5248
WL#14285 Fixup [10] ndbxfrm_file: Remove use of REQUIRE.
zmur Jan 23, 2022
0e5ca5a
Feb 3, 2022
c50855e
Feb 10, 2022
caff4e1
Feb 10, 2022
a35d3be
Bug#33822602: Improve MY-010928 your password has expired error on th…
harinvadodaria Feb 11, 2022
a171f73
Feb 10, 2022
c79224e
Bug #30567295 SOME PB2 TEST FAILS WITH OPERATING SYSTEM ERROR NUMBER…
Feb 11, 2022
0cf61ef
Bug #33800310 Add cmake target clang_tidy_prerequisites
Feb 11, 2022
dce5d09
Bug#33803541 Excessive CPU consumed by Dblqh::findTransaction()
Feb 14, 2022
0ba2103
Bug #33830073 Assertion 'num_codepoints >= scanner.get_char_index()'
Feb 9, 2022
e0893ee
Jan 25, 2022
45d8446
Bug#33764260 THRConfig::reorganize_ldm_bindings
vinc13e Feb 9, 2022
eb97ac2
Bug#33803487 Large transaction runs gradually slower, excessive Dbacc…
Feb 14, 2022
1c18f36
Bug #33730302 Move to GCC 11 on el7 and el8 [choose compiler]
Feb 14, 2022
b62fd22
Bug#33803487 Large transaction runs gradually slower, excessive Dbacc…
Feb 14, 2022
c1bee63
Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6
Feb 14, 2022
cccb63f
Null-merge from cluster-7.6
Feb 14, 2022
9f6a419
Null-merge from 5.7.
nacarvalho Feb 14, 2022
f697b09
Bug #33800310 Add cmake target clang_tidy_prerequisites
Feb 11, 2022
da5ddad
Bug #33809262 Run clang-tidy modernize-use-nullptr (again)
Feb 11, 2022
9c3704c
Post-push fix: BUG#33824392: Improve show_rpl_debug_info.inc
Feb 13, 2022
8db60de
Bug #33824544: Add a primary key for mysql.firewall_membership
gkodinov Feb 7, 2022
01cd607
Bug #33830493: SET PERSIST statement is not atomic
Feb 15, 2022
4f0b8a1
Feb 15, 2022
c7d556c
Bug #33840645 InnoDB: AIO doesn't need SYNC queue
Feb 15, 2022
87a4a79
Bug #33794610 Remove dependency on randomly-sampled statistics in MT…
Feb 12, 2022
bb2a90a
Bug#33729821: TP: Debug improvements
Jan 7, 2022
409a104
Bug #33797931 Ndb : Avoid excessive operation list traversal when def…
frazerclement Feb 16, 2022
bc33a43
Bug #33830493: SET PERSIST statement is not atomic
Feb 16, 2022
0a5bb67
Fix for failing test script dd_schema_definition_after_upgrade_80_deb…
mayprasa Feb 16, 2022
bc0e949
Feb 16, 2022
af676a9
Feb 11, 2022
0a9c560
Bug#33847722 - triggers - heap-use-after-free in JOIN::update_depend_map
Feb 17, 2022
bf7a733
Feb 17, 2022
f8c9df9
Dec 20, 2021
7d755c4
Jan 22, 2022
d0d34dd
Feb 3, 2022
2ab27a7
Jan 17, 2022
9ad8fe6
Feb 7, 2022
8b809a8
Feb 8, 2022
fc0f6dd
Feb 8, 2022
540bfbd
Feb 9, 2022
e119715
Feb 9, 2022
6d8799c
Feb 10, 2022
c9886fe
Feb 10, 2022
bfa56bb
Feb 10, 2022
96c1685
Feb 16, 2022
db4c566
Bug#33719861 FIXES NDB_RESTORE_APPLY_STATUS TEST
VarunNagaraju Feb 7, 2022
36053f4
Bug #33768584 InnoDB: space->n_pending_flushes == 0 is triggered wit…
Feb 17, 2022
f583009
Bug #33690316 Test `gr_crash_donor_server_continuously` fails on PB2
Feb 17, 2022
bf40844
Feb 15, 2022
b0ae683
BUG#33822549 MYSQL 8.0.28 ROUTER BINARY MISSING IN INFO_BIN & INFO_SR…
sreedhars Feb 17, 2022
da1b44e
Bug#33869347 MTR performance_schema.processlist_port does not test in…
marcalff Feb 17, 2022
ebcefeb
Bug #33813846 Upgrade to latest protobuf library [add sources]
Feb 4, 2022
90644b7
Bug #33813846 Upgrade to latest protobuf library [spec files]
Feb 5, 2022
39e8303
Bug #33813846 Upgrade to latest protobuf library [patches]
Feb 4, 2022
c41315e
Bug #33813846 Upgrade to latest protobuf library [remove old version]
Feb 14, 2022
916857a
Bug #33813846 Upgrade to latest protobuf library [valgrind suppressions]
Feb 15, 2022
7614fe0
Bug #33690316 Test `gr_crash_donor_server_continuously` fails on PB2…
Feb 17, 2022
c829452
Bug #33768584 InnoDB: space->n_pending_flushes == 0 is triggered wit…
Feb 17, 2022
d77f156
Bug #33690316 Test `gr_crash_donor_server_continuously` fails on PB2…
Feb 17, 2022
f479bde
Bug#33838439: ExtractValue not working properly with COUNT
Feb 14, 2022
69851f6
Bug#33612166 DOXYGEN: UPGRADE TO VERSION 1.9.3 [no-close]
marcalff Feb 15, 2022
48c666f
Bug#33791802: Query with multiple JOINs stopped working
Feb 18, 2022
60cfdb2
Bug#33869388 performance_schema.processlist returns no rows
marcalff Feb 17, 2022
b6b7e0b
Bug#33874311 memory leak in runTestMgmdwithoutnodeid
blaudden Feb 18, 2022
52e497a
Bug#33872577 Main thread(tid:0) runs 'Out of job buffers' due to extr…
Feb 18, 2022
3fb81db
Bug#33856371 Too much overhead in ::execSEND_PACKED() after WL#13980
Feb 18, 2022
970aedc
Merge from mysql-5.7 to mysql-8.0
Feb 21, 2022
8aefb7a
Feb 17, 2022
cb71939
Feb 16, 2022
fc95ce1
Feb 13, 2022
503272e
Bug#33830212 reuse_connection test fails with passthrough
weigon Feb 7, 2022
27f0197
Bug#33830146 gr_notifications test fails GrNotificationMysqlxWaitTime…
weigon Feb 7, 2022
4cd4508
Feb 11, 2022
971760c
Feb 21, 2022
6b237a3
Feb 21, 2022
da66ee4
Bug #33813846 Upgrade to latest protobuf library [remove old version]
Feb 21, 2022
3bc22bf
Bug#33840613: Empty transaction blocks group_replication_set_as_primary
Feb 21, 2022
3a9e28c
Bug#33862323 Replace systemd PermissionsStartOnly with executable prefix
trosten Feb 21, 2022
e4f0cad
Bug#33869004 Range optimizer is not aware of the session memory limit.
Feb 17, 2022
0487546
WL#13899 : INSTANT DROP (and ADD) COLUMN
dahlerlend Feb 22, 2022
e7a2928
Bug 33859937: InnoDB: Doxygen complains that void methods should not …
Feb 22, 2022
5234a7e
Bug#33837691 UNIX_TIMESTAMP() works differently in 8.0.28 than in pre…
Feb 9, 2022
d9c193e
Bug#33611915 ArrayPool [-Wmaybe-uninitialized] [noclose]
zmur Jan 27, 2022
cbbb9d3
Bug#33611915 IntrusiveList [-Wmaybe-uninitialized] [noclose]
zmur Feb 1, 2022
1520978
Bug#33611915 TransientPool [-Wmaybe-uninitialized] [noclose]
zmur Feb 1, 2022
45f309c
Bug#33611915 VMSignal [-Wmaybe-uninitialized] [noclose]
zmur Feb 1, 2022
1999710
Bug#33611915 DLHashTable [-Wmaybe-uninitialized] [noclose]
zmur Feb 10, 2022
5e5af3f
Bug#33611915 Dbdict [-Wmaybe-uninitialized] [noclose]
zmur Feb 1, 2022
86c0f47
Bug#33611915 Dbdih [-Wmaybe-uninitialized] [noclose]
zmur Feb 1, 2022
599dd62
Bug#33772598 Cleanup in Dblqh, use FsOpenReq.
zmur Jan 21, 2022
0e4e767
Bug#33772598 FSOPENREQ: add flags OM_ENCRYPT_CBC/XTS/PASSWORD/KEY
zmur Jan 11, 2022
b91fa0b
Bug#33772598 Pass Om_ENCRYPT_XTS for REDO log
zmur Jan 20, 2022
d78b945
Bug#33772598 Pass Om_ENCRYPT_XTS for TS data file
zmur Jan 20, 2022
2b08c06
Bug#33772598 Pass Om_ENCRYPT_XTS for UNDO
zmur Jan 20, 2022
a0d1042
Bug#33772598 Pass Om_ENCRYPT_XTS for LCP data
zmur Jan 20, 2022
c48b4a4
Bug#33772598 Replace some const char* with string_view
zmur Feb 16, 2022
9b2d5e5
Bug#33772598 Replace EncryptionPasswordData with EncryptionKeyMaterial
zmur Jan 20, 2022
2e24fd6
Bug#33772598 Make block fill in OM_ENCRYPT_KEY for LCP data and REDO
zmur Jan 20, 2022
33c9913
Bug#33772598 Make block fill in OM_ENCRYPT_KEY for TS and UNDO
zmur Jan 20, 2022
08192bc
Bug#33772598 Remove code guarded by NDBFS_TDE
zmur Jan 20, 2022
b8b017c
Feb 23, 2022
7d695fa
Bug #33635445: SET PASSWORD has no effect on PAM authentication, but
gkodinov Feb 17, 2022
78421c6
Bug #33830765 Explicit CAST allows to insert invalid character string…
Feb 15, 2022
1329e22
Bug#33837691 UNIX_TIMESTAMP() works differently in 8.0.28 than in pre…
Feb 23, 2022
4ef5c7c
Feb 21, 2022
1e345f0
Feb 22, 2022
f5fcde8
Feb 21, 2022
89098fc
Bug #33851256 crash on recursive decimal stored function call
Feb 18, 2022
5c6d537
Bug #33865094 Assertion `m_addon_buf_length == sz' at sort_param.h
Feb 17, 2022
7197128
Bug 33482747 clone failed leaving clone_progress stuck
Feb 23, 2022
cd096fa
Oct 12, 2021
fa688a7
Feb 10, 2022
e0e15e1
Dec 9, 2021
f3e7694
Dec 14, 2021
5720cb1
Dec 17, 2021
c9d46e8
Jan 11, 2022
f7ba690
Bug#33881825 Unit test ndbd_malloc-t failing
zmur Feb 22, 2022
2f26281
Bug#33822729 : Table version metadata is not reset when all partitions
mayprasa Feb 24, 2022
98052dd
Bug 33482747 clone failed leaving clone_progress stuck
Feb 24, 2022
39be820
Bug#33060953 - UPGRADE FROM 5.7 TO 8.0 CHANGE EXECTION PLAN
wikigurram Feb 22, 2022
7938df0
Feb 14, 2022
36bfc07
Feb 21, 2022
dad5bf9
Feb 15, 2022
25bdf0d
Revert "Bug #33830765 Explicit CAST allows to insert invalid characte…
Feb 24, 2022
1b4194a
Bug#33855163 / Bug#33825393 crashes in ha_ndbinfo::unpack_record()
jdduncan Feb 17, 2022
afe9d91
Bug33784672 : off by one in rec_convert_dtuple_to_rec_old in
mayprasa Feb 24, 2022
4eb2820
Feb 18, 2022
7a4ba74
Aug 12, 2021
a1a238f
Jan 20, 2022
e019d62
Feb 3, 2022
8a8dcfc
Feb 16, 2022
02d93b2
Feb 12, 2022
5ccf484
Bug #33856332 InnoDB should let HP transaction timeout while waiting …
Feb 25, 2022
c47d292
Bug#33809478: Installing firewall plugin back after persisting variab…
MRajcic Feb 18, 2022
23e68b6
Bug#33270516: 8.0.22+: crash in KEY::has_records_per_key const
Feb 24, 2022
3d59934
Bug#33101025: ASSERTION `!TABLE || (!TABLE->READ_SET ||
Feb 24, 2022
44834f6
Bug #33874978 GR notification thread can get stuck when new nodes are…
Feb 18, 2022
81b24ff
Null merge branch 'mysql-5.7' into mysql-8.0
Mar 1, 2022
3a9538e
Bug #33664929 Reduce size of RelWithDebInfo binaries
Mar 1, 2022
b9e09ad
Merge branch 'mysql-5.7' into mysql-8.0
trosten Mar 1, 2022
24213fd
Bug#33776774 ndbinfo_plans test case unstable
jdduncan Jan 21, 2022
b70f2f5
Bug#33886102: Disable thread_pool_dedicated_listeners for non-cloud b…
Feb 24, 2022
e6ee8c0
Bug#33134835 RPL_WRITESET_ADD_UNIQUE_KEY FAILS SPORADICALLY [noclose]
dahlerlend Jan 25, 2022
a15f068
Bug#33781534 - I_S.KEY_COLUMN_USAGE does not lists invisible columns
phulakun Mar 2, 2022
dc80cad
Bug #33896399 NdbInfo pools cursor cookie robustness
frazerclement Mar 2, 2022
1379d3d
Bug #33896356 Check SysFile nodeId in range
frazerclement Mar 2, 2022
d28ba4a
Bug #33896399 NdbInfo pools cursor cookie robustness
frazerclement Mar 2, 2022
859b430
Feb 25, 2022
6fde9e5
Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5
frazerclement Mar 2, 2022
c79ae97
Merge ../mysql-5.7-cluster-7.5 into mysql-5.7-cluster-7.6
frazerclement Mar 2, 2022
1f94ccc
Merge ../mysql-5.7-cluster-7.6 into mysql-8.0
frazerclement Mar 2, 2022
0e37348
Bug #33896389 Improve request validation for NdbFs file operations
frazerclement Mar 2, 2022
a1261b5
Bug #33896389 Improve request validation for NdbFs file operations
frazerclement Mar 2, 2022
5c747a4
Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5
frazerclement Mar 2, 2022
e45624a
Merge ../mysql-5.7-cluster-7.5 into mysql-5.7-cluster-7.6
frazerclement Mar 2, 2022
5af9862
Merge ../mysql-5.7-cluster-7.6 into mysql-8.0
frazerclement Mar 2, 2022
693ae14
Mar 2, 2022
f0dea25
Bug#33913908 Disable replica worker for NDB replication
blaudden Mar 2, 2022
ab0c020
Bug#33855045 Test ndbinfo_upgrade fails on valgrind builds [noclose]
blaudden Feb 24, 2022
4839b5d
Bug#31477725 NDB_RESTART FAILS SPORADICALLY IN PB2
arnabray21 Feb 9, 2022
662e593
Mar 3, 2022
bd75f1d
Bug#33825480 dba.upgradeMetadata() does not recognize upgraded router…
Mar 2, 2022
356b760
Jan 30, 2022
e3deea0
Feb 8, 2022
a5c9b3f
Feb 9, 2022
2c7f1d0
Feb 15, 2022
0e3781d
Jan 13, 2022
5f826bf
Feb 18, 2022
06f274f
Feb 18, 2022
9f8d316
Feb 22, 2022
fe6a19c
Mar 2, 2022
626ebd1
Bug #33904267 Build fails on EL7 ARM when using self-provided shared …
Mar 2, 2022
3e34954
Feb 24, 2022
acf2f74
Mar 3, 2022
889d4ad
Bug#33755920: InnoDB Cluster Start of Secondary Results in Shutdown
Mar 4, 2022
996e968
Feb 18, 2022
f695183
Bug#33916404 Ensure validity of nodeId for requested nodes in a node …
Mar 4, 2022
6ee71a0
Bug#33896409 Check validity of received NodeId
Mar 4, 2022
2a156c2
Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5
Mar 4, 2022
d1e97cf
Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6
Mar 4, 2022
2abae4b
Merge branch 'mysql-5.7-cluster-7.6' into mysql-8.0
Mar 4, 2022
ccbfb85
Feb 28, 2022
68e858c
Dec 17, 2021
1ced163
Dec 20, 2021
bd38a7c
Jan 7, 2022
c4f5159
Jan 7, 2022
4929664
Jan 12, 2022
887ead4
Jan 6, 2022
b9e9ebf
Jan 20, 2022
6ce3bf7
Feb 10, 2022
ec9ea10
Feb 10, 2022
e81b1ca
Feb 14, 2022
4cebfd3
Feb 18, 2022
3171d5c
Bug#33924532 : Assert failure in purge which tries to purge UNDO acro…
mayprasa Mar 4, 2022
062216d
Bug #33881339 Default collation causes inconsistent results
Feb 24, 2022
d7bb809
Bug#33732907: Slow query log logs password in plain text on syntax error
Mar 4, 2022
6839bdc
Bug #33916134 Enhance checking of CREATE_FRAGMENTATION_REQ processing
frazerclement Mar 4, 2022
66a4419
Merge branch 'mysql-5.7-bug33732907' into mysql-8.0-downmix
Mar 4, 2022
153d34a
Update License Book
bkandasa Mar 7, 2022
308cb02
Updating man pages from Docs
bkandasa Mar 7, 2022
8bf118e
Mar 8, 2022
b2770ad
Bug#33924532 : Assert failure in purge which tries to purge UNDO acro…
mayprasa Mar 7, 2022
9f88d56
Bug#33856374: Query returns incorrect results in 8.0.22+
roylyseng Feb 22, 2022
c544cce
Bug#33908146 perfschema.processlist_reg_user fails on daily-trunk
marcalff Mar 7, 2022
1924d8f
Bug#33728209: set variable to function value cause double locking mut…
GlebShchepa Jan 17, 2022
97c962d
Bug #33705056: Assertion failure on double LOCK_plugin inside page_tr…
GlebShchepa Jan 18, 2022
9dc7705
Bug #33732576: innodb.innodb_extend_and_initialize_windows is failing…
GlebShchepa Jan 25, 2022
46f1b75
Bug #33705056: Assertion failure on double LOCK_plugin inside page_tr…
Mar 8, 2022
6175b1a
Mar 8, 2022
3360381
Mar 8, 2022
f151585
Feb 28, 2022
81cabfc
Mar 11, 2022
bd9abfa
Bug#33956760 mysql-community-server-debug not obsoleted by any commer…
trosten Mar 14, 2022
65a1086
Bug#33956785 sl15/sles12 cluster-8.0.29 RPM builds are also building …
trosten Mar 14, 2022
568563c
Bug #33965055: add PK to mysql.firewall_membership with mysql_system_…
gkodinov Mar 16, 2022
7c11e49
Bug#33896428 Checking signal is not remote.
Mar 14, 2022
3262e44
Bug#33976268 NDB: gcc 11 Ubuntu 21.10 : build stops with [-Werror=may…
zmur Mar 18, 2022
99c747f
Mar 17, 2022
d4a4f14
Mar 23, 2022
a125c00
Nov 15, 2021
95fa943
Nov 29, 2021
c25d991
Dec 9, 2021
1983d0e
Dec 10, 2021
5aff3b7
Jan 13, 2022
df04536
Jan 20, 2022
8d8c986
Apr 8, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Bug#33840613: Empty transaction blocks group_replication_set_as_primary
Statement "START TRANSACTION" block the primary change even with a timeout
option.
group_replication_set_as_primary timeout option was not killing the
connection since it is yet not known if a transaction will be committed or
not i.e. read-only transaction.

Resolution: Code has been modified to consider the EXPLICIT transactions
while dropping the client connection when the timeout expires.

ReviewBoard: 27678
  • Loading branch information
Jaideep Karande committed Feb 21, 2022
commit 3bc22bfdfbc105aa083f23ac0dd76f090ef5af2b
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
# ==== Purpose ====
#
# Check commands run successfully with change of primary operation.
# This file may not be used for multi-statements or explicit commands like
# START TRANSACTION;
# ==== Usage ====
#
# --let $conn_of_new_primary= CLIENT_CONNECTION
# --let $command_to_execute= COMMAND
# --let $conn_for_command= CLIENT_CONNECTION
# --let $conn_for_debug_sync= CLIENT_CONNECTION
# --let $conn_for_primary= CLIENT_CONNECTION
# [--let $connection_is_killed= 1]
# --source ../include/gr_parallel_command_primary_change.inc
#
# Parameters:
#
# $conn_of_new_primary
# Connection of member which is to be selected as primary.
# Required to fetch SERVER_UUID.
#
# $command_to_execute
# Command to run before running UDF group_replication_set_as_primary.
# Command will be blocked post which UDF will execute.
#
# $conn_for_command
# Connection on which to execute the command.
#
# $conn_for_debug_sync
# Connection on which DEBUG_SYNC should be executed.
#
# $conn_for_primary
# Connection on which UDF group_replication_set_as_primary should be
# executed.
#
# $connection_is_killed
# Set to 1, if connection will be killed by UDF.

if (!$conn_of_new_primary)
{
--die "Missing parameter 'conn_of_new_primary'"
}

if (!$command_to_execute)
{
--die "Missing parameter 'command_to_execute'"
}

if (!$conn_for_command)
{
--die "Missing parameter 'conn_for_command'"
}

if (!$conn_for_debug_sync)
{
--die "Missing parameter 'conn_for_debug_sync'"
}

if (!$conn_for_primary)
{
--die "Missing parameter 'conn_for_primary'"
}

--let $_saved_connection= $CURRENT_CONNECTION

--let $rpl_connection_name= $conn_of_new_primary
--source include/rpl_connection.inc
--let $uuid_of_new_primary= query_get_value(SELECT @@SERVER_UUID, @@SERVER_UUID, 1)

--echo
--echo # Start a transaction on $conn_for_command and block it.

--let $rpl_connection_name= $conn_for_command
--source include/rpl_connection.inc

SET DEBUG_SYNC="before_reset_query_plan SIGNAL before_reset_query_ongoing WAIT_FOR after_reset_query_finished";

--send_eval $command_to_execute;

--let $rpl_connection_name= $conn_for_debug_sync
--source include/rpl_connection.inc

SET DEBUG_SYNC="now WAIT_FOR before_reset_query_ongoing";

--echo
--echo # Begin change of primary on $conn_for_primary.

--let $rpl_connection_name= $conn_for_primary
--source include/rpl_connection.inc

--replace_result $uuid_of_new_primary MEMBER_UUID
--eval SELECT group_replication_set_as_primary("$uuid_of_new_primary", 1)

--echo
--echo # Assert primary changed.

--let $rpl_connection_name= $conn_of_new_primary
--source include/rpl_connection.inc

--source include/gr_assert_primary_member.inc

--echo
--echo # Reap the transaction.

--let $rpl_connection_name= $conn_for_debug_sync
--source include/rpl_connection.inc
# before_reset_query_plan is present at 2 places so for safety added 2 signals
SET DEBUG_SYNC="now SIGNAL after_reset_query_finished";
SET DEBUG_SYNC="now SIGNAL after_reset_query_finished";

--let $rpl_connection_name= $conn_for_command
--source include/rpl_connection.inc

if ($connection_is_killed)
{
--error CR_SERVER_LOST
--reap

--enable_reconnect
--source include/wait_until_connected_again.inc
--disable_reconnect
}
if (!$connection_is_killed)
{
--reap
}
SET DEBUG_SYNC="RESET";

--connection $_saved_connection
--let $uuid_of_new_primary=
--let $conn_of_new_primary=
--let $command_to_execute=
--let $conn_for_command=
--let $conn_for_debug_sync=
--let $conn_for_primary=
--let $connection_is_killed=
--let $_saved_connection=
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
include/group_replication.inc
Warnings:
Note #### Sending passwords in plain text without SSL/TLS is extremely insecure.
Note #### Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.
[connection server1]

# 1. Start group in single primary mode.
# Server1 will be primary and server2 secondary.
[connection server1]
CREATE TABLE test.t1(c1 int primary key);
include/start_and_bootstrap_group_replication.inc
[connection server2]
include/start_group_replication.inc

# 2. Start a read-only transaction on server1.
# It should succeed with primary change initiated from server2(secondary).
[connection server2]

# Start a transaction on server1 and block it.
[connection server1]
SET DEBUG_SYNC="before_reset_query_plan SIGNAL before_reset_query_ongoing WAIT_FOR after_reset_query_finished";
SELECT * FROM test.t1;;;
[connection server_1]
SET DEBUG_SYNC="now WAIT_FOR before_reset_query_ongoing";

# Begin change of primary on server2.
[connection server2]
SELECT group_replication_set_as_primary("MEMBER_UUID", 1);
group_replication_set_as_primary("MEMBER_UUID", 1)
Primary server switched to: MEMBER_UUID

# Assert primary changed.
[connection server2]
include/gr_assert_primary_member.inc

# Reap the transaction.
[connection server_1]
SET DEBUG_SYNC="now SIGNAL after_reset_query_finished";
SET DEBUG_SYNC="now SIGNAL after_reset_query_finished";
[connection server1]
c1
SET DEBUG_SYNC="RESET";

# 3. Assert primary changed.
[connection server2]
include/gr_assert_primary_member.inc
[connection server1]
include/gr_assert_secondary_member.inc

# 4. Start a read-only transaction on server2.
# It should succeed with primary change initiated from server2(primary).
[connection server1]

# Start a transaction on server2 and block it.
[connection server2]
SET DEBUG_SYNC="before_reset_query_plan SIGNAL before_reset_query_ongoing WAIT_FOR after_reset_query_finished";
SELECT * FROM test.t1;;;
[connection server_2]
SET DEBUG_SYNC="now WAIT_FOR before_reset_query_ongoing";

# Begin change of primary on server_2_1.
[connection server_2_1]
SELECT group_replication_set_as_primary("MEMBER_UUID", 1);
group_replication_set_as_primary("MEMBER_UUID", 1)
Primary server switched to: MEMBER_UUID

# Assert primary changed.
[connection server1]
include/gr_assert_primary_member.inc

# Reap the transaction.
[connection server_2]
SET DEBUG_SYNC="now SIGNAL after_reset_query_finished";
SET DEBUG_SYNC="now SIGNAL after_reset_query_finished";
[connection server2]
c1
SET DEBUG_SYNC="RESET";

# 5. Assert primary changed.
[connection server1]
include/gr_assert_primary_member.inc
[connection server2]
include/gr_assert_secondary_member.inc

# 6. Start a write transaction on server1.
# Client connection will be dropped.
# Primary change initiated from server2(secondary).
[connection server2]

# Start a transaction on server1 and block it.
[connection server1]
SET DEBUG_SYNC="before_reset_query_plan SIGNAL before_reset_query_ongoing WAIT_FOR after_reset_query_finished";
INSERT INTO test.t1 values (1);;;
[connection server_1]
SET DEBUG_SYNC="now WAIT_FOR before_reset_query_ongoing";

# Begin change of primary on server2.
[connection server2]
SELECT group_replication_set_as_primary("MEMBER_UUID", 1);
group_replication_set_as_primary("MEMBER_UUID", 1)
Primary server switched to: MEMBER_UUID

# Assert primary changed.
[connection server2]
include/gr_assert_primary_member.inc

# Reap the transaction.
[connection server_1]
SET DEBUG_SYNC="now SIGNAL after_reset_query_finished";
SET DEBUG_SYNC="now SIGNAL after_reset_query_finished";
[connection server1]
ERROR HY000: Lost connection to MySQL server during query
SET DEBUG_SYNC="RESET";

# 7. Assert primary changed.
[connection server2]
include/gr_assert_primary_member.inc
[connection server1]
include/gr_assert_secondary_member.inc
include/assert.inc ['There is no value 1 in table t1']
include/diff_tables.inc [server1:test.t1, server2:test.t1]

# 8. Start a write transaction on server2.
# Client connection will be dropped.
# Primary change initiated from server2(primary).
[connection server1]

# Start a transaction on server2 and block it.
[connection server2]
SET DEBUG_SYNC="before_reset_query_plan SIGNAL before_reset_query_ongoing WAIT_FOR after_reset_query_finished";
INSERT INTO test.t1 values (2);;;
[connection server_2]
SET DEBUG_SYNC="now WAIT_FOR before_reset_query_ongoing";

# Begin change of primary on server_2_1.
[connection server_2_1]
SELECT group_replication_set_as_primary("MEMBER_UUID", 1);
group_replication_set_as_primary("MEMBER_UUID", 1)
Primary server switched to: MEMBER_UUID

# Assert primary changed.
[connection server1]
include/gr_assert_primary_member.inc

# Reap the transaction.
[connection server_2]
SET DEBUG_SYNC="now SIGNAL after_reset_query_finished";
SET DEBUG_SYNC="now SIGNAL after_reset_query_finished";
[connection server2]
ERROR HY000: Lost connection to MySQL server during query
SET DEBUG_SYNC="RESET";

# 9. Assert primary changed.
[connection server1]
include/gr_assert_primary_member.inc
[connection server2]
include/gr_assert_secondary_member.inc
include/assert.inc ['There is no value 2 in table t1']
include/diff_tables.inc [server1:test.t1, server2:test.t1]

# 10. Cleanup.
[connection server1]
DROP TABLE test.t1;
include/group_replication_end.inc
Loading