Veer15's picture
chore: deploy distributed systems debug environment
b641d3d verified
from enum import Enum
class TaskName(str, Enum):
CASCADING_TIMEOUT = "cascading-timeout"
BYZANTINE_QUEUE_FAULT = "byzantine-queue-fault"
DISTRIBUTED_LOCK_STARVATION = "distributed-lock-starvation"
BACKPRESSURE_CASCADE = "backpressure-cascade"
ROUTE_PARTITION = "route-partition"
REGISTRY_CORRUPTION = "registry-corruption"
JOB_GENERATOR_RUNAWAY = "job-generator-runaway"
@classmethod
def parse(cls, value: str) -> "TaskName":
try:
return cls(value)
except ValueError as exc:
raise ValueError(f"Unknown task: {value}") from exc
ALL_TASKS = [task.value for task in TaskName]
# Baseline default: easy + medium + hard (deadlock/starvation included).
DEFAULT_BASELINE_TASKS = [
TaskName.CASCADING_TIMEOUT.value,
TaskName.BYZANTINE_QUEUE_FAULT.value,
TaskName.DISTRIBUTED_LOCK_STARVATION.value,
]
DEFAULT_BASELINE_TASK_ENUMS = [
TaskName.CASCADING_TIMEOUT,
TaskName.BYZANTINE_QUEUE_FAULT,
TaskName.DISTRIBUTED_LOCK_STARVATION,
]
NO_COMMAND_PROVIDED_SENTINEL = "__NO_COMMAND_PROVIDED__"
TASK_MAX_STEPS = {
TaskName.CASCADING_TIMEOUT: 15,
TaskName.BYZANTINE_QUEUE_FAULT: 18,
TaskName.DISTRIBUTED_LOCK_STARVATION: 20,
TaskName.BACKPRESSURE_CASCADE: 20,
TaskName.ROUTE_PARTITION: 20,
TaskName.REGISTRY_CORRUPTION: 18,
TaskName.JOB_GENERATOR_RUNAWAY: 20,
}
DEFAULT_CONFIGS = {
"auth": {"delay_ms": 200},
"gateway": {"auth_timeout_ms": 500},
"worker": {"db_pool_size": 10, "db_write_delay_ms": 0},
"job_generator": {"interval_ms": 333},
"blocked_routes": {"blocked": []},
}