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
06a2aab7
Commit
06a2aab7
authored
May 28, 2007
by
tomas@whalegate.ndb.mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-telco-gca
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-telco-gca
parents
3850902a
32c1b70e
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
105 additions
and
2 deletions
+105
-2
storage/ndb/src/kernel/blocks/ERROR_codes.txt
storage/ndb/src/kernel/blocks/ERROR_codes.txt
+2
-1
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
+7
-1
storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp
storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp
+7
-0
storage/ndb/test/ndbapi/testNodeRestart.cpp
storage/ndb/test/ndbapi/testNodeRestart.cpp
+85
-0
storage/ndb/test/run-test/daily-basic-tests.txt
storage/ndb/test/run-test/daily-basic-tests.txt
+4
-0
No files found.
storage/ndb/src/kernel/blocks/ERROR_codes.txt
View file @
06a2aab7
Next QMGR 1
Next NDBCNTR 100
1
Next NDBCNTR 100
2
Next NDBFS 2000
Next DBACC 3002
Next DBTUP 4029
...
...
@@ -523,3 +523,4 @@ Dbtup:
NDBCNTR:
1000: Crash insertion on SystemError::CopyFragRef
1001: Delay sending NODE_FAILREP (to own node), until error is cleared
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
View file @
06a2aab7
...
...
@@ -4673,12 +4673,18 @@ void Dbdih::failedNodeLcpHandling(Signal* signal, NodeRecordPtr failedNodePtr)
jam
();
const
Uint32
nodeId
=
failedNodePtr
.
i
;
if
(
c_lcpState
.
m_participatingLQH
.
get
(
failedNodePtr
.
i
)){
if
(
isMaster
()
&&
c_lcpState
.
m_participatingLQH
.
get
(
failedNodePtr
.
i
))
{
/*----------------------------------------------------*/
/* THE NODE WAS INVOLVED IN A LOCAL CHECKPOINT. WE */
/* MUST UPDATE THE ACTIVE STATUS TO INDICATE THAT */
/* THE NODE HAVE MISSED A LOCAL CHECKPOINT. */
/*----------------------------------------------------*/
/**
* Bug#28717, Only master should do this, as this status is copied
* to other nodes
*/
switch
(
failedNodePtr
.
p
->
activeStatus
)
{
case
Sysfile
:
:
NS_Active
:
jam
();
...
...
storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp
View file @
06a2aab7
...
...
@@ -1411,6 +1411,13 @@ void Ndbcntr::execNODE_FAILREP(Signal* signal)
{
jamEntry
();
if
(
ERROR_INSERTED
(
1001
))
{
sendSignalWithDelay
(
reference
(),
GSN_NODE_FAILREP
,
signal
,
100
,
signal
->
getLength
());
return
;
}
const
NodeFailRep
*
nodeFail
=
(
NodeFailRep
*
)
&
signal
->
theData
[
0
];
NdbNodeBitmask
allFailed
;
allFailed
.
assign
(
NdbNodeBitmask
::
Size
,
nodeFail
->
theNodes
);
...
...
storage/ndb/test/ndbapi/testNodeRestart.cpp
View file @
06a2aab7
...
...
@@ -1535,6 +1535,85 @@ runBug28023(NDBT_Context* ctx, NDBT_Step* step)
return
NDBT_FAILED
;
}
}
return
NDBT_OK
;
}
int
runBug28717
(
NDBT_Context
*
ctx
,
NDBT_Step
*
step
)
{
int
result
=
NDBT_OK
;
int
loops
=
ctx
->
getNumLoops
();
int
records
=
ctx
->
getNumRecords
();
Ndb
*
pNdb
=
GETNDB
(
step
);
NdbRestarter
res
;
if
(
res
.
getNumDbNodes
()
<
4
)
{
return
NDBT_OK
;
}
int
master
=
res
.
getMasterNodeId
();
int
node0
=
res
.
getRandomNodeOtherNodeGroup
(
master
,
rand
());
int
node1
=
res
.
getRandomNodeSameNodeGroup
(
node0
,
rand
());
ndbout_c
(
"master: %d node0: %d node1: %d"
,
master
,
node0
,
node1
);
if
(
res
.
restartOneDbNode
(
node0
,
false
,
true
,
true
))
{
return
NDBT_FAILED
;
}
{
int
filter
[]
=
{
15
,
NDB_MGM_EVENT_CATEGORY_CHECKPOINT
,
0
};
NdbLogEventHandle
handle
=
ndb_mgm_create_logevent_handle
(
res
.
handle
,
filter
);
int
dump
[]
=
{
DumpStateOrd
::
DihStartLcpImmediately
};
struct
ndb_logevent
event
;
for
(
Uint32
i
=
0
;
i
<
3
;
i
++
)
{
res
.
dumpStateOneNode
(
master
,
dump
,
1
);
while
(
ndb_logevent_get_next
(
handle
,
&
event
,
0
)
>=
0
&&
event
.
type
!=
NDB_LE_LocalCheckpointStarted
);
while
(
ndb_logevent_get_next
(
handle
,
&
event
,
0
)
>=
0
&&
event
.
type
!=
NDB_LE_LocalCheckpointCompleted
);
}
}
if
(
res
.
waitNodesNoStart
(
&
node0
,
1
))
return
NDBT_FAILED
;
int
val2
[]
=
{
DumpStateOrd
::
CmvmiSetRestartOnErrorInsert
,
1
};
if
(
res
.
dumpStateOneNode
(
node0
,
val2
,
2
))
return
NDBT_FAILED
;
if
(
res
.
insertErrorInNode
(
node0
,
5010
))
return
NDBT_FAILED
;
if
(
res
.
insertErrorInNode
(
node1
,
1001
))
return
NDBT_FAILED
;
if
(
res
.
startNodes
(
&
node0
,
1
))
return
NDBT_FAILED
;
NdbSleep_SecSleep
(
3
);
if
(
res
.
insertErrorInNode
(
node1
,
0
))
return
NDBT_FAILED
;
if
(
res
.
waitNodesNoStart
(
&
node0
,
1
))
return
NDBT_FAILED
;
if
(
res
.
startNodes
(
&
node0
,
1
))
return
NDBT_FAILED
;
if
(
res
.
waitClusterStarted
())
return
NDBT_FAILED
;
return
NDBT_OK
;
}
...
...
@@ -1896,6 +1975,12 @@ TESTCASE("Bug27466", ""){
TESTCASE
(
"Bug28023"
,
""
){
INITIALIZER
(
runBug28023
);
}
TESTCASE
(
"Bug25554"
,
""
){
INITIALIZER
(
runBug25554
);
}
TESTCASE
(
"Bug28717"
,
""
){
INITIALIZER
(
runBug28717
);
}
NDBT_TESTSUITE_END
(
testNodeRestart
);
int
main
(
int
argc
,
const
char
**
argv
){
...
...
storage/ndb/test/run-test/daily-basic-tests.txt
View file @
06a2aab7
...
...
@@ -555,6 +555,10 @@ max-time: 1500
cmd: testDict
args: -n CreateAndDrop
max-time: 1000
cmd: testNodeRestart
args: -n Bug28717 T1
max-time: 1500
cmd: testDict
args: -n CreateAndDropAtRandom -l 200 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