Files
wehub-resource-sync 4b6817381b
CI (OpenClaw E2E) / openclaw test (push) Has been cancelled
CI / coverage-report (push) Has been cancelled
CI / test-kubernetes (push) Has been cancelled
CI / should-run-thorough (push) Has been cancelled
CI / test-thorough (cloudwatch-demo) (push) Has been cancelled
CI / test-thorough (flink-ecs) (push) Has been cancelled
CI / test-thorough (upstream-lambda) (push) Has been cancelled
CI / test-thorough (prefect-ecs-fargate) (push) Has been cancelled
Release / build-binaries (zip, opensre.exe, onefile, windows-latest, windows-x64) (push) Has been cancelled
Benchmark image — build + push to ECR (any adapter) / build + push (push) Has been cancelled
CI / quality (ubuntu-latest) (push) Has been cancelled
CI / test (tools-runtime) (push) Has been cancelled
CI / test (e2e-general) (push) Has been cancelled
CI / test (cli-runtime) (push) Has been cancelled
CI / test (e2e-provider-and-openclaw) (push) Has been cancelled
CI / test (integrations-and-misc) (push) Has been cancelled
Release / verify (push) Has been cancelled
Release / build-python-dist (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, macos-15-intel, darwin-x64) (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, macos-latest, darwin-arm64) (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, ubuntu-22.04, linux-x64) (push) Has been cancelled
Release / publish-release (push) Has been cancelled
Release / publish-main-release (push) Has been cancelled
Interactive Shell Live (PR + post-merge) / turn-checks (no-LLM) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Interactive Shell Live (PR + post-merge) / turn-live shard ${{ matrix.shard_index }} (push) Has been cancelled
Release / prepare (push) Has been cancelled
Release / build-binaries (tar.gz, opensre, onedir, ubuntu-22.04-arm, linux-arm64) (push) Has been cancelled
Synthetic Deterministic Tests / Synthetic offline (deterministic) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:10:45 +08:00

45 lines
3.4 KiB
YAML

root_cause_category: dual_resource_exhaustion
required_keywords:
- CPU
- storage
- analytics
- audit_log
required_evidence_sources:
- aws_performance_insights
forbidden_categories:
- connection_exhaustion
ruling_out_keywords:
# "connection" — must note connection spike is blocked-writer symptom, not exhaustion
# "replication" — must note ReplicaLag is downstream write-stall symptom, not independent
# "two" — must acknowledge dual/compositional fault (two independent root causes)
- connection
- replication
- two
optimal_trajectory:
- query_grafana_metrics
- query_grafana_logs
- query_grafana_alert_rules
- describe_rds_instance
- describe_rds_events
max_investigation_loops: 4
model_response: |
ROOT_CAUSE: Two independent resource limits are being hit simultaneously on analytics-prod, forming a compositional fault. (1) CPU saturation: an analytics aggregation query (SELECT ... FROM analytics_events GROUP BY) is consuming 6.8 avg active sessions and 5.9 CPU AAS — nearly exhausting all 8 vCPUs. (2) Storage exhaustion: an audit_log INSERT job is writing ~847 rows/sec, generating 7.4 GB of data per minute, and FreeStorageSpace has dropped from 50 GB to 8 GB in 20 minutes. These are causally independent — the analytics query and the audit_log write burst started at the same time by coincidence.
ROOT_CAUSE_CATEGORY: dual_resource_exhaustion
VALIDATED_CLAIMS:
- CPUUtilization rose from 21% to 91% in 5 minutes, driven by the analytics_reader SELECT query consuming 6.8 AAS with CPU:user as the dominant wait event at 5.9 AAS. [evidence: aws_cloudwatch_metrics, aws_performance_insights]
- FreeStorageSpace dropped from 50 GB to 8.3 GB across the 20-minute window — a rate of ~2.1 GB/min — driven by 847 audit_log INSERT calls/sec generating IO:DataFileWrite load at 3.8 AAS. [evidence: aws_cloudwatch_metrics, aws_performance_insights]
- DatabaseConnections grew from 148 to 563 — a consequence of writers blocking behind the growing write queue, not an independent connection pool leak. Connection exhaustion is ruled out as a root cause. [evidence: aws_cloudwatch_metrics]
- ReplicaLag grew from 1s to 196s because the replica cannot keep up with the high write WAL volume from the audit_log bursts. This is a downstream symptom of the storage/write fault, not an independent replication problem. [evidence: aws_cloudwatch_metrics]
- RDS events confirm two independent warnings: CPU threshold crossed at 09:08Z and low storage events began at 09:11Z. [evidence: aws_rds_events]
NON_VALIDATED_CLAIMS:
- The two faults starting simultaneously is likely coincidental — the analytics report job and the audit_log write burst appear to be unrelated scheduled jobs that happened to run at the same time.
CAUSAL_CHAIN:
- At 09:00Z, an analytics aggregation query began a full table scan of analytics_events, consuming 6.8 AAS and 91% CPU.
- At the same time, an audit_log INSERT job began writing at 847 rows/sec, driving FreeStorageSpace from 50 GB toward zero.
- Connection count rose as write transactions queued behind the storage bottleneck — this is not a connection exhaustion fault but a symptom of blocked writers.
- ReplicaLag grew as WAL generated by the write burst exceeded replica replay capacity — this is a downstream symptom of the write fault, not an independent replication failure.
- Two independent resource limits (compute and storage) are being hit simultaneously from two independent workloads.