Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
bb4b8c74
Commit
bb4b8c74
authored
Oct 28, 2016
by
Jan Lindström
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
MDEV-9099: Test encryption.innodb_encryption_discard_import fails on buildbot
parent
de0f77a2
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
152 additions
and
110 deletions
+152
-110
mysql-test/suite/encryption/include/innodb-util.pl
mysql-test/suite/encryption/include/innodb-util.pl
+126
-0
mysql-test/suite/encryption/r/innodb_encryption_discard_import.result
...uite/encryption/r/innodb_encryption_discard_import.result
+11
-32
mysql-test/suite/encryption/t/innodb_encryption_discard_import.test
.../suite/encryption/t/innodb_encryption_discard_import.test
+15
-78
No files found.
mysql-test/suite/encryption/include/innodb-util.pl
0 → 100644
View file @
bb4b8c74
#
# Utility functions to copy files for WL#5522
#
# All the tables must be in the same database, you can call it like so:
# ib_backup_tablespaces("test", "t1", "blah", ...).
use
File::
Copy
;
use
File::
Spec
;
sub
ib_normalize_path
{
my
(
$path
)
=
@_
;
}
sub
ib_backup_tablespace
{
my
(
$db
,
$table
)
=
@_
;
my
$datadir
=
$ENV
{'
MYSQLD_DATADIR
'};
my
$cfg_file
=
sprintf
("
%s.cfg
",
$table
);
my
$ibd_file
=
sprintf
("
%s.ibd
",
$table
);
my
$tmpd
=
$ENV
{'
MYSQLTEST_VARDIR
'}
.
"
/tmp
";
my
@args
=
(
File::
Spec
->
catfile
(
$datadir
,
$db
,
$ibd_file
),
File::
Spec
->
catfile
(
$tmpd
,
$ibd_file
));
copy
(
@args
)
or
die
"
copy
@args
failed: $!
";
my
@args
=
(
File::
Spec
->
catfile
(
$datadir
,
$db
,
$cfg_file
),
File::
Spec
->
catfile
(
$tmpd
,
$cfg_file
));
copy
(
@args
)
or
die
"
copy
@args
failed: $!
";
}
sub
ib_cleanup
{
my
(
$db
,
$table
)
=
@_
;
my
$datadir
=
$ENV
{'
MYSQLD_DATADIR
'};
my
$cfg_file
=
sprintf
("
%s.cfg
",
$table
);
print
"
unlink:
$cfg_file
\n
";
# These may or may not exist
unlink
(
File::
Spec
->
catfile
(
$datadir
,
$db
,
$cfg_file
));
}
sub
ib_unlink_tablespace
{
my
(
$db
,
$table
)
=
@_
;
my
$datadir
=
$ENV
{'
MYSQLD_DATADIR
'};
my
$ibd_file
=
sprintf
("
%s.ibd
",
$table
);
print
"
unlink:
$ibd_file
\n
";
# This may or may not exist
unlink
(
File::
Spec
->
catfile
(
$datadir
,
$db
,
$ibd_file
));
ib_cleanup
(
$db
,
$table
);
}
sub
ib_backup_tablespaces
{
my
(
$db
,
@tables
)
=
@_
;
foreach
my
$table
(
@tables
)
{
print
"
backup:
$table
\n
";
ib_backup_tablespace
(
$db
,
$table
);
}
}
sub
ib_discard_tablespace
{
}
sub
ib_discard_tablespaces
{
}
sub
ib_restore_cfg_file
{
my
(
$tmpd
,
$datadir
,
$db
,
$table
)
=
@_
;
my
$cfg_file
=
sprintf
("
%s.cfg
",
$table
);
my
@args
=
(
File::
Spec
->
catfile
(
$tmpd
,
$cfg_file
),
File::
Spec
->
catfile
(
$datadir
,
"
$db
",
$cfg_file
));
copy
(
@args
)
or
die
"
copy
@args
failed: $!
";
}
sub
ib_restore_ibd_file
{
my
(
$tmpd
,
$datadir
,
$db
,
$table
)
=
@_
;
my
$ibd_file
=
sprintf
("
%s.ibd
",
$table
);
my
@args
=
(
File::
Spec
->
catfile
(
$tmpd
,
$ibd_file
),
File::
Spec
->
catfile
(
$datadir
,
$db
,
$ibd_file
));
copy
(
@args
)
or
die
"
copy
@args
failed: $!
";
}
sub
ib_restore_tablespace
{
my
(
$db
,
$table
)
=
@_
;
my
$datadir
=
$ENV
{'
MYSQLD_DATADIR
'};
my
$tmpd
=
$ENV
{'
MYSQLTEST_VARDIR
'}
.
"
/tmp
";
ib_restore_cfg_file
(
$tmpd
,
$datadir
,
$db
,
$table
);
ib_restore_ibd_file
(
$tmpd
,
$datadir
,
$db
,
$table
);
}
sub
ib_restore_tablespaces
{
my
(
$db
,
@tables
)
=
@_
;
foreach
my
$table
(
@tables
)
{
print
"
restore:
$table
.ibd and .cfg files
\n
";
ib_restore_tablespace
(
$db
,
$table
);
}
}
sub
ib_restore_cfg_files
{
my
(
$db
,
@tables
)
=
@_
;
my
$datadir
=
$ENV
{'
MYSQLD_DATADIR
'};
my
$tmpd
=
$ENV
{'
MYSQLTEST_VARDIR
'}
.
"
/tmp
";
foreach
my
$table
(
@tables
)
{
print
"
restore:
$table
.cfg file
\n
";
ib_restore_cfg_file
(
$tmpd
,
$datadir
,
$db
,
$table
);
}
}
sub
ib_restore_ibd_files
{
my
(
$db
,
@tables
)
=
@_
;
my
$datadir
=
$ENV
{'
MYSQLD_DATADIR
'};
my
$tmpd
=
$ENV
{'
MYSQLTEST_VARDIR
'}
.
"
/tmp
";
foreach
my
$table
(
@tables
)
{
print
"
restore:
$table
.ibd file
\n
";
ib_restore_ibd_file
(
$tmpd
,
$datadir
,
$db
,
$table
);
}
}
mysql-test/suite/encryption/r/innodb_encryption_discard_import.result
View file @
bb4b8c74
...
@@ -28,62 +28,41 @@ NOT FOUND /foobar/ in t1.ibd
...
@@ -28,62 +28,41 @@ NOT FOUND /foobar/ in t1.ibd
NOT FOUND /temp/ in t2.ibd
NOT FOUND /temp/ in t2.ibd
# t3 ... on expecting NOT FOUND
# t3 ... on expecting NOT FOUND
NOT FOUND /barfoo/ in t3.ibd
NOT FOUND /barfoo/ in t3.ibd
FLUSH TABLE t1, t2, t3 FOR EXPORT;
# List before copying files
t1.cfg
t1.frm
t1.frm
t1.ibd
t1.ibd
t2.cfg
t2.frm
t2.frm
t2.ibd
t2.ibd
t3.cfg
t3.frm
t3.frm
t3.ibd
t3.ibd
UNLOCK TABLES;
FLUSH TABLES t1, t2, t3 FOR EXPORT;
# Restarting server
backup: t1
# Done restarting server
backup: t2
# List before t1 DISCARD
backup: t3
t1.cfg
t1.frm
t1.frm
t1.ibd
t1.ibd
t2.cfg
t2.frm
t2.frm
t2.ibd
t2.ibd
t3.cfg
t3.frm
t3.frm
t3.ibd
t3.ibd
SET GLOBAL innodb_file_format = `Barracuda`;
UNLOCK TABLES;
SET GLOBAL innodb_file_per_table = ON;
ALTER TABLE t1 DISCARD TABLESPACE;
ALTER TABLE t1 DISCARD TABLESPACE;
ALTER TABLE t2 DISCARD TABLESPACE;
ALTER TABLE t2 DISCARD TABLESPACE;
ALTER TABLE t3 DISCARD TABLESPACE;
ALTER TABLE t3 DISCARD TABLESPACE;
# List after t1 DISCARD
restore: t1 .ibd and .cfg files
t1.frm
restore: t2 .ibd and .cfg files
t2.frm
restore: t3 .ibd and .cfg files
t3.frm
# Restarting server
# Done restarting server
SET GLOBAL innodb_file_format = `Barracuda`;
SET GLOBAL innodb_file_per_table = ON;
# Tablespaces should be still encrypted
# t1 yes on expecting NOT FOUND
NOT FOUND /foobar/ in t1.ibd
# t2 ... on expecting NOT FOUND
NOT FOUND /temp/ in t2.ibd
# t3 ... on expecting NOT FOUND
NOT FOUND /barfoo/ in t3.ibd
ALTER TABLE t1 IMPORT TABLESPACE;
ALTER TABLE t1 IMPORT TABLESPACE;
Warnings:
Warning 1814 Tablespace has been discarded for table 't1'
SELECT COUNT(1) FROM t1;
SELECT COUNT(1) FROM t1;
COUNT(1)
COUNT(1)
10000
10000
ALTER TABLE t2 IMPORT TABLESPACE;
ALTER TABLE t2 IMPORT TABLESPACE;
Warnings:
Warning 1814 Tablespace has been discarded for table 't2'
SELECT COUNT(1) FROM t2;
SELECT COUNT(1) FROM t2;
COUNT(1)
COUNT(1)
10000
10000
ALTER TABLE t3 IMPORT TABLESPACE;
ALTER TABLE t3 IMPORT TABLESPACE;
Warnings:
Warning 1814 Tablespace has been discarded for table 't3'
SELECT COUNT(1) FROM t3;
SELECT COUNT(1) FROM t3;
COUNT(1)
COUNT(1)
10000
10000
...
...
mysql-test/suite/encryption/t/innodb_encryption_discard_import.test
View file @
bb4b8c74
...
@@ -2,12 +2,12 @@
...
@@ -2,12 +2,12 @@
--
source
include
/
have_example_key_management_plugin
.
inc
--
source
include
/
have_example_key_management_plugin
.
inc
--
source
include
/
not_valgrind
.
inc
--
source
include
/
not_valgrind
.
inc
--
source
include
/
not_embedded
.
inc
--
source
include
/
not_embedded
.
inc
--
source
include
/
not_windows
.
inc
call
mtr
.
add_suppression
(
"InnoDB: Table .* tablespace is set as discarded."
);
call
mtr
.
add_suppression
(
"InnoDB: Table .* tablespace is set as discarded."
);
--
let
$MYSQLD_TMPDIR
=
`SELECT @@tmpdir`
let
$MYSQLD_TMPDIR
=
`SELECT @@tmpdir`
;
--
let
$MYSQLD_DATADIR
=
`SELECT @@datadir`
let
$MYSQLD_DATADIR
=
`SELECT @@datadir`
;
--
let
SEARCH_RANGE
=
10000000
--
let
SEARCH_RANGE
=
10000000
--
let
$id
=
`SELECT RAND()`
--
let
$id
=
`SELECT RAND()`
--
let
t1_IBD
=
$MYSQLD_DATADIR
/
test
/
t1
.
ibd
--
let
t1_IBD
=
$MYSQLD_DATADIR
/
test
/
t1
.
ibd
...
@@ -66,88 +66,25 @@ set autocommit=1;
...
@@ -66,88 +66,25 @@ set autocommit=1;
--
let
SEARCH_FILE
=
$t3_IBD
--
let
SEARCH_FILE
=
$t3_IBD
--
source
include
/
search_pattern_in_file
.
inc
--
source
include
/
search_pattern_in_file
.
inc
FLUSH
TABLE
t1
,
t2
,
t3
FOR
EXPORT
;
let
MYSQLD_DATADIR
=
`SELECT @@datadir`
;
--
echo
# List before copying files
--
list_files
$MYSQLD_DATADIR
/
test
--
list_files
$MYSQLD_DATADIR
/
test
--
disable_result_log
FLUSH
TABLES
t1
,
t2
,
t3
FOR
EXPORT
;
--
error
0
,
1
,
2
perl
;
--
remove_file
$MYSQLD_TMPDIR
/
t1
.
cfg
do
"
$ENV
{
MTR_SUITE_DIR
}
/include/innodb-util.pl"
;
--
error
0
,
1
,
2
ib_backup_tablespaces
(
"test"
,
"t1"
,
"t2"
,
"t3"
);
--
remove_file
$MYSQLD_TMPDIR
/
t1
.
ibd
EOF
--
error
0
,
1
,
2
--
remove_file
$MYSQLD_TMPDIR
/
t2
.
cfg
--
error
0
,
1
,
2
--
remove_file
$MYSQLD_TMPDIR
/
t2
.
ibd
--
error
0
,
1
,
2
--
remove_file
$MYSQLD_TMPDIR
/
t3
.
cfg
--
error
0
,
1
,
2
--
remove_file
$MYSQLD_TMPDIR
/
t3
.
ibd
--
enable_result_log
--
copy_file
$MYSQLD_DATADIR
/
test
/
t1
.
cfg
$MYSQLD_TMPDIR
/
t1
$id
.
cfg
--
copy_file
$MYSQLD_DATADIR
/
test
/
t1
.
ibd
$MYSQLD_TMPDIR
/
t1
$id
.
ibd
--
copy_file
$MYSQLD_DATADIR
/
test
/
t2
.
cfg
$MYSQLD_TMPDIR
/
t2
$id
.
cfg
--
copy_file
$MYSQLD_DATADIR
/
test
/
t2
.
ibd
$MYSQLD_TMPDIR
/
t2
$id
.
ibd
--
copy_file
$MYSQLD_DATADIR
/
test
/
t3
.
cfg
$MYSQLD_TMPDIR
/
t3
$id
.
cfg
--
copy_file
$MYSQLD_DATADIR
/
test
/
t3
.
ibd
$MYSQLD_TMPDIR
/
t3
$id
.
ibd
UNLOCK
TABLES
;
--
echo
# Restarting server
--
source
include
/
restart_mysqld
.
inc
--
echo
# Done restarting server
--
echo
# List before t1 DISCARD
--
list_files
$MYSQLD_DATADIR
/
test
--
list_files
$MYSQLD_DATADIR
/
test
UNLOCK
TABLES
;
SET
GLOBAL
innodb_file_format
=
`Barracuda`
;
SET
GLOBAL
innodb_file_per_table
=
ON
;
ALTER
TABLE
t1
DISCARD
TABLESPACE
;
ALTER
TABLE
t1
DISCARD
TABLESPACE
;
ALTER
TABLE
t2
DISCARD
TABLESPACE
;
ALTER
TABLE
t2
DISCARD
TABLESPACE
;
ALTER
TABLE
t3
DISCARD
TABLESPACE
;
ALTER
TABLE
t3
DISCARD
TABLESPACE
;
--
echo
# List after t1 DISCARD
perl
;
--
list_files
$MYSQLD_DATADIR
/
test
do
"
$ENV
{
MTR_SUITE_DIR
}
/include/innodb-util.pl"
;
--
error
0
,
1
,
2
ib_discard_tablespaces
(
"test"
,
"t1"
,
"t2"
,
"t3"
);
--
remove_file
$MYSQLD_DATADIR
/
test
/
t1
.
cfg
ib_restore_tablespaces
(
"test"
,
"t1"
,
"t2"
,
"t3"
);
--
error
0
,
1
,
2
EOF
--
remove_file
$MYSQLD_DATADIR
/
test
/
t1
.
ibd
--
error
0
,
1
,
2
--
remove_file
$MYSQLD_DATADIR
/
test
/
t2
.
cfg
--
error
0
,
1
,
2
--
remove_file
$MYSQLD_DATADIR
/
test
/
t2
.
ibd
--
error
0
,
1
,
2
--
remove_file
$MYSQLD_DATADIR
/
test
/
t3
.
cfg
--
error
0
,
1
,
2
--
remove_file
$MYSQLD_DATADIR
/
test
/
t3
.
ibd
--
enable_result_log
--
echo
# Restarting server
--
source
include
/
restart_mysqld
.
inc
--
echo
# Done restarting server
SET
GLOBAL
innodb_file_format
=
`Barracuda`
;
SET
GLOBAL
innodb_file_per_table
=
ON
;
--
copy_file
$MYSQLD_TMPDIR
/
t1
$id
.
cfg
$MYSQLD_DATADIR
/
test
/
t1
.
cfg
--
copy_file
$MYSQLD_TMPDIR
/
t1
$id
.
ibd
$MYSQLD_DATADIR
/
test
/
t1
.
ibd
--
copy_file
$MYSQLD_TMPDIR
/
t2
$id
.
cfg
$MYSQLD_DATADIR
/
test
/
t2
.
cfg
--
copy_file
$MYSQLD_TMPDIR
/
t2
$id
.
ibd
$MYSQLD_DATADIR
/
test
/
t2
.
ibd
--
copy_file
$MYSQLD_TMPDIR
/
t3
$id
.
cfg
$MYSQLD_DATADIR
/
test
/
t3
.
cfg
--
copy_file
$MYSQLD_TMPDIR
/
t3
$id
.
ibd
$MYSQLD_DATADIR
/
test
/
t3
.
ibd
--
sleep
5
--
echo
# Tablespaces should be still encrypted
--
let
SEARCH_PATTERN
=
foobar
--
echo
# t1 yes on expecting NOT FOUND
--
let
SEARCH_FILE
=
$t1_IBD
--
source
include
/
search_pattern_in_file
.
inc
--
let
SEARCH_PATTERN
=
temp
--
echo
# t2 ... on expecting NOT FOUND
--
let
SEARCH_FILE
=
$t2_IBD
--
source
include
/
search_pattern_in_file
.
inc
--
echo
# t3 ... on expecting NOT FOUND
--
let
SEARCH_PATTERN
=
barfoo
--
let
SEARCH_FILE
=
$t3_IBD
--
source
include
/
search_pattern_in_file
.
inc
ALTER
TABLE
t1
IMPORT
TABLESPACE
;
ALTER
TABLE
t1
IMPORT
TABLESPACE
;
SELECT
COUNT
(
1
)
FROM
t1
;
SELECT
COUNT
(
1
)
FROM
t1
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment