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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
5a4e5129
Commit
5a4e5129
authored
Mar 13, 2006
by
tomas@poseidon.ndb.mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
changed test to make it predictable
parent
71281995
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
78 additions
and
37 deletions
+78
-37
mysql-test/r/ndb_binlog_ddl_multi.result
mysql-test/r/ndb_binlog_ddl_multi.result
+1
-1
mysql-test/r/ndb_binlog_multi.result
mysql-test/r/ndb_binlog_multi.result
+47
-10
mysql-test/t/disabled.def
mysql-test/t/disabled.def
+1
-1
mysql-test/t/ndb_binlog_ddl_multi.test
mysql-test/t/ndb_binlog_ddl_multi.test
+1
-1
mysql-test/t/ndb_binlog_multi.test
mysql-test/t/ndb_binlog_multi.test
+27
-22
sql/ha_ndbcluster_binlog.cc
sql/ha_ndbcluster_binlog.cc
+1
-2
No files found.
mysql-test/r/ndb_binlog_ddl_multi.result
View file @
5a4e5129
...
@@ -160,4 +160,4 @@ master-bin1.000001 # Table_map # # table_id: # (cluster.apply_status)
...
@@ -160,4 +160,4 @@ master-bin1.000001 # Table_map # # table_id: # (cluster.apply_status)
master-bin1.000001 # Write_rows # # table_id: #
master-bin1.000001 # Write_rows # # table_id: #
master-bin1.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin1.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin1.000001 # Query # # COMMIT
master-bin1.000001 # Query # # COMMIT
master-bin1.000001 # Query # # use `test`; drop table
`t2`
master-bin1.000001 # Query # # use `test`; drop table
t2
mysql-test/r/ndb_binlog_multi.result
View file @
5a4e5129
drop table if exists t1,t2;
drop table if exists t1,t2;
drop table if exists t1,t2;
drop table if exists t1,t2;
SHOW TABLES
;
reset master
;
Tables_in_test
reset master;
CREATE TABLE t2 (a INT PRIMARY KEY, b int) ENGINE = NDB;
CREATE TABLE t2 (a INT PRIMARY KEY, b int) ENGINE = NDB;
show tables;
Tables_in_test
t2
INSERT INTO t2 VALUES (1,1),(2,2);
INSERT INTO t2 VALUES (1,1),(2,2);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin1.000001 # Query # # use `test`; CREATE TABLE t2 (a INT PRIMARY KEY, b int) ENGINE = NDB
master-bin1.000001 # Query # # BEGIN
master-bin1.000001 # Table_map # # table_id: # (test.t2)
master-bin1.000001 # Table_map # # table_id: # (cluster.apply_status)
master-bin1.000001 # Write_rows # # table_id: #
master-bin1.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin1.000001 # Query # # COMMIT
select * from t2 order by a;
select * from t2 order by a;
a b
a b
1 1
1 1
...
@@ -19,23 +25,54 @@ SELECT * FROM t2 ORDER BY a;
...
@@ -19,23 +25,54 @@ SELECT * FROM t2 ORDER BY a;
a b
a b
1 1
1 1
2 2
2 2
DROP TABLE t2;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (a INT PRIMARY KEY, b int) ENGINE = NDB
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t2)
master-bin.000001 # Table_map # # table_id: # (cluster.apply_status)
master-bin.000001 # Write_rows # # table_id: #
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; DROP TABLE t2
SELECT inserts,updates,deletes,schemaops FROM
SELECT inserts,updates,deletes,schemaops FROM
cluster.binlog_index WHERE epoch=<the_epoch>;
cluster.binlog_index WHERE epoch=<the_epoch>;
inserts updates deletes schemaops
inserts updates deletes schemaops
2 0 0 0
2 0 0 0
DROP TABLE t2;
reset master;
reset master;
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE = NDB;
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE = NDB;
INSERT INTO t1 VALUES (1),(2);
INSERT INTO t1 VALUES (1),(2);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin1.000001 # Query # # use `test`; CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE = NDB
master-bin1.000001 # Query # # BEGIN
master-bin1.000001 # Table_map # # table_id: # (test.t1)
master-bin1.000001 # Table_map # # table_id: # (cluster.apply_status)
master-bin1.000001 # Write_rows # # table_id: #
master-bin1.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin1.000001 # Query # # COMMIT
SELECT @the_epoch2:=epoch,inserts,updates,deletes,schemaops FROM
SELECT @the_epoch2:=epoch,inserts,updates,deletes,schemaops FROM
cluster.binlog_index ORDER BY epoch DESC LIMIT 1;
cluster.binlog_index ORDER BY epoch DESC LIMIT 1;
@the_epoch2:=epoch inserts updates deletes schemaops
@the_epoch2:=epoch inserts updates deletes schemaops
<the_epoch2> 2 0 0 0
<the_epoch2> 2 0 0 0
SELECT inserts,updates,deletes,schemaops FROM
SELECT inserts,updates,deletes,schemaops FROM
cluster.binlog_index WHERE epoch > <the_epoch> AND epoch < <the_epoch2>;
cluster.binlog_index WHERE epoch > <the_epoch> AND epoch <
=
<the_epoch2>;
inserts updates deletes schemaops
inserts updates deletes schemaops
2 0 0 0
drop table t1;
drop table t1;
SHOW TABLES;
show binlog events from <binlog_start>;
Tables_in_test
Log_name Pos Event_type Server_id End_log_pos Info
master-bin1.000001 # Query # # use `test`; CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE = NDB
master-bin1.000001 # Query # # BEGIN
master-bin1.000001 # Table_map # # table_id: # (test.t1)
master-bin1.000001 # Table_map # # table_id: # (cluster.apply_status)
master-bin1.000001 # Write_rows # # table_id: #
master-bin1.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin1.000001 # Query # # COMMIT
master-bin1.000001 # Query # # use `test`; drop table t1
SELECT inserts,updates,deletes,schemaops FROM
SELECT inserts,updates,deletes,schemaops FROM
cluster.binlog_index WHERE epoch > <the_epoch> AND epoch < <the_epoch2>;
cluster.binlog_index WHERE epoch > <the_epoch> AND epoch <
=
<the_epoch2>;
inserts updates deletes schemaops
inserts updates deletes schemaops
2 0 0 0
mysql-test/t/disabled.def
View file @
5a4e5129
...
@@ -17,7 +17,7 @@ ndb_autodiscover : Needs to be fixed w.r.t binlog
...
@@ -17,7 +17,7 @@ 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_binlog_basic : Results are not deterministic, Tomas will fix
#ndb_binlog_basic : Results are not deterministic, Tomas will fix
#ndb_binlog_ddl_multi : Bug#17038 [PATCH PENDING]
#ndb_binlog_ddl_multi : Bug#17038 [PATCH PENDING]
ndb_binlog_multi : Results are not deterministic, Tomas will fix
#
ndb_binlog_multi : Results are not deterministic, Tomas will fix
ndb_load : Bug#17233
ndb_load : Bug#17233
partition_03ndb : Bug#16385
partition_03ndb : Bug#16385
ps_7ndb : dbug assert in RBR mode when executing test suite
ps_7ndb : dbug assert in RBR mode when executing test suite
...
...
mysql-test/t/ndb_binlog_ddl_multi.test
View file @
5a4e5129
...
@@ -171,9 +171,9 @@ create table t1 (a int key) engine=ndb;
...
@@ -171,9 +171,9 @@ create table t1 (a int key) engine=ndb;
insert
into
t1
values
(
1
);
insert
into
t1
values
(
1
);
rename
table
t1
to
t2
;
rename
table
t1
to
t2
;
insert
into
t2
values
(
2
);
insert
into
t2
values
(
2
);
drop
table
t2
;
# now we should see data in table t1 _and_ t2
# now we should see data in table t1 _and_ t2
# prior to bug fix, data was missing for t2
# prior to bug fix, data was missing for t2
--
connection
server2
--
connection
server2
drop
table
t2
;
--
source
include
/
show_binlog_events
.
inc
--
source
include
/
show_binlog_events
.
inc
mysql-test/t/ndb_binlog_multi.test
View file @
5a4e5129
...
@@ -9,28 +9,26 @@ connection server1;
...
@@ -9,28 +9,26 @@ connection server1;
drop
table
if
exists
t1
,
t2
;
drop
table
if
exists
t1
,
t2
;
--
enable_warnings
--
enable_warnings
# reset for test
connection
server1
;
reset
master
;
connection
server2
;
reset
master
;
#
#
# basic test to see if one server sees the table from the other
# basic test to see if one server sees the table from the other
# and sets up the replication correctly
# and sets up the replication correctly
#
#
# no tables and nothing in cluster.binlog_index;
connection
server1
;
SHOW
TABLES
;
# create table on the other server
# create table on the other server
connection
server2
;
connection
server2
;
CREATE
TABLE
t2
(
a
INT
PRIMARY
KEY
,
b
int
)
ENGINE
=
NDB
;
CREATE
TABLE
t2
(
a
INT
PRIMARY
KEY
,
b
int
)
ENGINE
=
NDB
;
# make sure the first mysql server knows about this table
connection
server1
;
show
tables
;
# insert something on server2
# insert something on server2
connection
server2
;
INSERT
INTO
t2
VALUES
(
1
,
1
),(
2
,
2
);
INSERT
INTO
t2
VALUES
(
1
,
1
),(
2
,
2
);
# verify that we get the data in the binlog
--
source
include
/
show_binlog_events
.
inc
select
*
from
t2
order
by
a
;
select
*
from
t2
order
by
a
;
save_master_pos
;
--
replace_column
1
<
the_epoch
>
--
replace_column
1
<
the_epoch
>
SELECT
@
the_epoch
:=
epoch
,
inserts
,
updates
,
deletes
,
schemaops
FROM
SELECT
@
the_epoch
:=
epoch
,
inserts
,
updates
,
deletes
,
schemaops
FROM
cluster
.
binlog_index
ORDER
BY
epoch
DESC
LIMIT
1
;
cluster
.
binlog_index
ORDER
BY
epoch
DESC
LIMIT
1
;
...
@@ -39,16 +37,25 @@ let $the_epoch= `SELECT @the_epoch`;
...
@@ -39,16 +37,25 @@ let $the_epoch= `SELECT @the_epoch`;
# see if we got something on server1
# see if we got something on server1
connection
server1
;
connection
server1
;
SELECT
*
FROM
t2
ORDER
BY
a
;
SELECT
*
FROM
t2
ORDER
BY
a
;
# doing drop table will ensure that all the events have been received
DROP
TABLE
t2
;
# verify thar we have table and data in binlog
--
source
include
/
show_binlog_events
.
inc
--
replace_result
$the_epoch
<
the_epoch
>
--
replace_result
$the_epoch
<
the_epoch
>
eval
SELECT
inserts
,
updates
,
deletes
,
schemaops
FROM
eval
SELECT
inserts
,
updates
,
deletes
,
schemaops
FROM
cluster
.
binlog_index
WHERE
epoch
=
$the_epoch
;
cluster
.
binlog_index
WHERE
epoch
=
$the_epoch
;
# reset for next test
connection
server1
;
reset
master
;
connection
server2
;
reset
master
;
# single schema ops will not show
# single schema ops will not show
# drop the table on server1
connection
server2
;
DROP
TABLE
t2
;
CREATE
TABLE
t1
(
a
INT
PRIMARY
KEY
)
ENGINE
=
NDB
;
CREATE
TABLE
t1
(
a
INT
PRIMARY
KEY
)
ENGINE
=
NDB
;
INSERT
INTO
t1
VALUES
(
1
),(
2
);
INSERT
INTO
t1
VALUES
(
1
),(
2
);
save_master_pos
;
--
source
include
/
show_binlog_events
.
inc
--
replace_column
1
<
the_epoch2
>
--
replace_column
1
<
the_epoch2
>
SELECT
@
the_epoch2
:=
epoch
,
inserts
,
updates
,
deletes
,
schemaops
FROM
SELECT
@
the_epoch2
:=
epoch
,
inserts
,
updates
,
deletes
,
schemaops
FROM
cluster
.
binlog_index
ORDER
BY
epoch
DESC
LIMIT
1
;
cluster
.
binlog_index
ORDER
BY
epoch
DESC
LIMIT
1
;
...
@@ -56,16 +63,14 @@ let $the_epoch2= `SELECT @the_epoch2`;
...
@@ -56,16 +63,14 @@ let $the_epoch2= `SELECT @the_epoch2`;
--
replace_result
$the_epoch
<
the_epoch
>
$the_epoch2
<
the_epoch2
>
--
replace_result
$the_epoch
<
the_epoch
>
$the_epoch2
<
the_epoch2
>
eval
SELECT
inserts
,
updates
,
deletes
,
schemaops
FROM
eval
SELECT
inserts
,
updates
,
deletes
,
schemaops
FROM
cluster
.
binlog_index
WHERE
epoch
>
$the_epoch
AND
epoch
<
$the_epoch2
;
cluster
.
binlog_index
WHERE
epoch
>
$the_epoch
AND
epoch
<=
$the_epoch2
;
drop
table
t1
;
#
flush on server2
#
now see that we have the events on the other server
connection
server2
;
connection
server2
;
SHOW
TABLES
;
# doing drop table will ensure that all the events have been received
drop
table
t1
;
# verify thar we have table and data in binlog
--
source
include
/
show_binlog_events
.
inc
--
replace_result
$the_epoch
<
the_epoch
>
$the_epoch2
<
the_epoch2
>
--
replace_result
$the_epoch
<
the_epoch
>
$the_epoch2
<
the_epoch2
>
eval
SELECT
inserts
,
updates
,
deletes
,
schemaops
FROM
eval
SELECT
inserts
,
updates
,
deletes
,
schemaops
FROM
cluster
.
binlog_index
WHERE
epoch
>
$the_epoch
AND
epoch
<
$the_epoch2
;
cluster
.
binlog_index
WHERE
epoch
>
$the_epoch
AND
epoch
<=
$the_epoch2
;
# reset
connection
server1
;
sql/ha_ndbcluster_binlog.cc
View file @
5a4e5129
...
@@ -3224,7 +3224,7 @@ pthread_handler_t ndb_binlog_thread_func(void *arg)
...
@@ -3224,7 +3224,7 @@ pthread_handler_t ndb_binlog_thread_func(void *arg)
if
(
trans
.
good
())
if
(
trans
.
good
())
{
{
DBUG_ASSERT
(
row
.
n_inserts
||
row
.
n_updates
||
row
.
n_deletes
);
//
DBUG_ASSERT(row.n_inserts || row.n_updates || row.n_deletes);
injector
::
transaction
::
binlog_pos
start
=
trans
.
start_pos
();
injector
::
transaction
::
binlog_pos
start
=
trans
.
start_pos
();
if
(
int
r
=
trans
.
commit
())
if
(
int
r
=
trans
.
commit
())
{
{
...
@@ -3240,7 +3240,6 @@ pthread_handler_t ndb_binlog_thread_func(void *arg)
...
@@ -3240,7 +3240,6 @@ pthread_handler_t ndb_binlog_thread_func(void *arg)
DBUG_PRINT
(
"info"
,
(
"COMMIT gci: %lld"
,
gci
));
DBUG_PRINT
(
"info"
,
(
"COMMIT gci: %lld"
,
gci
));
if
(
ndb_update_binlog_index
)
if
(
ndb_update_binlog_index
)
ndb_add_binlog_index
(
thd
,
&
row
);
ndb_add_binlog_index
(
thd
,
&
row
);
ndb_latest_applied_binlog_epoch
=
gci
;
}
}
ndb_latest_handled_binlog_epoch
=
gci
;
ndb_latest_handled_binlog_epoch
=
gci
;
#ifdef RUN_NDB_BINLOG_TIMER
#ifdef RUN_NDB_BINLOG_TIMER
...
...
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