polardbxengine/mysql-test/suite/memcached/t/memc297_crash.test

91 lines
2.6 KiB
Plaintext

source include/have_memcached_plugin.inc;
source include/not_valgrind.inc;
source include/have_log_bin.inc;
source include/not_windows.inc;
--disable_query_log
CALL mtr.add_suppression("daemon-memcached-w-batch-size': unsigned");
CALL mtr.add_suppression("Could not obtain server's UPN to be used as target service name");
CALL mtr.add_suppression("Warning: MySQL is trying to drop");
--enable_query_log
--enable_connect_log
SET @transaction_isolation= @@global.transaction_isolation;
SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
# Create the memcached tables
--disable_query_log
source include/memcache_config.inc;
--enable_query_log
INSERT INTO cache_policies VALUES("cache_policy", "innodb_only",
"innodb_only", "innodb_only", "innodb_only");
INSERT INTO config_options VALUES("separator", "|");
# describe table for memcache
INSERT INTO containers VALUES ("desc_t1", "test", "t1",
"c1", "c2,c21", "c3", "c4", "c5", "PRIMARY");
USE test;
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (c1 VARCHAR(32),
c2 VARCHAR(1024),
c21 VARCHAR(1024),
c3 INT, c4 BIGINT UNSIGNED, c5 INT, primary key(c1))
ENGINE = INNODB;
INSERT INTO t1 VALUES ('D', 'Darmstadt', 'City', 0, 0, 0);
INSERT INTO t1 VALUES ('B', 'Berlin', 'Mitte', 0, 0, 0);
INSERT INTO t1 VALUES ('C', 'Cottbus', 'West', 0, 0 ,0);
INSERT INTO t1 VALUES ('H', 'Hamburg', 'Norderstedt', 0, 0, 0);
# Tables must exist before plugin can be started!
--let $memcached_address=127.0.0.1:11297
--source ../include/load_daemon_memcached_expecting_success.inc
--sorted_result
SELECT c1,c2,c21 FROM t1;
--echo Bug 25909540 UNINSTALL PLUGIN DAEMON_MEMCACHED MAKE MYSQLD CRASHED
# Though the issue is not observed on trunk, the test case is
# retained since it is a basic scenario.
#Note:- innodb_api_enable_binlog=1 should be enabled
perl;
use Cache::Memcached;
my $port = $ENV{'MASTER_MYPORT'};
my $client = $ENV{'MYSQL'};
print "\n Connect to the memcached server and do a get";
my $memd = new Cache::Memcached {
'servers' => [ "127.0.0.1:11297" ]
};
$val = $memd->get("D");
print "\n Uninstall the memcached plugin,with a memcached connection present";
print "\n and load the plugin again.\n";
my $test_sql = "UNINSTALL PLUGIN daemon_memcached;".
"INSTALL PLUGIN daemon_memcached SONAME 'libmemcached.so';";
$cmd="$client --host=127.0.0.1 -P $port -uroot -e\"$test_sql\"";
system($cmd);
$memd->disconnect_all;
EOF
DROP TABLE t1;
UNINSTALL PLUGIN daemon_memcached;
DROP DATABASE innodb_memcache;
SET @@global.transaction_isolation= @transaction_isolation;