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
082e9a81
Commit
082e9a81
authored
Jan 19, 2006
by
pappa@c-0c0be253.1238-1-64736c10.cust.bredbandsbolaget.se
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
WL #2747: After push fixes
parent
9a6bad59
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
53 additions
and
58 deletions
+53
-58
mysql-test/ndb/ndbcluster.sh
mysql-test/ndb/ndbcluster.sh
+1
-1
mysql-test/r/ndb_config.result
mysql-test/r/ndb_config.result
+3
-3
mysql-test/r/ndb_restore.result
mysql-test/r/ndb_restore.result
+9
-0
mysql-test/t/disabled.def
mysql-test/t/disabled.def
+0
-1
mysql-test/t/ndb_restore.test
mysql-test/t/ndb_restore.test
+4
-2
storage/ndb/tools/restore/consumer_restore.cpp
storage/ndb/tools/restore/consumer_restore.cpp
+0
-12
storage/ndb/tools/restore/restore_main.cpp
storage/ndb/tools/restore/restore_main.cpp
+36
-39
No files found.
mysql-test/ndb/ndbcluster.sh
View file @
082e9a81
...
@@ -89,7 +89,7 @@ while test $# -gt 0; do
...
@@ -89,7 +89,7 @@ while test $# -gt 0; do
--small
)
--small
)
ndb_no_ord
=
32
ndb_no_ord
=
32
ndb_con_op
=
5000
ndb_con_op
=
5000
ndb_dmem
=
1
0M
ndb_dmem
=
2
0M
ndb_imem
=
1M
ndb_imem
=
1M
ndb_pbmem
=
4M
ndb_pbmem
=
4M
;;
;;
...
...
mysql-test/r/ndb_config.result
View file @
082e9a81
ndbd,1,localhost ndbd,2,localhost ndb_mgmd,3,localhost mysqld,4, mysqld,5, mysqld,6, mysqld,7, mysqld,8, mysqld,9, mysqld,10, mysqld,11,
ndbd,1,localhost ndbd,2,localhost ndb_mgmd,3,localhost mysqld,4, mysqld,5, mysqld,6, mysqld,7, mysqld,8, mysqld,9, mysqld,10, mysqld,11,
1,localhost,
10485760,1048576 2,localhost,1048576
0,1048576
1,localhost,
20971520,1048576 2,localhost,2097152
0,1048576
1 localhost
1048576
0 1048576
1 localhost
2097152
0 1048576
2 localhost
1048576
0 1048576
2 localhost
2097152
0 1048576
1 2
1 2
ndbd,1,localhost ndbd,2,localhost ndb_mgmd,3,localhost mysqld,4, mysqld,5, mysqld,6, mysqld,7, mysqld,8, mysqld,9, mysqld,10, mysqld,11,
ndbd,1,localhost ndbd,2,localhost ndb_mgmd,3,localhost mysqld,4, mysqld,5, mysqld,6, mysqld,7, mysqld,8, mysqld,9, mysqld,10, mysqld,11,
ndbd,1,localhost,52428800,26214400 ndbd,2,localhost,52428800,36700160 ndbd,3,localhost,52428800,52428800 ndbd,4,localhost,52428800,52428800 ndb_mgmd,5,localhost,, mysqld,6,localhost,,
ndbd,1,localhost,52428800,26214400 ndbd,2,localhost,52428800,36700160 ndbd,3,localhost,52428800,52428800 ndbd,4,localhost,52428800,52428800 ndb_mgmd,5,localhost,, mysqld,6,localhost,,
...
...
mysql-test/r/ndb_restore.result
View file @
082e9a81
use test;
use test;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
drop table if exists t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c;
drop table if exists t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c;
id type state logging database schema name
2 UserTable Online Yes cluster_replication def apply_status
1 SystemTable Online Yes sys def NDB$EVENTS_0
3 UserTable Online Yes cluster_replication def schema
0 SystemTable Online Yes sys def SYSTAB_0
NDBT_ProgramExit: 0 - OK
CREATE TABLE `t1_c` (
CREATE TABLE `t1_c` (
`capgoaledatta` smallint(5) unsigned NOT NULL auto_increment,
`capgoaledatta` smallint(5) unsigned NOT NULL auto_increment,
`goaledatta` char(2) NOT NULL default '',
`goaledatta` char(2) NOT NULL default '',
...
@@ -442,6 +450,7 @@ select * from t9_c) a;
...
@@ -442,6 +450,7 @@ select * from t9_c) a;
count(*)
count(*)
3
3
drop table t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c;
drop table t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c;
Create table test/def/t2_c failed: Translate frm error
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
drop table if exists t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c;
drop table if exists t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c;
520093696,2
520093696,2
mysql-test/t/disabled.def
View file @
082e9a81
...
@@ -26,6 +26,5 @@ rpl_ndb_basic : Bug#16228
...
@@ -26,6 +26,5 @@ rpl_ndb_basic : Bug#16228
rpl_sp : Bug #16456
rpl_sp : Bug #16456
ndb_autodiscover : Needs to be fixed w.r.t binlog
ndb_autodiscover : Needs to be fixed w.r.t binlog
ndb_autodiscover2 : Needs to be fixed w.r.t binlog
ndb_autodiscover2 : Needs to be fixed w.r.t binlog
ndb_restore : Needs fixing
system_mysql_db : Needs fixing
system_mysql_db : Needs fixing
system_mysql_db_fix : Needs fixing
system_mysql_db_fix : Needs fixing
mysql-test/t/ndb_restore.test
View file @
082e9a81
...
@@ -8,6 +8,9 @@ drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
...
@@ -8,6 +8,9 @@ drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
drop
table
if
exists
t1_c
,
t2_c
,
t3_c
,
t4_c
,
t5_c
,
t6_c
,
t7_c
,
t8_c
,
t9_c
;
drop
table
if
exists
t1_c
,
t2_c
,
t3_c
,
t4_c
,
t5_c
,
t6_c
,
t7_c
,
t8_c
,
t9_c
;
--
enable_warnings
--
enable_warnings
--
exec
$NDB_TOOLS_DIR
/
ndb_show_tables
--
exec
$NDB_MGM
--
no
-
defaults
-
e
"all dump 1000"
>>
$NDB_TOOLS_OUTPUT
CREATE
TABLE
`t1_c`
(
CREATE
TABLE
`t1_c`
(
`capgoaledatta`
smallint
(
5
)
unsigned
NOT
NULL
auto_increment
,
`capgoaledatta`
smallint
(
5
)
unsigned
NOT
NULL
auto_increment
,
`goaledatta`
char
(
2
)
NOT
NULL
default
''
,
`goaledatta`
char
(
2
)
NOT
NULL
default
''
,
...
@@ -348,8 +351,7 @@ select count(*)
...
@@ -348,8 +351,7 @@ select count(*)
select
*
from
t9_c
)
a
;
select
*
from
t9_c
)
a
;
drop
table
t1_c
,
t2_c
,
t3_c
,
t4_c
,
t5_c
,
t6_c
,
t7_c
,
t8_c
,
t9_c
;
drop
table
t1_c
,
t2_c
,
t3_c
,
t4_c
,
t5_c
,
t6_c
,
t7_c
,
t8_c
,
t9_c
;
--
error
134
--
exec
$NDB_TOOLS_DIR
/
ndb_restore
--
no
-
defaults
-
b
2
-
n
1
-
m
-
r
--
ndb
-
nodegroup_map
'(0,1)'
$NDB_BACKUP_DIR
/
BACKUP
/
BACKUP
-
2
2
>&
1
|
grep
Translate
||
true
--
exec
$NDB_TOOLS_DIR
/
ndb_restore
--
no
-
defaults
-
b
2
-
n
1
-
m
-
r
--
ndb
-
nodegroup_map
'(0,1)'
--
print
--
print_meta
$NDB_BACKUP_DIR
/
BACKUP
/
BACKUP
-
2
>>
$NDB_TOOLS_OUTPUT
#
#
# Cleanup
# Cleanup
...
...
storage/ndb/tools/restore/consumer_restore.cpp
View file @
082e9a81
...
@@ -213,7 +213,6 @@ Uint32 BackupRestore::map_ng(Uint32 ng)
...
@@ -213,7 +213,6 @@ Uint32 BackupRestore::map_ng(Uint32 ng)
if
(
ng
==
UNDEF_NODEGROUP
||
if
(
ng
==
UNDEF_NODEGROUP
||
ng_map
[
ng
].
map_array
[
0
]
==
UNDEF_NODEGROUP
)
ng_map
[
ng
].
map_array
[
0
]
==
UNDEF_NODEGROUP
)
{
{
ndbout
<<
"No mapping done"
<<
endl
;
return
ng
;
return
ng
;
}
}
else
else
...
@@ -226,13 +225,11 @@ Uint32 BackupRestore::map_ng(Uint32 ng)
...
@@ -226,13 +225,11 @@ Uint32 BackupRestore::map_ng(Uint32 ng)
assert
(
curr_inx
<
MAX_MAPS_PER_NODE_GROUP
);
assert
(
curr_inx
<
MAX_MAPS_PER_NODE_GROUP
);
assert
(
new_curr_inx
<
MAX_MAPS_PER_NODE_GROUP
);
assert
(
new_curr_inx
<
MAX_MAPS_PER_NODE_GROUP
);
ndbout
<<
"curr_inx = "
<<
curr_inx
<<
endl
;
if
(
new_curr_inx
>=
MAX_MAPS_PER_NODE_GROUP
)
if
(
new_curr_inx
>=
MAX_MAPS_PER_NODE_GROUP
)
new_curr_inx
=
0
;
new_curr_inx
=
0
;
else
if
(
ng_map
[
ng
].
map_array
[
new_curr_inx
]
==
UNDEF_NODEGROUP
)
else
if
(
ng_map
[
ng
].
map_array
[
new_curr_inx
]
==
UNDEF_NODEGROUP
)
new_curr_inx
=
0
;
new_curr_inx
=
0
;
new_ng
=
ng_map
[
ng
].
map_array
[
curr_inx
];
new_ng
=
ng_map
[
ng
].
map_array
[
curr_inx
];
ndbout
<<
"new_ng = "
<<
new_ng
<<
endl
;
ng_map
[
ng
].
curr_index
=
new_curr_inx
;
ng_map
[
ng
].
curr_index
=
new_curr_inx
;
return
new_ng
;
return
new_ng
;
}
}
...
@@ -249,7 +246,6 @@ bool BackupRestore::map_nodegroups(Uint16 *ng_array, Uint32 no_parts)
...
@@ -249,7 +246,6 @@ bool BackupRestore::map_nodegroups(Uint16 *ng_array, Uint32 no_parts)
for
(
i
=
0
;
i
<
no_parts
;
i
++
)
for
(
i
=
0
;
i
<
no_parts
;
i
++
)
{
{
Uint32
ng
;
Uint32
ng
;
ndbout
<<
"map_nodegroups loop "
<<
i
<<
", "
<<
ng_array
[
i
]
<<
endl
;
ng
=
map_ng
((
Uint32
)
ng_array
[
i
]);
ng
=
map_ng
((
Uint32
)
ng_array
[
i
]);
if
(
ng
!=
ng_array
[
i
])
if
(
ng
!=
ng_array
[
i
])
mapped
=
TRUE
;
mapped
=
TRUE
;
...
@@ -279,7 +275,6 @@ bool BackupRestore::search_replace(char *search_str, char **new_data,
...
@@ -279,7 +275,6 @@ bool BackupRestore::search_replace(char *search_str, char **new_data,
char
start_delimiter
=
0
;
char
start_delimiter
=
0
;
DBUG_ENTER
(
"search_replace"
);
DBUG_ENTER
(
"search_replace"
);
ndbout
<<
"search_replace"
<<
endl
;
do
do
{
{
char
c
=
**
data
;
char
c
=
**
data
;
...
@@ -635,7 +630,6 @@ BackupRestore::table(const TableS & table){
...
@@ -635,7 +630,6 @@ BackupRestore::table(const TableS & table){
const
char
*
name
=
table
.
getTableName
();
const
char
*
name
=
table
.
getTableName
();
ndbout
<<
"Starting to handle table "
<<
name
<<
endl
;
/**
/**
* Ignore blob tables
* Ignore blob tables
*/
*/
...
@@ -675,7 +669,6 @@ BackupRestore::table(const TableS & table){
...
@@ -675,7 +669,6 @@ BackupRestore::table(const TableS & table){
if
(
copy
.
getDefaultNoPartitionsFlag
())
if
(
copy
.
getDefaultNoPartitionsFlag
())
{
{
ndbout
<<
"Default number of partitions"
<<
endl
;
/*
/*
Table was defined with default number of partitions. We can restore
Table was defined with default number of partitions. We can restore
it with whatever is the default in this cluster.
it with whatever is the default in this cluster.
...
@@ -688,7 +681,6 @@ BackupRestore::table(const TableS & table){
...
@@ -688,7 +681,6 @@ BackupRestore::table(const TableS & table){
}
}
else
else
{
{
ndbout
<<
"Not default number of partitions"
<<
endl
;
/*
/*
Table was defined with specific number of partitions. It should be
Table was defined with specific number of partitions. It should be
restored with the same number of partitions. It will either be
restored with the same number of partitions. It will either be
...
@@ -697,11 +689,8 @@ BackupRestore::table(const TableS & table){
...
@@ -697,11 +689,8 @@ BackupRestore::table(const TableS & table){
*/
*/
Uint16
*
ng_array
=
(
Uint16
*
)
copy
.
getFragmentData
();
Uint16
*
ng_array
=
(
Uint16
*
)
copy
.
getFragmentData
();
Uint16
no_parts
=
copy
.
getFragmentCount
();
Uint16
no_parts
=
copy
.
getFragmentCount
();
ndbout
<<
"Map node groups, no_parts = "
<<
no_parts
<<
endl
;
ndbout
<<
"ng_array = "
<<
hex
<<
(
Uint32
)
ng_array
<<
endl
;
if
(
map_nodegroups
(
ng_array
,
no_parts
))
if
(
map_nodegroups
(
ng_array
,
no_parts
))
{
{
ndbout
<<
"Node groups were mapped"
<<
endl
;
if
(
translate_frm
(
&
copy
))
if
(
translate_frm
(
&
copy
))
{
{
err
<<
"Create table "
<<
table
.
getTableName
()
<<
" failed: "
;
err
<<
"Create table "
<<
table
.
getTableName
()
<<
" failed: "
;
...
@@ -709,7 +698,6 @@ BackupRestore::table(const TableS & table){
...
@@ -709,7 +698,6 @@ BackupRestore::table(const TableS & table){
return
false
;
return
false
;
}
}
}
}
ndbout
<<
"Set fragment Data "
<<
endl
;
copy
.
setFragmentData
((
const
void
*
)
ng_array
,
no_parts
<<
1
);
copy
.
setFragmentData
((
const
void
*
)
ng_array
,
no_parts
<<
1
);
}
}
...
...
storage/ndb/tools/restore/restore_main.cpp
View file @
082e9a81
...
@@ -183,7 +183,6 @@ static bool insert_ng_map(NODE_GROUP_MAP *ng_map,
...
@@ -183,7 +183,6 @@ static bool insert_ng_map(NODE_GROUP_MAP *ng_map,
uint
ng_index
=
ng_map
[
index
].
no_maps
;
uint
ng_index
=
ng_map
[
index
].
no_maps
;
opt_nodegroup_map_len
++
;
opt_nodegroup_map_len
++
;
printf
(
"New node group map for source %u index %u
\n
"
,
index
,
ng_index
);
if
(
ng_index
>=
MAX_MAPS_PER_NODE_GROUP
)
if
(
ng_index
>=
MAX_MAPS_PER_NODE_GROUP
)
return
true
;
return
true
;
ng_map
[
index
].
no_maps
++
;
ng_map
[
index
].
no_maps
++
;
...
@@ -258,7 +257,7 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
...
@@ -258,7 +257,7 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
printf
(
"Error in --nodeid,-n setting, see --help
\n
"
);
printf
(
"Error in --nodeid,-n setting, see --help
\n
"
);
exit
(
NDBT_ProgramExit
(
NDBT_WRONGARGS
));
exit
(
NDBT_ProgramExit
(
NDBT_WRONGARGS
));
}
}
ndbout
<<
"Nodeid = "
<<
ga_nodeId
<<
endl
;
info
<<
"Nodeid = "
<<
ga_nodeId
<<
endl
;
break
;
break
;
case
'b'
:
case
'b'
:
if
(
ga_backupId
==
0
)
if
(
ga_backupId
==
0
)
...
@@ -266,7 +265,7 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
...
@@ -266,7 +265,7 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
printf
(
"Error in --backupid,-b setting, see --help
\n
"
);
printf
(
"Error in --backupid,-b setting, see --help
\n
"
);
exit
(
NDBT_ProgramExit
(
NDBT_WRONGARGS
));
exit
(
NDBT_ProgramExit
(
NDBT_WRONGARGS
));
}
}
ndbout
<<
"Backup Id = "
<<
ga_backupId
<<
endl
;
info
<<
"Backup Id = "
<<
ga_backupId
<<
endl
;
break
;
break
;
case
OPT_NDB_NODEGROUP_MAP
:
case
OPT_NDB_NODEGROUP_MAP
:
/*
/*
...
@@ -274,7 +273,7 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
...
@@ -274,7 +273,7 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
to nodegroup in new cluster.
to nodegroup in new cluster.
*/
*/
opt_nodegroup_map_len
=
0
;
opt_nodegroup_map_len
=
0
;
ndbout
<<
"Analyse node group map"
<<
endl
;
info
<<
"Analyse node group map"
<<
endl
;
if
(
analyse_nodegroup_map
(
opt_nodegroup_map_str
,
if
(
analyse_nodegroup_map
(
opt_nodegroup_map_str
,
&
opt_nodegroup_map
[
0
]))
&
opt_nodegroup_map
[
0
]))
{
{
...
@@ -288,12 +287,12 @@ bool
...
@@ -288,12 +287,12 @@ bool
readArguments
(
int
*
pargc
,
char
***
pargv
)
readArguments
(
int
*
pargc
,
char
***
pargv
)
{
{
Uint32
i
;
Uint32
i
;
ndbout
<<
"Load defaults"
<<
endl
;
debug
<<
"Load defaults"
<<
endl
;
const
char
*
load_default_groups
[]
=
{
"mysql_cluster"
,
"ndb_restore"
,
0
};
const
char
*
load_default_groups
[]
=
{
"mysql_cluster"
,
"ndb_restore"
,
0
};
init_nodegroup_map
();
init_nodegroup_map
();
load_defaults
(
"my"
,
load_default_groups
,
pargc
,
pargv
);
load_defaults
(
"my"
,
load_default_groups
,
pargc
,
pargv
);
ndbout
<<
"handle_options"
<<
endl
;
debug
<<
"handle_options"
<<
endl
;
if
(
handle_options
(
pargc
,
pargv
,
my_long_options
,
get_one_option
))
if
(
handle_options
(
pargc
,
pargv
,
my_long_options
,
get_one_option
))
{
{
exit
(
NDBT_ProgramExit
(
NDBT_WRONGARGS
));
exit
(
NDBT_ProgramExit
(
NDBT_WRONGARGS
));
...
@@ -399,7 +398,7 @@ o verify nodegroup mapping
...
@@ -399,7 +398,7 @@ o verify nodegroup mapping
{
{
ga_backupPath
=
*
pargv
[
0
];
ga_backupPath
=
*
pargv
[
0
];
}
}
ndbout
<<
"backup path = "
<<
ga_backupPath
<<
endl
;
info
<<
"backup path = "
<<
ga_backupPath
<<
endl
;
return
true
;
return
true
;
}
}
...
@@ -445,7 +444,7 @@ main(int argc, char** argv)
...
@@ -445,7 +444,7 @@ main(int argc, char** argv)
{
{
NDB_INIT
(
argv
[
0
]);
NDB_INIT
(
argv
[
0
]);
ndbout
<<
"Start readArguments"
<<
endl
;
debug
<<
"Start readArguments"
<<
endl
;
if
(
!
readArguments
(
&
argc
,
&
argv
))
if
(
!
readArguments
(
&
argc
,
&
argv
))
{
{
exitHandler
(
NDBT_FAILED
);
exitHandler
(
NDBT_FAILED
);
...
@@ -456,11 +455,11 @@ main(int argc, char** argv)
...
@@ -456,11 +455,11 @@ main(int argc, char** argv)
/**
/**
* we must always load meta data, even if we will only print it to stdout
* we must always load meta data, even if we will only print it to stdout
*/
*/
ndbout
<<
"Start restoring meta data"
<<
endl
;
debug
<<
"Start restoring meta data"
<<
endl
;
RestoreMetaData
metaData
(
ga_backupPath
,
ga_nodeId
,
ga_backupId
);
RestoreMetaData
metaData
(
ga_backupPath
,
ga_nodeId
,
ga_backupId
);
if
(
!
metaData
.
readHeader
())
if
(
!
metaData
.
readHeader
())
{
{
ndbout
<<
"Failed to read "
<<
metaData
.
getFilename
()
<<
endl
<<
endl
;
err
<<
"Failed to read "
<<
metaData
.
getFilename
()
<<
endl
<<
endl
;
exitHandler
(
NDBT_FAILED
);
exitHandler
(
NDBT_FAILED
);
}
}
...
@@ -468,58 +467,58 @@ main(int argc, char** argv)
...
@@ -468,58 +467,58 @@ main(int argc, char** argv)
const
Uint32
version
=
tmp
.
NdbVersion
;
const
Uint32
version
=
tmp
.
NdbVersion
;
char
buf
[
NDB_VERSION_STRING_BUF_SZ
];
char
buf
[
NDB_VERSION_STRING_BUF_SZ
];
ndbout
<<
"Ndb version in backup files: "
info
<<
"Ndb version in backup files: "
<<
getVersionString
(
version
,
0
,
buf
,
sizeof
(
buf
))
<<
endl
;
<<
getVersionString
(
version
,
0
,
buf
,
sizeof
(
buf
))
<<
endl
;
/**
/**
* check wheater we can restore the backup (right version).
* check wheater we can restore the backup (right version).
*/
*/
ndbout
<<
"Load content"
<<
endl
;
debug
<<
"Load content"
<<
endl
;
int
res
=
metaData
.
loadContent
();
int
res
=
metaData
.
loadContent
();
if
(
res
==
0
)
if
(
res
==
0
)
{
{
ndbout_c
(
"Restore: Failed to load content"
)
;
err
<<
"Restore: Failed to load content"
<<
endl
;
exitHandler
(
NDBT_FAILED
);
exitHandler
(
NDBT_FAILED
);
}
}
ndbout
<<
"Get no of Tables"
<<
endl
;
debug
<<
"Get no of Tables"
<<
endl
;
if
(
metaData
.
getNoOfTables
()
==
0
)
if
(
metaData
.
getNoOfTables
()
==
0
)
{
{
ndbout_c
(
"Restore: The backup contains no tables "
)
;
err
<<
"The backup contains no tables"
<<
endl
;
exitHandler
(
NDBT_FAILED
);
exitHandler
(
NDBT_FAILED
);
}
}
ndbout
<<
"Validate Footer"
<<
endl
;
debug
<<
"Validate Footer"
<<
endl
;
if
(
!
metaData
.
validateFooter
())
if
(
!
metaData
.
validateFooter
())
{
{
ndbout_c
(
"Restore: Failed to validate footer."
)
;
err
<<
"Restore: Failed to validate footer."
<<
endl
;
exitHandler
(
NDBT_FAILED
);
exitHandler
(
NDBT_FAILED
);
}
}
ndbout
<<
"Init Backup objects"
<<
endl
;
debug
<<
"Init Backup objects"
<<
endl
;
Uint32
i
;
Uint32
i
;
for
(
i
=
0
;
i
<
g_consumers
.
size
();
i
++
)
for
(
i
=
0
;
i
<
g_consumers
.
size
();
i
++
)
{
{
if
(
!
g_consumers
[
i
]
->
init
())
if
(
!
g_consumers
[
i
]
->
init
())
{
{
clearConsumers
();
clearConsumers
();
err
<<
"Failed to initialize consumers"
<<
endl
;
exitHandler
(
NDBT_FAILED
);
exitHandler
(
NDBT_FAILED
);
}
}
}
}
ndbout
<<
"Restore objects (tablespaces, ..)"
<<
endl
;
debug
<<
"Restore objects (tablespaces, ..)"
<<
endl
;
for
(
i
=
0
;
i
<
metaData
.
getNoOfObjects
();
i
++
)
for
(
i
=
0
;
i
<
metaData
.
getNoOfObjects
();
i
++
)
{
{
for
(
Uint32
j
=
0
;
j
<
g_consumers
.
size
();
j
++
)
for
(
Uint32
j
=
0
;
j
<
g_consumers
.
size
();
j
++
)
if
(
!
g_consumers
[
j
]
->
object
(
metaData
.
getObjType
(
i
),
if
(
!
g_consumers
[
j
]
->
object
(
metaData
.
getObjType
(
i
),
metaData
.
getObjPtr
(
i
)))
metaData
.
getObjPtr
(
i
)))
{
{
ndbout_c
(
"Restore: Failed to restore table: %s. "
err
<<
"Restore: Failed to restore table: "
;
"Exiting..."
,
err
<<
metaData
[
i
]
->
getTableName
()
<<
" ... Exiting "
<<
endl
;
metaData
[
i
]
->
getTableName
());
exitHandler
(
NDBT_FAILED
);
exitHandler
(
NDBT_FAILED
);
}
}
}
}
ndbout
<<
"Restoring tables"
<<
endl
;
debug
<<
"Restoring tables"
<<
endl
;
for
(
i
=
0
;
i
<
metaData
.
getNoOfTables
();
i
++
)
for
(
i
=
0
;
i
<
metaData
.
getNoOfTables
();
i
++
)
{
{
if
(
checkSysTable
(
metaData
[
i
]
->
getTableName
()))
if
(
checkSysTable
(
metaData
[
i
]
->
getTableName
()))
...
@@ -527,21 +526,20 @@ main(int argc, char** argv)
...
@@ -527,21 +526,20 @@ main(int argc, char** argv)
for
(
Uint32
j
=
0
;
j
<
g_consumers
.
size
();
j
++
)
for
(
Uint32
j
=
0
;
j
<
g_consumers
.
size
();
j
++
)
if
(
!
g_consumers
[
j
]
->
table
(
*
metaData
[
i
]))
if
(
!
g_consumers
[
j
]
->
table
(
*
metaData
[
i
]))
{
{
ndbout_c
(
"Restore: Failed to restore table: %s. "
err
<<
"Restore: Failed to restore table: "
;
"Exiting..."
,
err
<<
metaData
[
i
]
->
getTableName
()
<<
" ... Exiting "
<<
endl
;
metaData
[
i
]
->
getTableName
());
exitHandler
(
NDBT_FAILED
);
exitHandler
(
NDBT_FAILED
);
}
}
}
}
}
}
ndbout
<<
"Close tables"
<<
endl
;
debug
<<
"Close tables"
<<
endl
;
for
(
i
=
0
;
i
<
g_consumers
.
size
();
i
++
)
for
(
i
=
0
;
i
<
g_consumers
.
size
();
i
++
)
if
(
!
g_consumers
[
i
]
->
endOfTables
())
if
(
!
g_consumers
[
i
]
->
endOfTables
())
{
{
ndbout_c
(
"Restore: Failed while closing tables"
)
;
err
<<
"Restore: Failed while closing tables"
<<
endl
;
exitHandler
(
NDBT_FAILED
);
exitHandler
(
NDBT_FAILED
);
}
}
ndbout
<<
"Iterate over data"
<<
endl
;
debug
<<
"Iterate over data"
<<
endl
;
if
(
ga_restore
||
ga_print
)
if
(
ga_restore
||
ga_print
)
{
{
if
(
_restore_data
||
_print_data
)
if
(
_restore_data
||
_print_data
)
...
@@ -551,7 +549,7 @@ main(int argc, char** argv)
...
@@ -551,7 +549,7 @@ main(int argc, char** argv)
// Read data file header
// Read data file header
if
(
!
dataIter
.
readHeader
())
if
(
!
dataIter
.
readHeader
())
{
{
ndbout
<<
"Failed to read header of data file. Exiting..."
;
err
<<
"Failed to read header of data file. Exiting..."
<<
endl
;
exitHandler
(
NDBT_FAILED
);
exitHandler
(
NDBT_FAILED
);
}
}
...
@@ -568,13 +566,13 @@ main(int argc, char** argv)
...
@@ -568,13 +566,13 @@ main(int argc, char** argv)
if
(
res
<
0
)
if
(
res
<
0
)
{
{
ndbout_c
(
"Restore: An error occured while restoring data. "
err
<<
" Restore: An error occured while restoring data. Exiting..."
;
"Exiting..."
)
;
err
<<
endl
;
exitHandler
(
NDBT_FAILED
);
exitHandler
(
NDBT_FAILED
);
}
}
if
(
!
dataIter
.
validateFragmentFooter
())
{
if
(
!
dataIter
.
validateFragmentFooter
())
{
ndbout_c
(
"Restore: Error validating fragment footer. "
err
<<
"Restore: Error validating fragment footer. "
;
"Exiting..."
)
;
err
<<
"Exiting..."
<<
endl
;
exitHandler
(
NDBT_FAILED
);
exitHandler
(
NDBT_FAILED
);
}
}
}
// while (dataIter.readFragmentHeader(res))
}
// while (dataIter.readFragmentHeader(res))
...
@@ -582,7 +580,7 @@ main(int argc, char** argv)
...
@@ -582,7 +580,7 @@ main(int argc, char** argv)
if
(
res
<
0
)
if
(
res
<
0
)
{
{
err
<<
"Restore: An error occured while restoring data. Exiting... "
err
<<
"Restore: An error occured while restoring data. Exiting... "
<<
"res="
<<
res
<<
endl
;
<<
"res=
"
<<
res
<<
endl
;
exitHandler
(
NDBT_FAILED
);
exitHandler
(
NDBT_FAILED
);
}
}
...
@@ -632,9 +630,8 @@ main(int argc, char** argv)
...
@@ -632,9 +630,8 @@ main(int argc, char** argv)
for
(
Uint32
j
=
0
;
j
<
g_consumers
.
size
();
j
++
)
for
(
Uint32
j
=
0
;
j
<
g_consumers
.
size
();
j
++
)
if
(
!
g_consumers
[
j
]
->
finalize_table
(
*
metaData
[
i
]))
if
(
!
g_consumers
[
j
]
->
finalize_table
(
*
metaData
[
i
]))
{
{
ndbout_c
(
"Restore: Failed to finalize restore table: %s. "
err
<<
"Restore: Failed to finalize restore table: %s. "
;
"Exiting..."
,
err
<<
"Exiting... "
<<
metaData
[
i
]
->
getTableName
()
<<
endl
;
metaData
[
i
]
->
getTableName
());
exitHandler
(
NDBT_FAILED
);
exitHandler
(
NDBT_FAILED
);
}
}
}
}
...
@@ -646,7 +643,7 @@ main(int argc, char** argv)
...
@@ -646,7 +643,7 @@ main(int argc, char** argv)
for
(
i
=
0
;
i
<
g_consumers
.
size
();
i
++
)
for
(
i
=
0
;
i
<
g_consumers
.
size
();
i
++
)
if
(
!
g_consumers
[
i
]
->
update_apply_status
(
metaData
))
if
(
!
g_consumers
[
i
]
->
update_apply_status
(
metaData
))
{
{
ndbout_c
(
"Restore: Failed to restore epoch"
)
;
err
<<
"Restore: Failed to restore epoch"
<<
endl
;
return
-
1
;
return
-
1
;
}
}
}
}
...
...
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