199 lines
6.8 KiB
Plaintext
199 lines
6.8 KiB
Plaintext
source include/have_ndb.inc;
|
|
|
|
# Nodes:
|
|
# NDB 1,2
|
|
# MGM 3
|
|
# API 16,32,48,49,63,127
|
|
|
|
# Save now to only look at new info in EventLog
|
|
select now() into @now;
|
|
|
|
# DUMP signals in use:
|
|
# CmvmiRelayDumpStateOrd(103003) to-node dump-state-ord ...
|
|
# CmvmiDummy(103004) report-to sent-from padding frag-size #sec sec#1-len ...
|
|
# CmvmiSendDummy(103005) report-to send-to padding frag-size #sec sec#1-len ...
|
|
|
|
# Signals internal to data node do not use transporters and associated buffers.
|
|
# Sections are stored in segmented long message buffers without explicit size
|
|
# limits.
|
|
let $section_size=32768;
|
|
echo section size 3x$section_size: DB(1) -> DB(1);
|
|
exec $NDB_MGM --verbose=0 -e
|
|
"1 DUMP 103005 1 1 1234567890 0 3 $section_size $section_size $section_size";
|
|
exec $NDB_MGM --verbose=0 -e "ALL REPORT EventLog" >> $NDB_TOOLS_OUTPUT;
|
|
|
|
# Message size is sum of:
|
|
# mandatory Protocol6 header: 3 words
|
|
# signal id: 0 or 1 word
|
|
# signal data size: 7 word (if dump commands are changed this may change)
|
|
# section lengths: 1 word (one word per section used)
|
|
# section data: $section_size
|
|
# checksum: 0 or 1 word
|
|
|
|
echo * Send biggest supported messages *;
|
|
|
|
# For MGM and API internal signal no signal id or checksum are used in messages.
|
|
|
|
let $section_size=8177;
|
|
let $msg_size=`select 3 + 0 + 7 + 1 + $section_size + 0`;
|
|
|
|
echo size $msg_size: MGM(3) -> MGM(3);
|
|
exec $NDB_MGM --verbose=0
|
|
-e "1 DUMP 103003 3 103005 1 3 1234567890 0 1 $section_size";
|
|
exec $NDB_MGM --verbose=0 -e "ALL REPORT EventLog" >> $NDB_TOOLS_OUTPUT;
|
|
|
|
echo size $msg_size: API(16) -> API(16);
|
|
exec $NDB_MGM --verbose=0
|
|
-e "1 DUMP 103003 16 103005 1 16 1234567890 0 1 $section_size";
|
|
exec $NDB_MGM --verbose=0 -e "ALL REPORT EventLog" >> $NDB_TOOLS_OUTPUT;
|
|
|
|
# For external signals signal id and checksum are used in messages.
|
|
|
|
let $section_size=8176;
|
|
let $msg_size=`select 3 + 1 + 7 + 1 + $section_size + 1`;
|
|
|
|
echo size $msg_size: DB(2) -> DB(1);
|
|
exec $NDB_MGM --verbose=0 -e "2 DUMP 103005 1 1 1234567890 0 1 $section_size";
|
|
exec $NDB_MGM --verbose=0 -e "ALL REPORT EventLog" >> $NDB_TOOLS_OUTPUT;
|
|
|
|
echo size $msg_size: DB(1) -> API(32);
|
|
exec $NDB_MGM --verbose=0 -e "1 DUMP 103005 1 32 1234567890 0 1 $section_size";
|
|
exec $NDB_MGM --verbose=0 -e "ALL REPORT EventLog" >> $NDB_TOOLS_OUTPUT;
|
|
|
|
let $section_size=8175;
|
|
let $msg_size=`select 3 + 1 + 7 + 1 + $section_size + 1`;
|
|
|
|
echo size $msg_size: MGM(3) -> DB(1);
|
|
exec $NDB_MGM --verbose=0
|
|
-e "1 DUMP 103003 3 103005 1 1 1234567890 0 1 $section_size";
|
|
exec $NDB_MGM --verbose=0 -e "ALL REPORT EventLog" >> $NDB_TOOLS_OUTPUT;
|
|
|
|
echo size $msg_size: API(16) -> DB(1);
|
|
exec $NDB_MGM --verbose=0
|
|
-e "1 DUMP 103003 16 103005 1 1 1234567890 0 1 $section_size";
|
|
exec $NDB_MGM --verbose=0 -e "ALL REPORT EventLog" >> $NDB_TOOLS_OUTPUT;
|
|
|
|
sleep 1;
|
|
exec $NDB_MGM --verbose=0 -e "ALL REPORT EventLog" >> $NDB_TOOLS_OUTPUT;
|
|
|
|
echo * Fail send messages bigger than 32KiB bytes *;
|
|
|
|
# For MGM and API internal signal no signal id or checksum are used in messages.
|
|
|
|
let $section_size=8181;
|
|
let $msg_size=`select 3 + 0 + 7 + 1 + $section_size + 0`;
|
|
|
|
echo size $msg_size: MGM(3) -> MGM(3);
|
|
exec $NDB_MGM --verbose=0
|
|
-e "1 DUMP 103003 3 103005 1 3 1234567890 0 1 $section_size";
|
|
exec $NDB_MGM --verbose=0 -e "ALL REPORT EventLog" >> $NDB_TOOLS_OUTPUT;
|
|
|
|
echo size $msg_size: API(16) -> API(16);
|
|
exec $NDB_MGM --verbose=0
|
|
-e "1 DUMP 103003 16 103005 1 16 1234567890 0 1 $section_size";
|
|
exec $NDB_MGM --verbose=0 -e "ALL REPORT EventLog" >> $NDB_TOOLS_OUTPUT;
|
|
|
|
# For external signals signal id and checksum are used in messages.
|
|
|
|
let $section_size=8179;
|
|
let $msg_size=`select 3 + 1 + 7 + 1 + $section_size + 1`;
|
|
|
|
echo size $msg_size: DB(2) -> DB(1);
|
|
exec $NDB_MGM --verbose=0 -e "2 DUMP 103005 1 1 1234567890 0 1 $section_size";
|
|
exec $NDB_MGM --verbose=0 -e "ALL REPORT EventLog" >> $NDB_TOOLS_OUTPUT;
|
|
|
|
echo size $msg_size: DB(1) -> API(32);
|
|
exec $NDB_MGM --verbose=0 -e "1 DUMP 103005 1 32 1234567890 0 1 $section_size";
|
|
exec $NDB_MGM --verbose=0 -e "ALL REPORT EventLog" >> $NDB_TOOLS_OUTPUT;
|
|
|
|
let $section_size=8179;
|
|
let $msg_size=`select 3 + 1 + 7 + 1 + $section_size + 1`;
|
|
|
|
echo size $msg_size: MGM(3) -> DB(1);
|
|
exec $NDB_MGM --verbose=0
|
|
-e "1 DUMP 103003 3 103005 1 1 1234567890 0 1 $section_size";
|
|
exec $NDB_MGM --verbose=0 -e "ALL REPORT EventLog" >> $NDB_TOOLS_OUTPUT;
|
|
|
|
echo size $msg_size: API(16) -> DB(1);
|
|
exec $NDB_MGM --verbose=0
|
|
-e "1 DUMP 103003 16 103005 1 1 1234567890 0 1 $section_size";
|
|
exec $NDB_MGM --verbose=0 -e "ALL REPORT EventLog" >> $NDB_TOOLS_OUTPUT;
|
|
|
|
sleep 1;
|
|
exec $NDB_MGM --verbose=0 -e "ALL REPORT EventLog" >> $NDB_TOOLS_OUTPUT;
|
|
|
|
echo * Fail send messages limited by send buffers but not bigger than 32KiB *;
|
|
|
|
# For MGM and API internal signal no signal id or checksum are used in messages.
|
|
|
|
let $section_size=8181;
|
|
let $msg_size=`select 3 + 0 + 7 + 1 + $section_size + 0`;
|
|
|
|
echo size $msg_size: MGM(3) -> MGM(3);
|
|
exec $NDB_MGM --verbose=0
|
|
-e "1 DUMP 103003 3 103005 1 3 1234567890 0 1 $section_size";
|
|
exec $NDB_MGM --verbose=0 -e "ALL REPORT EventLog" >> $NDB_TOOLS_OUTPUT;
|
|
|
|
echo size $msg_size: API(16) -> API(16);
|
|
exec $NDB_MGM --verbose=0
|
|
-e "1 DUMP 103003 16 103005 1 16 1234567890 0 1 $section_size";
|
|
exec $NDB_MGM --verbose=0 -e "ALL REPORT EventLog" >> $NDB_TOOLS_OUTPUT;
|
|
|
|
# For external signals signal id and checksum are used in messages.
|
|
|
|
let $section_size=8179;
|
|
let $msg_size=`select 3 + 1 + 7 + 1 + $section_size + 1`;
|
|
|
|
echo size $msg_size: DB(2) -> DB(1);
|
|
exec $NDB_MGM --verbose=0 -e "2 DUMP 103005 1 1 1234567890 0 1 $section_size";
|
|
exec $NDB_MGM --verbose=0 -e "ALL REPORT EventLog" >> $NDB_TOOLS_OUTPUT;
|
|
|
|
echo size $msg_size: DB(1) -> API(32);
|
|
exec $NDB_MGM --verbose=0 -e "1 DUMP 103005 1 32 1234567890 0 1 $section_size";
|
|
exec $NDB_MGM --verbose=0 -e "ALL REPORT EventLog" >> $NDB_TOOLS_OUTPUT;
|
|
|
|
let $section_size=8179;
|
|
let $msg_size=`select 3 + 1 + 7 + 1 + $section_size + 1`;
|
|
|
|
echo size $msg_size: MGM(3) -> DB(1);
|
|
exec $NDB_MGM --verbose=0
|
|
-e "1 DUMP 103003 3 103005 1 1 1234567890 0 1 $section_size";
|
|
exec $NDB_MGM --verbose=0 -e "ALL REPORT EventLog" >> $NDB_TOOLS_OUTPUT;
|
|
|
|
echo size $msg_size: API(16) -> DB(1);
|
|
exec $NDB_MGM --verbose=0
|
|
-e "1 DUMP 103003 16 103005 1 1 1234567890 0 1 $section_size";
|
|
exec $NDB_MGM --verbose=0 -e "ALL REPORT EventLog" >> $NDB_TOOLS_OUTPUT;
|
|
|
|
sleep 1;
|
|
exec $NDB_MGM --verbose=0 -e "ALL REPORT EventLog" >> $NDB_TOOLS_OUTPUT;
|
|
|
|
create temporary table ndb_output (
|
|
idx int auto_increment primary key,
|
|
output_line blob
|
|
);
|
|
|
|
disable_query_log;
|
|
eval
|
|
load data local infile '$NDB_TOOLS_OUTPUT'
|
|
into table ndb_output
|
|
character set binary
|
|
fields terminated by '\r'
|
|
(output_line, @dummy);
|
|
enable_query_log;
|
|
|
|
select
|
|
substr(output_line, 21)
|
|
from ndb_output
|
|
where
|
|
output_line like '%Dummy%'
|
|
and substr(output_line, 1, 20) >= @now
|
|
group by output_line
|
|
order by
|
|
substr(output_line, instr(output_line, 'size')),
|
|
substr(output_line, 21) desc;
|
|
|
|
drop table ndb_output;
|
|
|
|
remove_file $NDB_TOOLS_OUTPUT;
|