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
b3c17707
Commit
b3c17707
authored
Jan 15, 2007
by
jonas@perch.ndb.mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ndb - bug#25636
Fix DD problem during NR after 3 missed LCP's
parent
f8fdb7c9
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
40 additions
and
3 deletions
+40
-3
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
+11
-0
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp
+13
-3
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp
+2
-0
storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp
storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp
+7
-0
storage/ndb/src/kernel/blocks/pgman.cpp
storage/ndb/src/kernel/blocks/pgman.cpp
+7
-0
No files found.
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
View file @
b3c17707
...
@@ -2916,6 +2916,17 @@ Dbdih::nr_start_fragment(Signal* signal,
...
@@ -2916,6 +2916,17 @@ Dbdih::nr_start_fragment(Signal* signal,
takeOverPtr
.
p
->
toCurrentTabref
,
takeOverPtr
.
p
->
toCurrentTabref
,
takeOverPtr
.
p
->
toCurrentFragid
);
takeOverPtr
.
p
->
toCurrentFragid
);
replicaPtr
.
p
->
lcpIdStarted
=
0
;
replicaPtr
.
p
->
lcpIdStarted
=
0
;
BlockReference
ref
=
calcLqhBlockRef
(
takeOverPtr
.
p
->
toStartingNode
);
StartFragReq
*
req
=
(
StartFragReq
*
)
signal
->
getDataPtrSend
();
req
->
userPtr
=
0
;
req
->
userRef
=
reference
();
req
->
lcpNo
=
ZNIL
;
req
->
lcpId
=
0
;
req
->
tableId
=
takeOverPtr
.
p
->
toCurrentTabref
;
req
->
fragId
=
takeOverPtr
.
p
->
toCurrentFragid
;
req
->
noOfLogNodes
=
0
;
sendSignal
(
ref
,
GSN_START_FRAGREQ
,
signal
,
StartFragReq
::
SignalLength
,
JBB
);
}
}
else
else
{
{
...
...
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp
View file @
b3c17707
...
@@ -13836,6 +13836,7 @@ void Dblqh::execSTART_FRAGREQ(Signal* signal)
...
@@ -13836,6 +13836,7 @@ void Dblqh::execSTART_FRAGREQ(Signal* signal)
Uint32
lcpNo
=
startFragReq
->
lcpNo
;
Uint32
lcpNo
=
startFragReq
->
lcpNo
;
Uint32
noOfLogNodes
=
startFragReq
->
noOfLogNodes
;
Uint32
noOfLogNodes
=
startFragReq
->
noOfLogNodes
;
Uint32
lcpId
=
startFragReq
->
lcpId
;
Uint32
lcpId
=
startFragReq
->
lcpId
;
ndbrequire
(
noOfLogNodes
<=
4
);
ndbrequire
(
noOfLogNodes
<=
4
);
fragptr
.
p
->
fragStatus
=
Fragrecord
::
CRASH_RECOVERING
;
fragptr
.
p
->
fragStatus
=
Fragrecord
::
CRASH_RECOVERING
;
fragptr
.
p
->
srBlockref
=
startFragReq
->
userRef
;
fragptr
.
p
->
srBlockref
=
startFragReq
->
userRef
;
...
@@ -13890,7 +13891,16 @@ void Dblqh::execSTART_FRAGREQ(Signal* signal)
...
@@ -13890,7 +13891,16 @@ void Dblqh::execSTART_FRAGREQ(Signal* signal)
signal
->
theData
[
1
]
=
fragId
;
signal
->
theData
[
1
]
=
fragId
;
sendSignal
(
DBACC_REF
,
GSN_EXPANDCHECK2
,
signal
,
2
,
JBB
);
sendSignal
(
DBACC_REF
,
GSN_EXPANDCHECK2
,
signal
,
2
,
JBB
);
}
}
if
(
getNodeState
().
getNodeRestartInProgress
())
{
jam
();
fragptr
.
p
->
fragStatus
=
Fragrecord
::
ACTIVE_CREATION
;
}
c_tup
->
disk_restart_mark_no_lcp
(
tabptr
.
i
,
fragId
);
jamEntry
();
return
;
return
;
}
//if
}
//if
...
@@ -16713,8 +16723,8 @@ void Dblqh::initialiseRecordsLab(Signal* signal, Uint32 data,
...
@@ -16713,8 +16723,8 @@ void Dblqh::initialiseRecordsLab(Signal* signal, Uint32 data,
ccurrentGcprec
=
RNIL
;
ccurrentGcprec
=
RNIL
;
caddNodeState
=
ZFALSE
;
caddNodeState
=
ZFALSE
;
cstartRecReq
=
ZFALSE
;
cstartRecReq
=
ZFALSE
;
cnewestGci
=
~
0
;
cnewestGci
=
0
;
cnewestCompletedGci
=
~
0
;
cnewestCompletedGci
=
0
;
crestartOldestGci
=
0
;
crestartOldestGci
=
0
;
crestartNewestGci
=
0
;
crestartNewestGci
=
0
;
csrPhaseStarted
=
ZSR_NO_PHASE_STARTED
;
csrPhaseStarted
=
ZSR_NO_PHASE_STARTED
;
...
...
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp
View file @
b3c17707
...
@@ -2711,6 +2711,8 @@ public:
...
@@ -2711,6 +2711,8 @@ public:
Ptr
<
Extent_info
>
m_extent_ptr
;
Ptr
<
Extent_info
>
m_extent_ptr
;
Local_key
m_key
;
Local_key
m_key
;
};
};
void
disk_restart_mark_no_lcp
(
Uint32
table
,
Uint32
frag
);
private
:
private
:
void
disk_restart_undo_next
(
Signal
*
);
void
disk_restart_undo_next
(
Signal
*
);
...
...
storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp
View file @
b3c17707
...
@@ -1422,6 +1422,13 @@ Dbtup::disk_restart_undo_next(Signal* signal)
...
@@ -1422,6 +1422,13 @@ Dbtup::disk_restart_undo_next(Signal* signal)
sendSignal
(
LGMAN_REF
,
GSN_CONTINUEB
,
signal
,
1
,
JBB
);
sendSignal
(
LGMAN_REF
,
GSN_CONTINUEB
,
signal
,
1
,
JBB
);
}
}
void
Dbtup
::
disk_restart_mark_no_lcp
(
Uint32
tableId
,
Uint32
fragId
)
{
jamEntry
();
disk_restart_undo_lcp
(
tableId
,
fragId
,
Fragrecord
::
UC_CREATE
);
}
void
void
Dbtup
::
disk_restart_undo_lcp
(
Uint32
tableId
,
Uint32
fragId
,
Uint32
flag
)
Dbtup
::
disk_restart_undo_lcp
(
Uint32
tableId
,
Uint32
fragId
,
Uint32
flag
)
{
{
...
...
storage/ndb/src/kernel/blocks/pgman.cpp
View file @
b3c17707
...
@@ -1258,6 +1258,8 @@ Pgman::process_lcp(Signal* signal)
...
@@ -1258,6 +1258,8 @@ Pgman::process_lcp(Signal* signal)
void
void
Pgman
::
process_lcp_locked
(
Signal
*
signal
,
Ptr
<
Page_entry
>
ptr
)
Pgman
::
process_lcp_locked
(
Signal
*
signal
,
Ptr
<
Page_entry
>
ptr
)
{
{
CRASH_INSERTION
(
11006
);
ptr
.
p
->
m_last_lcp
=
m_last_lcp
;
ptr
.
p
->
m_last_lcp
=
m_last_lcp
;
if
(
ptr
.
p
->
m_state
&
Page_entry
::
DIRTY
)
if
(
ptr
.
p
->
m_state
&
Page_entry
::
DIRTY
)
{
{
...
@@ -2351,6 +2353,11 @@ Pgman::execDUMP_STATE_ORD(Signal* signal)
...
@@ -2351,6 +2353,11 @@ Pgman::execDUMP_STATE_ORD(Signal* signal)
{
{
g_dbg_lcp
=
~
g_dbg_lcp
;
g_dbg_lcp
=
~
g_dbg_lcp
;
}
}
if
(
signal
->
theData
[
0
]
==
11006
)
{
SET_ERROR_INSERT_VALUE
(
11006
);
}
}
}
// page cache client
// page cache client
...
...
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