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
9f3b47e5
Commit
9f3b47e5
authored
Jul 10, 2006
by
pekka@orca.ndb.mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ndb - bug#18781: close a tiny window (re-commit, try to by-pass merge jam)
parent
7c83e6d2
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
47 additions
and
22 deletions
+47
-22
ndb/src/kernel/blocks/dbdict/DictLock.txt
ndb/src/kernel/blocks/dbdict/DictLock.txt
+8
-4
ndb/src/kernel/blocks/dbdih/Dbdih.hpp
ndb/src/kernel/blocks/dbdih/Dbdih.hpp
+3
-0
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
+22
-18
ndb/src/kernel/vm/SimulatedBlock.cpp
ndb/src/kernel/vm/SimulatedBlock.cpp
+9
-0
ndb/src/kernel/vm/SimulatedBlock.hpp
ndb/src/kernel/vm/SimulatedBlock.hpp
+1
-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/dbdict/DictLock.txt
View file @
9f3b47e5
...
...
@@ -85,10 +85,14 @@ DIH/s
START_MECONF
DIH/s
*
sp7 - release DICT lock
*
(copy data, omitted)
DIH/s
DICT_UNLOCK_ORD
DICT/m
* SL_STARTED - release DICT lock
CNTR/s
NODE_START_REP
DIH/s
DICT_UNLOCK_ORD
DICT/m
# vim: set et sw=4:
ndb/src/kernel/blocks/dbdih/Dbdih.hpp
View file @
9f3b47e5
...
...
@@ -1599,6 +1599,9 @@ private:
*/
void
startInfoReply
(
Signal
*
,
Uint32
nodeId
);
// DIH specifics for execNODE_START_REP (sendDictUnlockOrd)
void
exec_node_start_rep
(
Signal
*
signal
);
/*
* Lock master DICT. Only current use is by starting node
* during NR. A pool of slave records is convenient anyway.
...
...
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
View file @
9f3b47e5
...
...
@@ -1356,24 +1356,6 @@ void Dbdih::execNDB_STTOR(Signal* signal)
}
ndbrequire
(
false
);
break
;
case
ZNDB_SPH7
:
jam
();
switch
(
typestart
)
{
case
NodeState
:
:
ST_INITIAL_START
:
case
NodeState
:
:
ST_SYSTEM_RESTART
:
jam
();
ndbsttorry10Lab
(
signal
,
__LINE__
);
return
;
case
NodeState
:
:
ST_NODE_RESTART
:
case
NodeState
:
:
ST_INITIAL_NODE_RESTART
:
jam
();
sendDictUnlockOrd
(
signal
,
c_dictLockSlavePtrI_nodeRestart
);
c_dictLockSlavePtrI_nodeRestart
=
RNIL
;
ndbsttorry10Lab
(
signal
,
__LINE__
);
return
;
}
ndbrequire
(
false
);
break
;
default:
jam
();
ndbsttorry10Lab
(
signal
,
__LINE__
);
...
...
@@ -1381,6 +1363,27 @@ void Dbdih::execNDB_STTOR(Signal* signal)
}
//switch
}
//Dbdih::execNDB_STTOR()
void
Dbdih
::
exec_node_start_rep
(
Signal
*
signal
)
{
/*
* Send DICT_UNLOCK_ORD when this node is SL_STARTED.
*
* Sending it before (sp 7) conflicts with code which assumes
* SL_STARTING means we are in copy phase of NR.
*
* NodeState::starting.restartType is not supposed to be used
* when SL_STARTED. Also it seems NODE_START_REP can arrive twice.
*
* For these reasons there are no consistency checks and
* we rely on c_dictLockSlavePtrI_nodeRestart alone.
*/
if
(
c_dictLockSlavePtrI_nodeRestart
!=
RNIL
)
{
sendDictUnlockOrd
(
signal
,
c_dictLockSlavePtrI_nodeRestart
);
c_dictLockSlavePtrI_nodeRestart
=
RNIL
;
}
}
void
Dbdih
::
createMutexes
(
Signal
*
signal
,
Uint32
count
){
Callback
c
=
{
safe_cast
(
&
Dbdih
::
createMutex_done
),
count
};
...
...
@@ -1605,6 +1608,7 @@ void Dbdih::nodeRestartPh2Lab(Signal* signal)
void
Dbdih
::
recvDictLockConf_nodeRestart
(
Signal
*
signal
,
Uint32
data
,
Uint32
ret
)
{
ndbrequire
(
c_dictLockSlavePtrI_nodeRestart
==
RNIL
);
ndbrequire
(
data
!=
RNIL
);
c_dictLockSlavePtrI_nodeRestart
=
data
;
nodeRestartPh2Lab2
(
signal
);
...
...
ndb/src/kernel/vm/SimulatedBlock.cpp
View file @
9f3b47e5
...
...
@@ -916,6 +916,15 @@ SimulatedBlock::execCONTINUE_FRAGMENTED(Signal * signal){
void
SimulatedBlock
::
execNODE_START_REP
(
Signal
*
signal
)
{
// common stuff for all blocks
// block specific stuff by virtual method override (default empty)
exec_node_start_rep
(
signal
);
}
void
SimulatedBlock
::
exec_node_start_rep
(
Signal
*
signal
)
{
}
...
...
ndb/src/kernel/vm/SimulatedBlock.hpp
View file @
9f3b47e5
...
...
@@ -424,6 +424,7 @@ private:
void
execSIGNAL_DROPPED_REP
(
Signal
*
signal
);
void
execCONTINUE_FRAGMENTED
(
Signal
*
signal
);
void
execNODE_START_REP
(
Signal
*
signal
);
virtual
void
exec_node_start_rep
(
Signal
*
signal
);
Uint32
c_fragmentIdCounter
;
ArrayPool
<
FragmentInfo
>
c_fragmentInfoPool
;
...
...
ndb/test/run-test/daily-basic-tests.txt
View file @
9f3b47e5
...
...
@@ -500,6 +500,10 @@ max-time: 1500
cmd: testDict
args: -n TemporaryTables T1 T6 T7 T8
max-time: 1500
cmd: testDict
args: -n Restart_NR2 T1
#
# TEST NDBAPI
#
...
...
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