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
a2f1b780
Commit
a2f1b780
authored
Aug 09, 2006
by
jonas@perch.ndb.mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ndb - bug#21536
Make sure updateNodeInfo is run on master also for temporary tables
parent
c2ad5b4b
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
54 additions
and
1 deletion
+54
-1
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
+1
-0
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp
+6
-1
ndb/test/ndbapi/testSystemRestart.cpp
ndb/test/ndbapi/testSystemRestart.cpp
+47
-0
No files found.
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
View file @
a2f1b780
...
@@ -8338,6 +8338,7 @@ Dbdih::resetReplicaSr(TabRecordPtr tabPtr){
...
@@ -8338,6 +8338,7 @@ Dbdih::resetReplicaSr(TabRecordPtr tabPtr){
}
}
replicaPtr
.
i
=
nextReplicaPtrI
;
replicaPtr
.
i
=
nextReplicaPtrI
;
}
//while
}
//while
updateNodeInfo
(
fragPtr
);
}
}
}
}
...
...
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp
View file @
a2f1b780
...
@@ -2036,6 +2036,11 @@ void Ndbcntr::execSET_VAR_REQ(Signal* signal) {
...
@@ -2036,6 +2036,11 @@ void Ndbcntr::execSET_VAR_REQ(Signal* signal) {
void
Ndbcntr
::
updateNodeState
(
Signal
*
signal
,
const
NodeState
&
newState
)
const
{
void
Ndbcntr
::
updateNodeState
(
Signal
*
signal
,
const
NodeState
&
newState
)
const
{
NodeStateRep
*
const
stateRep
=
(
NodeStateRep
*
)
&
signal
->
theData
[
0
];
NodeStateRep
*
const
stateRep
=
(
NodeStateRep
*
)
&
signal
->
theData
[
0
];
if
(
newState
.
startLevel
==
NodeState
::
SL_STARTED
)
{
CRASH_INSERTION
(
1000
);
}
stateRep
->
nodeState
=
newState
;
stateRep
->
nodeState
=
newState
;
stateRep
->
nodeState
.
masterNodeId
=
cmasterNodeId
;
stateRep
->
nodeState
.
masterNodeId
=
cmasterNodeId
;
stateRep
->
nodeState
.
setNodeGroup
(
c_nodeGroup
);
stateRep
->
nodeState
.
setNodeGroup
(
c_nodeGroup
);
...
@@ -2826,7 +2831,7 @@ void Ndbcntr::Missra::sendNextSTTOR(Signal* signal){
...
@@ -2826,7 +2831,7 @@ void Ndbcntr::Missra::sendNextSTTOR(Signal* signal){
cntr
.
sendSignal
(
CMVMI_REF
,
GSN_EVENT_REP
,
signal
,
3
,
JBB
);
cntr
.
sendSignal
(
CMVMI_REF
,
GSN_EVENT_REP
,
signal
,
3
,
JBB
);
}
}
}
}
signal
->
theData
[
0
]
=
EventReport
::
NDBStartCompleted
;
signal
->
theData
[
0
]
=
EventReport
::
NDBStartCompleted
;
signal
->
theData
[
1
]
=
NDB_VERSION
;
signal
->
theData
[
1
]
=
NDB_VERSION
;
cntr
.
sendSignal
(
CMVMI_REF
,
GSN_EVENT_REP
,
signal
,
2
,
JBB
);
cntr
.
sendSignal
(
CMVMI_REF
,
GSN_EVENT_REP
,
signal
,
2
,
JBB
);
...
...
ndb/test/ndbapi/testSystemRestart.cpp
View file @
a2f1b780
...
@@ -1121,6 +1121,46 @@ int runClearTable(NDBT_Context* ctx, NDBT_Step* step){
...
@@ -1121,6 +1121,46 @@ int runClearTable(NDBT_Context* ctx, NDBT_Step* step){
return
NDBT_OK
;
return
NDBT_OK
;
}
}
int
runBug21536
(
NDBT_Context
*
ctx
,
NDBT_Step
*
step
)
{
NdbRestarter
restarter
;
const
Uint32
nodeCount
=
restarter
.
getNumDbNodes
();
if
(
nodeCount
!=
2
){
g_info
<<
"Bug21536 - 2 nodes to test"
<<
endl
;
return
NDBT_OK
;
}
int
node1
=
restarter
.
getDbNodeId
(
rand
()
%
nodeCount
);
int
node2
=
restarter
.
getRandomNodeSameNodeGroup
(
node1
,
rand
());
if
(
node1
==
-
1
||
node2
==
-
1
)
return
NDBT_OK
;
int
result
=
NDBT_OK
;
do
{
CHECK
(
restarter
.
restartOneDbNode
(
node1
,
false
,
true
,
true
)
==
0
);
CHECK
(
restarter
.
waitNodesNoStart
(
&
node1
,
1
)
==
0
);
CHECK
(
restarter
.
insertErrorInNode
(
node1
,
1000
)
==
0
);
int
val2
[]
=
{
DumpStateOrd
::
CmvmiSetRestartOnErrorInsert
,
1
};
CHECK
(
restarter
.
dumpStateOneNode
(
node1
,
val2
,
2
)
==
0
);
CHECK
(
restarter
.
startNodes
(
&
node1
,
1
)
==
0
);
restarter
.
waitNodesStartPhase
(
&
node1
,
1
,
3
,
120
);
CHECK
(
restarter
.
waitNodesNoStart
(
&
node1
,
1
)
==
0
);
CHECK
(
restarter
.
restartOneDbNode
(
node2
,
true
,
true
,
true
)
==
0
);
CHECK
(
restarter
.
waitNodesNoStart
(
&
node2
,
1
)
==
0
);
CHECK
(
restarter
.
startNodes
(
&
node1
,
1
)
==
0
);
CHECK
(
restarter
.
waitNodesStarted
(
&
node1
,
1
)
==
0
);
CHECK
(
restarter
.
startNodes
(
&
node2
,
1
)
==
0
);
CHECK
(
restarter
.
waitClusterStarted
()
==
0
);
}
while
(
0
);
g_info
<<
"Bug21536 finished"
<<
endl
;
return
result
;
}
NDBT_TESTSUITE
(
testSystemRestart
);
NDBT_TESTSUITE
(
testSystemRestart
);
TESTCASE
(
"SR1"
,
TESTCASE
(
"SR1"
,
...
@@ -1287,6 +1327,13 @@ TESTCASE("Bug18385",
...
@@ -1287,6 +1327,13 @@ TESTCASE("Bug18385",
STEP
(
runBug18385
);
STEP
(
runBug18385
);
FINALIZER
(
runClearTable
);
FINALIZER
(
runClearTable
);
}
}
TESTCASE
(
"Bug21536"
,
"Perform partition system restart with other nodes with higher GCI"
){
INITIALIZER
(
runWaitStarted
);
INITIALIZER
(
runClearTable
);
STEP
(
runBug21536
);
FINALIZER
(
runClearTable
);
}
NDBT_TESTSUITE_END
(
testSystemRestart
);
NDBT_TESTSUITE_END
(
testSystemRestart
);
int
main
(
int
argc
,
const
char
**
argv
){
int
main
(
int
argc
,
const
char
**
argv
){
...
...
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