rows filtered before indexing
Compared execution plans and captured indexed execution at 0.128 ms.
TECHNICAL SUPPORT ENGINEER · L2 / APPLICATION / PRODUCTION
I'm Dwaragesh D—a Technical Support / Application Support engineer who reproduces issues, follows evidence across layers and documents clear, verified recoveries.
TABLE OF CONTENT
FLAGSHIP L2 PRODUCTION SUPPORT SIMULATION · 14 DOCUMENTED INCIDENTS
A production-style environment built to practise the complete support cycle—not isolated commands. Across 14 documented controlled incidents, I deployed the stack, introduced failures, correlated evidence across layers, restored service, validated recovery, and recorded RCA-ready notes.
Compared execution plans and captured indexed execution at 0.128 ms.
INC-017 · CONTROLLED SEV-2 SIMULATION · NIGHTWATCH
This was a controlled outage in my public production-support lab. No customer or production system was affected. The investigation, evidence, recovery and follow-up controls are real and reproducible.
A request through Nginx to /app returned HTTP 502 instead of the expected 200.
Nginx was running and reachable, narrowing the failure to the upstream path rather than the public entry point.
The Nginx error log recorded connect() failed (111: Connection refused) while connecting to upstream.
Linux port and process checks showed nothing listening on the configured backend port, 9999.
The Python backend process was unavailable; Nginx had a valid upstream target but no service accepting the connection.
The backend was restarted and the port listener was confirmed before traffic was tested again.
Direct backend and proxied /app checks both returned HTTP 200. Monitoring returned to a healthy state.
Nginx remained available, but every request requiring the backend returned 502. From a user's perspective, the application was down. Static proxy availability alone would have produced a false healthy signal.
I reproduced the 502, checked Nginx health, read the proxy error log, then validated the upstream with Linux port and process inspection. The decisive evidence was connection refusal plus the missing listener on port 9999.
Nginx was correctly configured to forward requests to the backend, but no process was listening at the configured upstream address. The 502 was a proxy symptom, not an Nginx failure.
I restarted the backend, confirmed the listener on port 9999, requested the service directly, and finally tested the public Nginx route. Both paths returned HTTP 200; the 502 signal cleared.
$ curl -s -o /dev/null -w '%{http_code}\n' http://localhost/app
502
$ sudo tail -n 20 /var/log/nginx/error.log
connect() failed (111: Connection refused) while connecting to upstream
$ sudo ss -ltnp | grep ':9999'
[no output — no process listening on port 9999]
# backend restored; end-to-end route checked again
$ curl -s -o /dev/null -w '%{http_code}\n' http://localhost/app
200EVIDENCE CHAIN 502 response → upstream connection refused → missing listener → backend restored → 200 verified
WHAT CHANGED AFTER THE INCIDENT
“A 502 tells you where the request failed—not why. The fastest path to root cause was correlating the proxy error with the missing upstream listener.”Inspect the supporting lab evidence ↗
SELECTED INCIDENT WORK
These are hands-on lab incidents, kept separate from paid experience. Each one follows the same discipline: reproduce, isolate, restore, verify and document.
Traced HTTP 502 responses to an unavailable Python service on port 9999, restored the process, verified the listener and confirmed HTTP 200 end to end.
Used EXPLAIN ANALYZE to show 50,003 rows filtered before indexing, then added the right index and compared the execution plan and buffer usage.
Inspected pod state, events and logs, identified the faulty release and rolled the workload back to the last healthy revision.
Configured host and HTTP monitoring, reproduced a service outage, investigated timeout events and verified the trigger cleared after recovery.
SUPABASE SUPPORT LAB · 7 INCIDENTS
Each incident includes the failure, investigation, fix and verification. The lab separates anonymous, authenticated and database-level behavior instead of treating every API symptom as the same problem.
Reproduced anonymous requests returning no rows and isolated the policy boundary.
Open incident evidence ↗02Diagnosed malformed login JSON, invalid credentials and validated an authenticated session.
Open incident evidence ↗03Compared sequential and indexed plans with measurable row and buffer evidence.
Open incident evidence ↗04Reproduced competing lock acquisition and verified recovery after the holding transaction completed.
Open incident evidence ↗05Reproduced a bad Data API table path and traced the API error to the request target.
Open incident evidence ↗06Recovered a private-bucket upload by adding a bucket-scoped authenticated INSERT policy.
Open incident evidence ↗07Connected through the Session Pooler after diagnosing a password-authentication failure.
Open incident evidence ↗THE ENGINEERING FOUNDATION
My route into production support started at the hardware-software boundary: writing Python, integrating sensors, calibrating cameras and debugging systems where code, networks and physical devices all had to work together.
“That background trained me to follow evidence across layers—not stop at the first symptom.”
Supported customers and project teams across Python, OpenCV, IoT and embedded systems: reproduced technical issues, troubleshot hardware-software failures, escalated complex cases and maintained clear technical documentation.
JUN 2024 — JAN 2026 Ran a business as sole operator before returning to technical work.
Built realistic incidents across Linux, PostgreSQL, REST APIs, Nginx, monitoring, containers and AWS—then reproduced, isolated, restored, verified and documented each recovery.
WORKING TOOLKIT
Not a keyword cloud. Every item here connects to engineering work or a documented lab.
PUBLIC EVIDENCE
LET'S SOLVE SOMETHING REAL