Fix rollback_B_1/repl_nonrepl_crash subtest hang when TRGUPD:1
Background
-
After commit edf2bdb8 re-enabled the
rollback_B_1/repl_nonrepl_crashsubtest, it was noticed that it hung once in a while. -
The update process log showed a
NULSUBSCerror in this case.%YDB-E-NULSUBSC, Update failed because Null subscripts are not allowed for database file: ##REMOTE_TEST_PATH##/rollback_B_1_5/repl_nonrepl_crash/mumps.dat %YDB-I-GVIS, Global variable: ^jrandomvariableinimptpfillprogr(0,5,5,"") -
And all hangs happened when
gtm_test_trigupdateenv var was set to1(i.e. random options chosen showedTRGUPD:1).
Issue
-
This subtest sets the
test_specific_trig_fileenv var. That means whendbcreate.cshhappens in the source and receiver side, trigger definitions fromcom/imptp.trgwould be loaded on both sides. -
But if
gtm_test_trigupdateis set to 1, the source server would be started with-trigupdatewhich would imply the trigger definitions andZTWORMHOLEjournal records would not be replicated. That in turn would imply that triggers on the receiver side which rely on$ztwormholewould see an empty string and in turn result in an empty string as a subscript in the global variable resulting in theNULSUBSCerror. -
See YDB#722 (comment 1283543204) for more details.
Fix
- It is not important to test
gtm_test_trigupdate=1in this subtest so we disable this random env var for this subtest using thecom/gtm_test_trigupdate_disabled.cshscript.