Project: lixa
Code Location: https://lixa.svn.sourceforge.net/svnroot/lixa/tests//tests
Browse
/
Download File
ct_1_3.at
AT_BANNER([Server side crash (xa_end/xa_rollback/xa_forget)])

AT_SETUP([CT/1.3/0.0 server_xa_end (step=8)])
AT_CHECK([if test "$LIXA_CRASH" = "no"; then exit 77; fi])
AT_DATA([monkey1s.conf],
[[# monkey R.M. config
xa_open/0
xa_start/0
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey2s.conf],
[[# monkey R.M. config
xa_open/0
xa_start/0
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey1d.conf],
[[# monkey R.M. config
xa_open/0
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey2d.conf],
[[# monkey R.M. config
xa_open/0
xa_end/0
xa_rollback/0
xa_close/0
]])
# this client forces server crash in server_xa_end_8; the client must stop
# with TX_FAIL
AT_CHECK([export LIXA_PROFILE=CASE_PROF_0002 ; export LIXA_CRASH_POINT=30 ; lixa_test_exec.sh reset start case0035 rollback 5 -7], [5], [ignore], [ignore])
AT_CLEANUP

AT_SETUP([CT/1.3/0.1 server_xa_end (step=8)])
AT_CHECK([if test "$LIXA_CRASH" = "no"; then exit 77; fi])
AT_DATA([monkey1s.conf],
[[# monkey R.M. config
xa_open/0
xa_start/0
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey2s.conf],
[[# monkey R.M. config
xa_open/0
xa_start/0
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey1d.conf],
[[# monkey R.M. config
xa_open/0
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey2d.conf],
[[# monkey R.M. config
xa_open/0
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_CHECK([export LIXA_PROFILE=CASE_PROF_0002 ; lixa_test_exec.sh noreset recycle case0035 rollback 0 0], [0], [ignore], [ignore])
AT_CLEANUP

AT_SETUP([CT/1.3/1.0 server_xa_prepare (step=8)])
AT_CHECK([if test "$LIXA_CRASH" = "no"; then exit 77; fi])
AT_DATA([monkey1s.conf],
[[# monkey R.M. config
xa_open/0
xa_start/0
xa_end/0
xa_prepare/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey2s.conf],
[[# monkey R.M. config
xa_open/0
xa_start/0
xa_end/0
xa_prepare/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey1d.conf],
[[# monkey R.M. config
xa_open/0
xa_end/0
xa_prepare/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey2d.conf],
[[# monkey R.M. config
xa_open/0
xa_end/0
xa_prepare/-3
xa_rollback/0
xa_close/0
]])
# this client forces server crash in server_xa_prepare_8; the client must stop
# with TX_FAIL
AT_CHECK([export LIXA_PROFILE=CASE_PROF_0002 ; export LIXA_CRASH_POINT=32 ; export LIXA_SYNC_NODELAY=yes ; lixa_test_exec.sh noreset start case0035 commit 5 -7], [5], [ignore], [ignore])
AT_CLEANUP

AT_SETUP([CT/1.3/1.1 server_xa_prepare (step=8)])
AT_CHECK([if test "$LIXA_CRASH" = "no"; then exit 77; fi])
AT_DATA([monkey1s.conf],
[[# monkey R.M. config
xa_open/0
# this rollback terminates the previous transaction
xa_rollback/0
xa_start/0
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey2s.conf],
[[# monkey R.M. config
xa_open/0
# this rollback terminates the previous transaction
xa_rollback/0
xa_start/0
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey1d.conf],
[[# monkey R.M. config
xa_open/0
# this rollback terminates the previous transaction
xa_rollback/0
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey2d.conf],
[[# monkey R.M. config
xa_open/0
# this rollback terminates the previous transaction
xa_rollback/0
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_CHECK([export LIXA_PROFILE=CASE_PROF_0002 ; lixa_test_exec.sh noreset recycle case0035 rollback 0 0], [0], [ignore], [ignore])
AT_CLEANUP

AT_SETUP([CT/1.3/2.0 server_xa_rollback (step=8)])
AT_CHECK([if test "$LIXA_CRASH" = "no"; then exit 77; fi])
AT_DATA([monkey1s.conf],
[[# monkey R.M. config
xa_open/0
xa_start/0
xa_end/0
xa_prepare/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey2s.conf],
[[# monkey R.M. config
xa_open/0
xa_start/0
xa_end/0
xa_prepare/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey1d.conf],
[[# monkey R.M. config
xa_open/0
xa_end/0
xa_prepare/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey2d.conf],
[[# monkey R.M. config
xa_open/0
xa_end/0
xa_prepare/-3
xa_rollback/0
xa_close/0
]])
# this client forces server crash in server_xa_rollback_8; the client ends
# without errors because the last messages are sent asynchronously, but the
# server missed xa_commit return codes and xa_close message
AT_CHECK([export LIXA_PROFILE=CASE_PROF_0002 ; export LIXA_CRASH_POINT=35 ; export LIXA_SYNC_NODELAY=yes ; lixa_test_exec.sh noreset start case0035 commit 5 -2], [5], [ignore], [ignore])
AT_CLEANUP

AT_SETUP([CT/1.3/2.1 server_xa_rollback (step=8)])
AT_CHECK([if test "$LIXA_CRASH" = "no"; then exit 77; fi])
AT_DATA([monkey1s.conf],
[[# monkey R.M. config
xa_open/0
# this is a recovery pending commit; the resource manager already rolled back
xa_rollback/-4
xa_start/0
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey2s.conf],
[[# monkey R.M. config
xa_open/0
# this is a recovery pending commit; the resource manager already rolled back
xa_rollback/-4
xa_start/0
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey1d.conf],
[[# monkey R.M. config
xa_open/0
# this is a recovery pending commit; the resource manager already rolled back
xa_rollback/-4
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey2d.conf],
[[# monkey R.M. config
xa_open/0
# this is a recovery pending commit; the resource manager already rolled back
xa_rollback/-4
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_CHECK([export LIXA_PROFILE=CASE_PROF_0002 ; lixa_test_exec.sh noreset recycle case0035 rollback 0 0], [0], [ignore], [ignore])
AT_CLEANUP

AT_SETUP([CT/1.3/3.0 server_xa_forget (step=8)])
AT_CHECK([if test "$LIXA_CRASH" = "no"; then exit 77; fi])
AT_DATA([monkey1s.conf],
[[# monkey R.M. config
xa_open/0
xa_start/0
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey2s.conf],
[[# monkey R.M. config
xa_open/0
xa_start/0
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey1d.conf],
[[# monkey R.M. config
xa_open/0
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey2d.conf],
[[# monkey R.M. config
xa_open/0
xa_end/0
xa_rollback/6
xa_forget/0
xa_close/0
]])
# this client forces server crash in server_xa_forget_8; the client ends
# without errors because the last messages are sent asynchronously, but the
# server missed xa_commit return codes and xa_close message
AT_CHECK([export LIXA_PROFILE=CASE_PROF_0002 ; export LIXA_CRASH_POINT=34 ; export LIXA_SYNC_NODELAY=yes ; lixa_test_exec.sh noreset start case0035 rollback 0 0], [0], [ignore], [ignore])
AT_CLEANUP

AT_SETUP([CT/1.3/3.1 server_xa_forget (step=8)])
AT_CHECK([if test "$LIXA_CRASH" = "no"; then exit 77; fi])
AT_DATA([monkey1s.conf],
[[# monkey R.M. config
xa_open/0
# this is a recovery pending commit; the resource manager already rolled back
xa_rollback/-4
xa_start/0
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey2s.conf],
[[# monkey R.M. config
xa_open/0
# this is a recovery pending commit; the resource manager already rolled back
xa_rollback/-4
xa_start/0
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey1d.conf],
[[# monkey R.M. config
xa_open/0
# this is a recovery pending commit; the resource manager already rolled back
xa_rollback/-4
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_DATA([monkey2d.conf],
[[# monkey R.M. config
xa_open/0
# this is a recovery pending commit; the resource manager already rolled back
xa_rollback/-4
xa_end/0
xa_rollback/0
xa_close/0
]])
AT_CHECK([export LIXA_PROFILE=CASE_PROF_0002 ; lixa_test_exec.sh noreset recycle case0035 rollback 0 0], [0], [ignore], [ignore])
AT_CLEANUP