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
fbc43bf6
Commit
fbc43bf6
authored
May 18, 2007
by
jonas@perch.ndb.mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge perch.ndb.mysql.com:/home/jonas/src/51-telco-gca
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
parents
0161ba48
1cf57350
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
85 additions
and
19 deletions
+85
-19
storage/ndb/src/common/transporter/Packer.cpp
storage/ndb/src/common/transporter/Packer.cpp
+5
-0
storage/ndb/src/common/transporter/TCP_Transporter.hpp
storage/ndb/src/common/transporter/TCP_Transporter.hpp
+4
-0
storage/ndb/src/common/transporter/TransporterRegistry.cpp
storage/ndb/src/common/transporter/TransporterRegistry.cpp
+21
-19
storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp
storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp
+17
-0
storage/ndb/test/ndbapi/testNdbApi.cpp
storage/ndb/test/ndbapi/testNdbApi.cpp
+34
-0
storage/ndb/test/run-test/daily-basic-tests.txt
storage/ndb/test/run-test/daily-basic-tests.txt
+4
-0
No files found.
storage/ndb/src/common/transporter/Packer.cpp
View file @
fbc43bf6
...
...
@@ -20,7 +20,12 @@
#include <TransporterCallback.hpp>
#include <RefConvert.hpp>
#ifdef ERROR_INSERT
Uint32
MAX_RECEIVED_SIGNALS
=
1024
;
#else
#define MAX_RECEIVED_SIGNALS 1024
#endif
Uint32
TransporterRegistry
::
unpack
(
Uint32
*
readPtr
,
Uint32
sizeOfData
,
...
...
storage/ndb/src/common/transporter/TCP_Transporter.hpp
View file @
fbc43bf6
...
...
@@ -102,6 +102,10 @@ private:
virtual
void
updateReceiveDataPtr
(
Uint32
bytesRead
);
virtual
Uint32
get_free_buffer
()
const
;
inline
bool
hasReceiveData
()
const
{
return
receiveBuffer
.
sizeOfData
>
0
;
}
protected:
/**
* Setup client/server and perform connect/accept
...
...
storage/ndb/src/common/transporter/TransporterRegistry.cpp
View file @
fbc43bf6
...
...
@@ -739,6 +739,7 @@ TransporterRegistry::poll_SHM(Uint32 timeOutMillis)
Uint32
TransporterRegistry
::
poll_TCP
(
Uint32
timeOutMillis
)
{
bool
hasdata
=
false
;
if
(
false
&&
nTCPTransporters
==
0
)
{
tcpReadSelectReply
=
0
;
...
...
@@ -771,6 +772,7 @@ TransporterRegistry::poll_TCP(Uint32 timeOutMillis)
// Put the connected transporters in the socket read-set
FD_SET
(
socket
,
&
tcpReadset
);
}
hasdata
|=
t
->
hasReceiveData
();
}
// The highest socket value plus one
...
...
@@ -787,7 +789,7 @@ TransporterRegistry::poll_TCP(Uint32 timeOutMillis)
}
#endif
return
tcpReadSelectReply
;
return
tcpReadSelectReply
||
hasdata
;
}
#endif
...
...
@@ -796,26 +798,26 @@ void
TransporterRegistry
::
performReceive
()
{
#ifdef NDB_TCP_TRANSPORTER
if
(
tcpReadSelectReply
>
0
)
for
(
int
i
=
0
;
i
<
nTCPTransporters
;
i
++
)
{
for
(
int
i
=
0
;
i
<
nTCPTransporters
;
i
++
)
{
checkJobBuffer
();
TCP_Transporter
*
t
=
theTCPTransporters
[
i
]
;
const
NodeId
nodeId
=
t
->
getRemoteNodeId
();
const
NDB_SOCKET_TYPE
socket
=
t
->
getSocket
();
if
(
is_connected
(
nodeId
))
{
if
(
t
->
isConnected
()
&&
FD_ISSET
(
socket
,
&
tcpReadset
))
checkJobBuffer
();
TCP_Transporter
*
t
=
theTCPTransporters
[
i
];
const
NodeId
nodeId
=
t
->
getRemoteNodeId
();
const
NDB_SOCKET_TYPE
socket
=
t
->
getSocket
()
;
if
(
is_connected
(
nodeId
)){
if
(
t
->
isConnected
())
{
if
(
FD_ISSET
(
socket
,
&
tcpReadset
))
{
const
int
receiveSize
=
t
->
doReceive
();
if
(
receiveSize
>
0
)
{
Uint32
*
ptr
;
Uint32
sz
=
t
->
getReceiveData
(
&
ptr
);
transporter_recv_from
(
callbackObj
,
nodeId
)
;
Uint32
szUsed
=
unpack
(
ptr
,
sz
,
nodeId
,
ioStates
[
nodeId
]
);
t
->
updateReceiveDataPtr
(
szUsed
);
}
t
->
doReceive
();
}
if
(
t
->
hasReceiveData
())
{
Uint32
*
ptr
;
Uint32
sz
=
t
->
getReceiveData
(
&
ptr
);
Uint32
szUsed
=
unpack
(
ptr
,
sz
,
nodeId
,
ioStates
[
nodeId
]
);
t
->
updateReceiveDataPtr
(
szUsed
);
}
}
}
...
...
storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp
View file @
fbc43bf6
...
...
@@ -133,6 +133,7 @@ Cmvmi::~Cmvmi()
#ifdef ERROR_INSERT
NodeBitmask
c_error_9000_nodes_mask
;
extern
Uint32
MAX_RECEIVED_SIGNALS
;
#endif
void
Cmvmi
::
execNDB_TAMPER
(
Signal
*
signal
)
...
...
@@ -162,6 +163,22 @@ void Cmvmi::execNDB_TAMPER(Signal* signal)
kill
(
getpid
(),
SIGABRT
);
}
#endif
#ifdef ERROR_INSERT
if
(
signal
->
theData
[
0
]
==
9003
)
{
if
(
MAX_RECEIVED_SIGNALS
<
1024
)
{
MAX_RECEIVED_SIGNALS
=
1024
;
}
else
{
MAX_RECEIVED_SIGNALS
=
rand
()
%
128
;
}
ndbout_c
(
"MAX_RECEIVED_SIGNALS: %d"
,
MAX_RECEIVED_SIGNALS
);
CLEAR_ERROR_INSERT_VALUE
;
}
#endif
}
//execNDB_TAMPER()
void
Cmvmi
::
execSET_LOGLEVELORD
(
Signal
*
signal
)
...
...
storage/ndb/test/ndbapi/testNdbApi.cpp
View file @
fbc43bf6
...
...
@@ -1588,6 +1588,36 @@ int runTestExecuteAsynch(NDBT_Context* ctx, NDBT_Step* step){
template
class
Vector
<
NdbScanOperation
*
>;
int
runBug28443
(
NDBT_Context
*
ctx
,
NDBT_Step
*
step
)
{
int
result
=
NDBT_OK
;
int
records
=
ctx
->
getNumRecords
();
NdbRestarter
restarter
;
restarter
.
insertErrorInAllNodes
(
9003
);
for
(
Uint32
i
=
0
;
i
<
ctx
->
getNumLoops
();
i
++
)
{
HugoTransactions
hugoTrans
(
*
ctx
->
getTab
());
if
(
hugoTrans
.
loadTable
(
GETNDB
(
step
),
records
,
2048
)
!=
0
)
{
result
=
NDBT_FAILED
;
goto
done
;
}
if
(
runClearTable
(
ctx
,
step
)
!=
0
)
{
result
=
NDBT_FAILED
;
goto
done
;
}
}
done:
restarter
.
insertErrorInAllNodes
(
9003
);
return
result
;
}
NDBT_TESTSUITE
(
testNdbApi
);
TESTCASE
(
"MaxNdb"
,
...
...
@@ -1689,6 +1719,10 @@ TESTCASE("ExecuteAsynch",
"Check that executeAsync() works (BUG#27495)
\n
"
){
INITIALIZER
(
runTestExecuteAsynch
);
}
TESTCASE
(
"Bug28443"
,
""
){
INITIALIZER
(
runBug28443
);
}
NDBT_TESTSUITE_END
(
testNdbApi
);
int
main
(
int
argc
,
const
char
**
argv
){
...
...
storage/ndb/test/run-test/daily-basic-tests.txt
View file @
fbc43bf6
...
...
@@ -704,6 +704,10 @@ max-time: 500
cmd: testNdbApi
args: -n ExecuteAsynch T1
max-time: 1000
cmd: testNdbApi
args: -n BugBug28443
#max-time: 500
#cmd: testInterpreter
#args: 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