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
cf6a6054
Commit
cf6a6054
authored
Oct 11, 2004
by
joreland@mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wl1801 - more node failure handling in simple/dirty read
parent
fa7a36bb
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
25 additions
and
6 deletions
+25
-6
ndb/include/kernel/signaldata/TcContinueB.hpp
ndb/include/kernel/signaldata/TcContinueB.hpp
+3
-1
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
+17
-1
ndb/src/ndbapi/NdbConnection.cpp
ndb/src/ndbapi/NdbConnection.cpp
+1
-0
ndb/src/ndbapi/Ndbif.cpp
ndb/src/ndbapi/Ndbif.cpp
+2
-2
ndb/test/ndbapi/testNodeRestart.cpp
ndb/test/ndbapi/testNodeRestart.cpp
+2
-2
No files found.
ndb/include/kernel/signaldata/TcContinueB.hpp
View file @
cf6a6054
...
...
@@ -42,7 +42,9 @@ private:
ZWAIT_ABORT_ALL
=
14
,
ZCHECK_SCAN_ACTIVE_FAILED_LQH
=
15
,
CHECK_WAIT_DROP_TAB_FAILED_LQH
=
16
,
TRIGGER_PENDING
=
17
TRIGGER_PENDING
=
17
,
DelayTCKEYCONF
=
18
};
};
...
...
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
View file @
cf6a6054
...
...
@@ -274,6 +274,12 @@ void Dbtc::execCONTINUEB(Signal* signal)
transPtr
.
p
->
triggerPending
=
false
;
executeTriggers
(
signal
,
&
transPtr
);
return
;
case
TcContinueB
:
:
DelayTCKEYCONF
:
jam
();
apiConnectptr
.
i
=
Tdata0
;
ptrCheckGuard
(
apiConnectptr
,
capiConnectFilesize
,
apiConnectRecord
);
sendtckeyconf
(
signal
,
Tdata1
);
return
;
default:
ndbrequire
(
false
);
}
//switch
...
...
@@ -2972,7 +2978,7 @@ void Dbtc::tckeyreq050Lab(Signal* signal)
regTcPtr
->
tcNodedata
[
0
]
=
Tnode
;
}
//if
}
//for
if
(
ERROR_INSERTED
(
8048
))
if
(
ERROR_INSERTED
(
8048
)
||
ERROR_INSERTED
(
8049
)
)
{
for
(
Tindex
=
0
;
Tindex
<=
tnoOfBackup
;
Tindex
++
)
{
...
...
@@ -2981,6 +2987,7 @@ void Dbtc::tckeyreq050Lab(Signal* signal)
if
(
Tnode
!=
TownNode
)
{
jam
();
regTcPtr
->
tcNodedata
[
0
]
=
Tnode
;
ndbout_c
(
"Choosing %d"
,
Tnode
);
}
//if
}
//for
}
...
...
@@ -3833,6 +3840,15 @@ Dbtc::lqhKeyConf_checkTransactionState(Signal * signal,
void
Dbtc
::
sendtckeyconf
(
Signal
*
signal
,
UintR
TcommitFlag
)
{
if
(
ERROR_INSERTED
(
8049
)){
CLEAR_ERROR_INSERT_VALUE
;
signal
->
theData
[
0
]
=
TcContinueB
::
DelayTCKEYCONF
;
signal
->
theData
[
1
]
=
apiConnectptr
.
i
;
signal
->
theData
[
2
]
=
TcommitFlag
;
sendSignalWithDelay
(
cownref
,
GSN_CONTINUEB
,
signal
,
3000
,
3
);
return
;
}
HostRecordPtr
localHostptr
;
ApiConnectRecord
*
const
regApiPtr
=
apiConnectptr
.
p
;
const
UintR
TopWords
=
(
UintR
)
regApiPtr
->
tckeyrec
;
...
...
ndb/src/ndbapi/NdbConnection.cpp
View file @
cf6a6054
...
...
@@ -1548,6 +1548,7 @@ from other transactions.
{
done
=
1
;
tOp
->
setErrorCode
(
4119
);
theCompletionStatus
=
CompletedFailure
;
}
}
tNoComp
+=
done
;
...
...
ndb/src/ndbapi/Ndbif.cpp
View file @
cf6a6054
...
...
@@ -304,8 +304,8 @@ Ndb::abortTransactionsAfterNodeFailure(Uint16 aNodeId)
localCon
->
theCommitStatus
=
NdbConnection
::
Aborted
;
localCon
->
theReleaseOnClose
=
true
;
completedTransaction
(
localCon
);
}
else
if
(
localCon
->
report_node_failure
(
aNodeId
))
;
}
else
if
(
localCon
->
report_node_failure
(
aNodeId
))
{
completedTransaction
(
localCon
);
}
...
...
ndb/test/ndbapi/testNodeRestart.cpp
View file @
cf6a6054
...
...
@@ -311,8 +311,8 @@ int runDirtyRead(NDBT_Context* ctx, NDBT_Step* step){
int
id
=
i
%
restarter
.
getNumDbNodes
();
int
nodeId
=
restarter
.
getDbNodeId
(
id
);
ndbout
<<
"Restart node "
<<
nodeId
<<
endl
;
restarter
.
insertErrorIn
Node
(
nodeId
,
5041
);
restarter
.
insertErrorInAllNodes
(
8048
);
restarter
.
insertErrorIn
AllNodes
(
5041
);
restarter
.
insertErrorInAllNodes
(
8048
+
(
i
&
1
)
);
for
(
int
j
=
0
;
j
<
records
;
j
++
){
if
(
hugoOps
.
startTransaction
(
pNdb
)
!=
0
)
...
...
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