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
|
# end, and maybe signal them to stop
|
||||||
if isinstance(err, CrashGenError): # our own transition failure
|
if isinstance(err, CrashGenError): # our own transition failure
|
||||||
Logging.info("State transition error")
|
Logging.info("State transition error")
|
||||||
|
# TODO: saw an error here once, let's print out stack info for err?
|
||||||
traceback.print_stack()
|
traceback.print_stack()
|
||||||
transitionFailed = True
|
transitionFailed = True
|
||||||
self._te = None # Not running any more
|
self._te = None # Not running any more
|
||||||
self._execStats.registerFailure("State transition error")
|
self._execStats.registerFailure("State transition error: {}".format(err))
|
||||||
else:
|
else:
|
||||||
raise
|
raise
|
||||||
# return transitionFailed # Why did we have this??!!
|
# return transitionFailed # Why did we have this??!!
|
||||||
|
@ -882,8 +883,12 @@ class StateMechine:
|
||||||
self._stateWeights = [1, 2, 10, 40]
|
self._stateWeights = [1, 2, 10, 40]
|
||||||
|
|
||||||
def init(self, dbc: DbConn): # late initailization, don't save the dbConn
|
def init(self, dbc: DbConn): # late initailization, don't save the dbConn
|
||||||
self._curState = self._findCurrentState(dbc) # starting state
|
try:
|
||||||
Logging.debug("Found Starting State: {}".format(self._curState))
|
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?
|
# TODO: seems no lnoger used, remove?
|
||||||
def getCurrentState(self):
|
def getCurrentState(self):
|
||||||
|
@ -951,6 +956,8 @@ class StateMechine:
|
||||||
|
|
||||||
# We transition the system to a new state by examining the current state itself
|
# We transition the system to a new state by examining the current state itself
|
||||||
def transition(self, tasks, dbc: DbConn):
|
def transition(self, tasks, dbc: DbConn):
|
||||||
|
global gSvcMgr
|
||||||
|
|
||||||
if (len(tasks) == 0): # before 1st step, or otherwise empty
|
if (len(tasks) == 0): # before 1st step, or otherwise empty
|
||||||
Logging.debug("[STT] Starting State: {}".format(self._curState))
|
Logging.debug("[STT] Starting State: {}".format(self._curState))
|
||||||
return # do nothing
|
return # do nothing
|
||||||
|
@ -2370,7 +2377,7 @@ class MainExec:
|
||||||
'-n',
|
'-n',
|
||||||
'--dynamic-db-table-names',
|
'--dynamic-db-table-names',
|
||||||
action='store_true',
|
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(
|
parser.add_argument(
|
||||||
'-o',
|
'-o',
|
||||||
'--num-dnodes',
|
'--num-dnodes',
|
||||||
|
|
|
@ -15,6 +15,7 @@ from util.log import *
|
||||||
from .misc import Logging, CrashGenError, Helper, Dice
|
from .misc import Logging, CrashGenError, Helper, Dice
|
||||||
import os
|
import os
|
||||||
import datetime
|
import datetime
|
||||||
|
import traceback
|
||||||
# from .service_manager import TdeInstance
|
# from .service_manager import TdeInstance
|
||||||
|
|
||||||
class DbConn:
|
class DbConn:
|
||||||
|
@ -349,6 +350,7 @@ class DbConnNative(DbConn):
|
||||||
|
|
||||||
def execute(self, sql):
|
def execute(self, sql):
|
||||||
if (not self.isOpen):
|
if (not self.isOpen):
|
||||||
|
traceback.print_stack()
|
||||||
raise CrashGenError(
|
raise CrashGenError(
|
||||||
"Cannot exec SQL unless db connection is open", CrashGenError.DB_CONNECTION_NOT_OPEN)
|
"Cannot exec SQL unless db connection is open", CrashGenError.DB_CONNECTION_NOT_OPEN)
|
||||||
Logging.debug("[SQL] Executing SQL: {}".format(sql))
|
Logging.debug("[SQL] Executing SQL: {}".format(sql))
|
||||||
|
@ -361,6 +363,7 @@ class DbConnNative(DbConn):
|
||||||
|
|
||||||
def query(self, sql): # return rows affected
|
def query(self, sql): # return rows affected
|
||||||
if (not self.isOpen):
|
if (not self.isOpen):
|
||||||
|
traceback.print_stack()
|
||||||
raise CrashGenError(
|
raise CrashGenError(
|
||||||
"Cannot query database until connection is open, restarting?", CrashGenError.DB_CONNECTION_NOT_OPEN)
|
"Cannot query database until connection is open, restarting?", CrashGenError.DB_CONNECTION_NOT_OPEN)
|
||||||
Logging.debug("[SQL] Executing SQL: {}".format(sql))
|
Logging.debug("[SQL] Executing SQL: {}".format(sql))
|
||||||
|
|
Loading…
Reference in New Issue