0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036 export TESTNAME="test048_cache"
0037
0038 PWD=`pwd`
0039 if [ `echo $PWD | grep $TESTNAME ` ]; then
0040
0041 echo > /dev/null
0042 else
0043
0044 pushd .
0045 echo "Doing cd"
0046 cd $TESTNAME
0047 fi;
0048
0049 export NDRX_CCONFIG=`pwd`
0050 . ../testenv.sh
0051
0052 export TESTDIR="$NDRX_APPHOME/atmitest/$TESTNAME"
0053 export PATH=$PATH:$TESTDIR
0054 export NDRX_TOUT=10
0055 export NDRX_ULOG=$TESTDIR
0056
0057 source ./test-func-include.sh
0058
0059
0060
0061
0062 set_dom1() {
0063 echo "Setting domain 1"
0064 . ../dom1.sh
0065 export NDRX_CONFIG=$TESTDIR/ndrxconfig-dom1.xml
0066 export NDRX_DMNLOG=$TESTDIR/ndrxd-dom1.log
0067 export NDRX_LOG=$TESTDIR/ndrx-dom1.log
0068 export TESTDIR_DB=$TESTDIR
0069 export TESTDIR_SHM=$TESTDIR
0070 export NDRX_CCTAG=dom1
0071 }
0072
0073 set_dom2() {
0074 echo "Setting domain 2"
0075 . ../dom2.sh
0076 export NDRX_CONFIG=$TESTDIR/ndrxconfig-dom2.xml
0077 export NDRX_DMNLOG=$TESTDIR/ndrxd-dom2.log
0078 export NDRX_LOG=$TESTDIR/ndrx-dom2.log
0079 export TESTDIR_DB=$TESTDIR/dom2
0080 export TESTDIR_SHM=$TESTDIR/dom2
0081 export NDRX_CCTAG=dom2
0082 }
0083
0084 set_dom3() {
0085 echo "Setting domain 3"
0086 . ../dom3.sh
0087 export NDRX_CONFIG=$TESTDIR/ndrxconfig-dom3.xml
0088 export NDRX_DMNLOG=$TESTDIR/ndrxd-dom3.log
0089 export NDRX_LOG=$TESTDIR/ndrx-dom3.log
0090 export TESTDIR_DB=$TESTDIR/dom3
0091 export TESTDIR_SHM=$TESTDIR/dom3
0092 export NDRX_CCTAG=dom3
0093 }
0094
0095
0096
0097
0098 function go_out {
0099 echo "Test exiting with: $1"
0100
0101 set_dom1;
0102 xadmin stop -y
0103 xadmin down -y
0104
0105
0106 set_dom2;
0107 xadmin stop -y
0108 xadmin down -y
0109
0110 set_dom3;
0111 xadmin stop -y
0112 xadmin down -y
0113
0114
0115 xadmin killall atmiclt48
0116
0117 popd 2>/dev/null
0118 exit $1
0119 }
0120
0121 rm *.log
0122
0123 xadmin killall tpbridge
0124
0125 echo "Booting domain 1"
0126 set_dom1;
0127 xadmin down -y
0128 xadmin start -y || go_out 1
0129
0130 echo "Booting domain 2"
0131 set_dom2;
0132 xadmin down -y
0133 xadmin start -y || go_out 1
0134
0135 echo "Booting domain 3"
0136 set_dom3;
0137 xadmin down -y
0138 xadmin start -y || go_out 1
0139
0140 echo "Let clients to boot & links to establish..."
0141 sleep 30
0142
0143 RET=0
0144
0145 echo "Domain 1 info"
0146 set_dom1;
0147 xadmin psc
0148 xadmin ppm
0149 xadmin sc -t CACHED
0150 xadmin pc
0151
0152 echo "Domain 2 info"
0153 set_dom2;
0154 xadmin psc
0155 xadmin ppm
0156 xadmin sc -t CACHED
0157 xadmin pc
0158
0159 echo "Domain 3 info"
0160 set_dom3;
0161 xadmin psc
0162 xadmin ppm
0163 xadmin sc -t CACHED
0164 xadmin pc
0165
0166
0167 echo "Running off client on domain 1"
0168 set_dom1;
0169
0170 (time ./testtool48 -sTESTSV15 -b '{"T_STRING_FLD":"KEY1","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"1"}' \
0171 -m '{"T_STRING_FLD":"KEY1","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"1"}' \
0172 -cY -n50 -fY 2>&1) > ./15_testtool48.log
0173
0174 if [ $? -ne 0 ]; then
0175 echo "testtool48 failed (1)"
0176 go_out 1
0177 fi
0178
0179 (time ./testtool48 -sTESTSV15 -b '{"T_STRING_FLD":"KEY1","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"2"}' \
0180 -m '{"T_STRING_FLD":"KEY1","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"2"}' \
0181 -cY -n50 -fY 2>&1) >> ./15_testtool48.log
0182
0183 if [ $? -ne 0 ]; then
0184 echo "testtool48 failed (2)"
0185 go_out 1
0186 fi
0187
0188
0189 (time ./testtool48 -sTESTSV15 -b '{"T_STRING_FLD":"KEY1","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"3"}' \
0190 -m '{"T_STRING_FLD":"KEY1","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"3"}' \
0191 -cY -n50 -fY 2>&1) >> ./15_testtool48.log
0192
0193 if [ $? -ne 0 ]; then
0194 echo "testtool48 failed (3)"
0195 go_out 1
0196 fi
0197
0198 (time ./testtool48 -sTESTSV15 -b '{"T_STRING_FLD":"KEY1","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"4"}' \
0199 -m '{"T_STRING_FLD":"KEY1","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"4"}' \
0200 -cY -n50 -fY 2>&1) >> ./15_testtool48.log
0201
0202 if [ $? -ne 0 ]; then
0203 echo "testtool48 failed (4)"
0204 go_out 1
0205 fi
0206
0207 (time ./testtool48 -sTESTSV15 -b '{"T_STRING_FLD":"KEY1","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"5"}' \
0208 -m '{"T_STRING_FLD":"KEY1","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"5"}' \
0209 -cY -n50 -fY 2>&1) >> ./15_testtool48.log
0210
0211 if [ $? -ne 0 ]; then
0212 echo "testtool48 failed (5)"
0213 go_out 1
0214 fi
0215
0216 (time ./testtool48 -sTESTSV15 -b '{"T_STRING_FLD":"KEY1","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"6"}' \
0217 -m '{"T_STRING_FLD":"KEY1","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"6"}' \
0218 -cY -n50 -fY 2>&1) >> ./15_testtool48.log
0219
0220 if [ $? -ne 0 ]; then
0221 echo "testtool48 failed (6)"
0222 go_out 1
0223 fi
0224
0225 (time ./testtool48 -sTESTSV15 -b '{"T_STRING_FLD":"KEY1","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"7"}' \
0226 -m '{"T_STRING_FLD":"KEY1","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"7"}' \
0227 -cY -n50 -fY 2>&1) >> ./15_testtool48.log
0228
0229 if [ $? -ne 0 ]; then
0230 echo "testtool48 failed (7)"
0231 go_out 1
0232 fi
0233
0234
0235
0236
0237
0238 (time ./testtool48 -sTESTSV15 -b '{"T_STRING_FLD":"KEY1","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"8"}' \
0239 -m '{"T_STRING_FLD":"KEY1","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"8","T_STRING_3_FLD":"REJECT"}' \
0240 -cY -n1 -fN -r4 -e11 2>&1) >> ./15_testtool48.log
0241
0242 if [ $? -ne 0 ]; then
0243 echo "testtool48 failed (8)"
0244 go_out 1
0245 fi
0246
0247 echo "List group..."
0248 xadmin cs g@db15
0249 ensure_keys g@db15 1
0250
0251 echo "List key items..."
0252 xadmin cs k@db15
0253 ensure_keys k@db15 7
0254
0255
0256 echo "Check contents of keygroup"
0257 xadmin cd -d g@db15 -k SV15KEY1 -i
0258
0259 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV151 1
0260 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV152 1
0261 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV153 1
0262 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV154 1
0263 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV155 1
0264 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV156 1
0265 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV157 1
0266 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV158 0
0267 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV159 0
0268
0269 xadmin bc -t CACHED
0270 echo "Sleep 102, to wait for some free slot..."
0271 sleep 102
0272
0273
0274 (time ./testtool48 -sTESTSV15 -b '{"T_STRING_FLD":"KEY1","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"8"}' \
0275 -m '{"T_STRING_FLD":"KEY1","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"8"}' \
0276 -cY -n50 -fY 2>&1) >> ./15_testtool48.log
0277
0278 if [ $? -ne 0 ]; then
0279 echo "testtool48 failed (8.1)"
0280 go_out 1
0281 fi
0282
0283 (time ./testtool48 -sTESTSV15 -b '{"T_STRING_FLD":"KEY1","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"9"}' \
0284 -m '{"T_STRING_FLD":"KEY1","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"9"}' \
0285 -cY -n50 -fY 2>&1) >> ./15_testtool48.log
0286
0287 if [ $? -ne 0 ]; then
0288 echo "testtool48 failed (9)"
0289 go_out 1
0290 fi
0291
0292
0293 xadmin cs g@db15
0294 xadmin cs k@db15
0295
0296 xadmin cd -d g@db15 -k SV15KEY1 -i
0297
0298 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV151 0
0299 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV152 0
0300
0301 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV158 1
0302 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV159 1
0303
0304
0305 echo "List keyitems"
0306 xadmin cs k@db15
0307 ensure_keys k@db15 2
0308
0309
0310
0311
0312 (time ./testtool48 -sTESTSV15 -b '{"T_STRING_FLD":"KEY2","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"8"}' \
0313 -m '{"T_STRING_FLD":"KEY2","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"8"}' \
0314 -cY -n50 -fY 2>&1) >> ./15_testtool48.log
0315
0316 if [ $? -ne 0 ]; then
0317 echo "testtool48 failed (10)"
0318 go_out 1
0319 fi
0320
0321 (time ./testtool48 -sTESTSV15 -b '{"T_STRING_FLD":"KEY2","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"9"}' \
0322 -m '{"T_STRING_FLD":"KEY2","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"9"}' \
0323 -cY -n50 -fY 2>&1) >> ./15_testtool48.log
0324
0325 if [ $? -ne 0 ]; then
0326 echo "testtool48 failed (11)"
0327 go_out 1
0328 fi
0329
0330 (time ./testtool48 -sTESTSV15 -b '{"T_STRING_FLD":"KEY2","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"10"}' \
0331 -m '{"T_STRING_FLD":"KEY2","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"10"}' \
0332 -cY -n50 -fY 2>&1) >> ./15_testtool48.log
0333
0334 if [ $? -ne 0 ]; then
0335 echo "testtool48 failed (12)"
0336 go_out 1
0337 fi
0338
0339 ensure_keys k@db15 5
0340
0341 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV158 1
0342 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV159 1
0343
0344 ensure_field g@db15 SV15KEY2 EX_CACHE_OPEXPR SV15KEY2-SV158 1
0345 ensure_field g@db15 SV15KEY2 EX_CACHE_OPEXPR SV15KEY2-SV159 1
0346 ensure_field g@db15 SV15KEY2 EX_CACHE_OPEXPR SV15KEY2-SV1510 1
0347
0348 echo "Now invalidate record No 2 by ud"
0349
0350 cat << EOF | ud
0351 SRVCNM TESTSV15I
0352 T_STRING_FLD KEY2
0353 T_SHORT_FLD 9
0354 T_SHORT_2_FLD 1
0355
0356 EOF
0357
0358 echo "Sleeping 3 to broadcast delete... (1)"
0359 sleep 1
0360
0361 echo "Testing DOM 1"
0362
0363 xadmin cs k@db15
0364 xadmin cd -d g@db15 -k SV15KEY2 -i
0365
0366 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV158 1
0367 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV159 1
0368
0369 ensure_field g@db15 SV15KEY2 EX_CACHE_OPEXPR SV15KEY2-SV158 1
0370 ensure_field g@db15 SV15KEY2 EX_CACHE_OPEXPR SV15KEY2-SV159 0
0371 ensure_field g@db15 SV15KEY2 EX_CACHE_OPEXPR SV15KEY2-SV1510 1
0372
0373
0374 echo "Testing DOM 2"
0375 set_dom2;
0376 xadmin cs k@db15
0377 xadmin cd -d g@db15 -k SV15KEY2 -i
0378
0379 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV158 1
0380 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV159 1
0381
0382 ensure_field g@db15 SV15KEY2 EX_CACHE_OPEXPR SV15KEY2-SV158 1
0383 ensure_field g@db15 SV15KEY2 EX_CACHE_OPEXPR SV15KEY2-SV159 0
0384 ensure_field g@db15 SV15KEY2 EX_CACHE_OPEXPR SV15KEY2-SV1510 1
0385
0386 echo "Testing DOM 3"
0387 set_dom3;
0388 xadmin cs k@db15
0389 xadmin cd -d g@db15 -k SV15KEY2 -i
0390
0391 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV158 1
0392 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV159 1
0393
0394 ensure_field g@db15 SV15KEY2 EX_CACHE_OPEXPR SV15KEY2-SV158 1
0395 ensure_field g@db15 SV15KEY2 EX_CACHE_OPEXPR SV15KEY2-SV159 0
0396 ensure_field g@db15 SV15KEY2 EX_CACHE_OPEXPR SV15KEY2-SV1510 1
0397
0398 echo "Back to DOM 1"
0399 set_dom1;
0400
0401 (time ./testtool48 -sTESTSV15 -b '{"T_STRING_FLD":"KEY2","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"8"}' \
0402 -m '{"T_STRING_FLD":"KEY2","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"8"}' \
0403 -cY -n50 -fN 2>&1) >> ./15_testtool48.log
0404
0405 if [ $? -ne 0 ]; then
0406 echo "testtool48 failed (13)"
0407 go_out 1
0408 fi
0409
0410 (time ./testtool48 -sTESTSV15 -b '{"T_STRING_FLD":"KEY2","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"9"}' \
0411 -m '{"T_STRING_FLD":"KEY2","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"9"}' \
0412 -cY -n50 -fY 2>&1) >> ./15_testtool48.log
0413
0414 if [ $? -ne 0 ]; then
0415 echo "testtool48 failed (14)"
0416 go_out 1
0417 fi
0418
0419 (time ./testtool48 -sTESTSV15 -b '{"T_STRING_FLD":"KEY2","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"10"}' \
0420 -m '{"T_STRING_FLD":"KEY2","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"10"}' \
0421 -cY -n50 -fN 2>&1) >> ./15_testtool48.log
0422
0423 if [ $? -ne 0 ]; then
0424 echo "testtool48 failed (15)"
0425 go_out 1
0426 fi
0427
0428
0429 (time ./testtool48 -sTESTSV15 -b '{"T_STRING_FLD":"KEY1","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"8"}' \
0430 -m '{"T_STRING_FLD":"KEY1","T_STRING_2_FLD":"DOM1","T_SHORT_FLD":"8"}' \
0431 -cY -n50 -fN 2>&1) >> ./15_testtool48.log
0432
0433 if [ $? -ne 0 ]; then
0434 echo "testtool48 failed (16)"
0435 go_out 1
0436 fi
0437
0438
0439 echo "Now invalidate record No 10 by ud - full group must be dropped"
0440
0441 cat << EOF | ud
0442 SRVCNM TESTSV15I2
0443 T_STRING_FLD KEY2
0444 T_SHORT_FLD 10
0445 T_SHORT_2_FLD 1
0446
0447 EOF
0448
0449 echo "Sleeping 3 to broadcast delete... (2)"
0450 sleep 5
0451
0452 echo "Testing DOM 1"
0453 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV158 1
0454 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV159 1
0455
0456 ensure_field g@db15 SV15KEY2 EX_CACHE_OPEXPR SV15KEY2-SV158 0
0457 ensure_field g@db15 SV15KEY2 EX_CACHE_OPEXPR SV15KEY2-SV159 0
0458 ensure_field g@db15 SV15KEY2 EX_CACHE_OPEXPR SV15KEY2-SV1510 0
0459
0460 echo "Testing DOM 2"
0461 set_dom2;
0462
0463 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV158 1
0464 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV159 1
0465
0466 ensure_field g@db15 SV15KEY2 EX_CACHE_OPEXPR SV15KEY2-SV158 0
0467 ensure_field g@db15 SV15KEY2 EX_CACHE_OPEXPR SV15KEY2-SV159 0
0468 ensure_field g@db15 SV15KEY2 EX_CACHE_OPEXPR SV15KEY2-SV1510 0
0469
0470 echo "Testing DOM 3"
0471 set_dom3;
0472
0473 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV158 1
0474 ensure_field g@db15 SV15KEY1 EX_CACHE_OPEXPR SV15KEY1-SV159 1
0475
0476 ensure_field g@db15 SV15KEY2 EX_CACHE_OPEXPR SV15KEY2-SV158 0
0477 ensure_field g@db15 SV15KEY2 EX_CACHE_OPEXPR SV15KEY2-SV159 0
0478 ensure_field g@db15 SV15KEY2 EX_CACHE_OPEXPR SV15KEY2-SV1510 0
0479
0480
0481 go_out $RET
0482
0483