Merge pull request #5198 from taosdata/feature/crash_gen
Adjusting crash_gen tool to replicate 0x700 problem
This commit is contained in:
commit
27ba492e04
|
@ -354,10 +354,11 @@ class ThreadCoordinator:
|
|||
# end, and maybe signal them to stop
|
||||
if isinstance(err, CrashGenError): # our own transition failure
|
||||
Logging.info("State transition error")
|
||||
# TODO: saw an error here once, let's print out stack info for err?
|
||||
traceback.print_stack()
|
||||
transitionFailed = True
|
||||
self._te = None # Not running any more
|
||||
self._execStats.registerFailure("State transition error")
|
||||
self._execStats.registerFailure("State transition error: {}".format(err))
|
||||
else:
|
||||
raise
|
||||
# return transitionFailed # Why did we have this??!!
|
||||
|
@ -882,8 +883,12 @@ class StateMechine:
|
|||
self._stateWeights = [1, 2, 10, 40]
|
||||
|
||||
def init(self, dbc: DbConn): # late initailization, don't save the dbConn
|
||||
self._curState = self._findCurrentState(dbc) # starting state
|
||||
Logging.debug("Found Starting State: {}".format(self._curState))
|
||||
try:
|
||||
self._curState = self._findCurrentState(dbc) # starting state
|
||||
except taos.error.ProgrammingError as err:
|
||||
Logging.error("Failed to initialized state machine, cannot find current state: {}".format(err))
|
||||
traceback.print_stack()
|
||||
raise # re-throw
|
||||
|
||||
# TODO: seems no lnoger used, remove?
|
||||
def getCurrentState(self):
|
||||
|
@ -951,6 +956,8 @@ class StateMechine:
|
|||
|
||||
# We transition the system to a new state by examining the current state itself
|
||||
def transition(self, tasks, dbc: DbConn):
|
||||
global gSvcMgr
|
||||
|
||||
if (len(tasks) == 0): # before 1st step, or otherwise empty
|
||||
Logging.debug("[STT] Starting State: {}".format(self._curState))
|
||||
return # do nothing
|
||||
|
@ -2370,7 +2377,7 @@ class MainExec:
|
|||
'-n',
|
||||
'--dynamic-db-table-names',
|
||||
action='store_true',
|
||||
help='Use non-fixed names for dbs/tables, useful for multi-instance executions (default: false)')
|
||||
help='Use non-fixed names for dbs/tables, for -b, useful for multi-instance executions (default: false)')
|
||||
parser.add_argument(
|
||||
'-o',
|
||||
'--num-dnodes',
|
||||
|
|
|
@ -15,6 +15,7 @@ from util.log import *
|
|||
from .misc import Logging, CrashGenError, Helper, Dice
|
||||
import os
|
||||
import datetime
|
||||
import traceback
|
||||
# from .service_manager import TdeInstance
|
||||
|
||||
class DbConn:
|
||||
|
@ -349,6 +350,7 @@ class DbConnNative(DbConn):
|
|||
|
||||
def execute(self, sql):
|
||||
if (not self.isOpen):
|
||||
traceback.print_stack()
|
||||
raise CrashGenError(
|
||||
"Cannot exec SQL unless db connection is open", CrashGenError.DB_CONNECTION_NOT_OPEN)
|
||||
Logging.debug("[SQL] Executing SQL: {}".format(sql))
|
||||
|
@ -361,6 +363,7 @@ class DbConnNative(DbConn):
|
|||
|
||||
def query(self, sql): # return rows affected
|
||||
if (not self.isOpen):
|
||||
traceback.print_stack()
|
||||
raise CrashGenError(
|
||||
"Cannot query database until connection is open, restarting?", CrashGenError.DB_CONNECTION_NOT_OPEN)
|
||||
Logging.debug("[SQL] Executing SQL: {}".format(sql))
|
||||
|
|
Loading…
Reference in New Issue