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
4d479161
Commit
4d479161
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.0-ndb
parents
222940c8
32c1b70e
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
101 additions
and
2 deletions
+101
-2
ndb/src/kernel/blocks/ERROR_codes.txt
ndb/src/kernel/blocks/ERROR_codes.txt
+2
-1
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
+7
-1
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp
+7
-0
ndb/test/ndbapi/testNodeRestart.cpp
ndb/test/ndbapi/testNodeRestart.cpp
+81
-0
ndb/test/run-test/daily-basic-tests.txt
ndb/test/run-test/daily-basic-tests.txt
+4
-0
No files found.
ndb/src/kernel/blocks/ERROR_codes.txt
View file @
4d479161
Next QMGR 1
Next NDBCNTR 100
0
Next NDBCNTR 100
2
Next NDBFS 2000
Next DBACC 3002
Next DBTUP 4014
...
...
@@ -501,3 +501,4 @@ TUP:
NDBCNTR:
1000: Crash insertion on SystemError::CopyFragRef
1001: Delay sending NODE_FAILREP (to own node), until error is cleared
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
View file @
4d479161
...
...
@@ -4459,12 +4459,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
();
...
...
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp
View file @
4d479161
...
...
@@ -1375,6 +1375,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
);
...
...
ndb/test/ndbapi/testNodeRestart.cpp
View file @
4d479161
...
...
@@ -1219,6 +1219,84 @@ runBug27283(NDBT_Context* ctx, NDBT_Step* step)
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
;
}
NDBT_TESTSUITE
(
testNodeRestart
);
TESTCASE
(
"NoLoad"
,
"Test that one node at a time can be stopped and then restarted "
\
...
...
@@ -1552,6 +1630,9 @@ TESTCASE("Bug27003", ""){
TESTCASE
(
"Bug27283"
,
""
){
INITIALIZER
(
runBug27283
);
}
TESTCASE
(
"Bug28717"
,
""
){
INITIALIZER
(
runBug28717
);
}
NDBT_TESTSUITE_END
(
testNodeRestart
);
int
main
(
int
argc
,
const
char
**
argv
){
...
...
ndb/test/run-test/daily-basic-tests.txt
View file @
4d479161
...
...
@@ -508,6 +508,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