diff options
Diffstat (limited to 'mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_bad_allow.test')
-rw-r--r-- | mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_bad_allow.test | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_bad_allow.test b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_bad_allow.test new file mode 100644 index 00000000000..6de091eae67 --- /dev/null +++ b/mysql-test/suite/perfschema/t/hostcache_ipv4_addrinfo_bad_allow.test @@ -0,0 +1,53 @@ + +# +# Tests for the performance_schema host_cache. +# +# Simulate failures from DNS full round trip (FCRDNS): +# - IP --> HOST --> IP returns no match +# - reported in COUNT_FCRDNS_ERRORS + +--source include/not_embedded.inc +--source include/have_debug.inc +--source include/have_perfschema.inc + +# [Warning] Hostname 'santa.claus.ipv4.example.com' does not resolve to '192.0.2.4'. +# [Note] Hostname 'santa.claus.ipv4.example.com' has the following IP addresses: +# [Note] - 192.0.2.126 +# [Note] - 192.0.2.127 +call mtr.add_suppression("santa.claus.ipv4.example.com"); + +flush status; +flush hosts; +select @@global.debug; + +grant select on test.* to 'root'@'192.0.2.4'; + +connect (con1,"127.0.0.1",root,,test,$MASTER_MYPORT,); +select "Con1 is alive"; +select current_user(); +disconnect con1; + +--connection default +set global debug= "+d,vio_peer_addr_fake_ipv4,getnameinfo_fake_ipv4,getaddrinfo_fake_bad_ipv4"; + +connect (con2,"127.0.0.1",root,,test,$MASTER_MYPORT,); +select "Con2 is alive"; +select current_user(); +disconnect con2; + +--connection default +--source ../include/hostcache_dump.inc + +connect (con3,"127.0.0.1",root,,test,$MASTER_MYPORT,); +select "Con3 is alive"; +select current_user(); +disconnect con3; + +--connection default +--source ../include/hostcache_dump.inc + +revoke select on test.* from 'root'@'192.0.2.4'; +drop user 'root'@'192.0.2.4'; + +set global debug= default; + |