Nguồn: Lovable Blog
Tóm tắt
Lovable — nền tảng tạo hơn 50 sandbox mỗi giây lúc cao điểm — gặp phải loạt lỗi kết nối không rõ nguyên nhân: mở project thất bại, clone code từ GitHub timeout, và “Connection reset by peer”. Kỹ sư infrastructure Sascha đã dùng AI agent để phân tích hàng triệu dòng log trong Clickhouse, phát hiện ra các pod anetd (implementation của Cilium của Google trên GKE) đang restart khoảng 120 lần trong 6 ngày — gần 1 lần crash mỗi giờ.
Stack trace chỉ ra một panic do concurrent map access trong module WireGuard của anetd: nhiều goroutine cùng đọc/ghi một data structure theo dõi WireGuard connection mà không có locking đúng cách. Đây là lỗi trong code tích hợp của Google, không phải trong bản thân WireGuard. Google khuyến nghị tắt transparent node-to-node encryption để bypass lỗi, và trong 4 giờ đầu tưởng đã xong.
Sau khi tắt WireGuard, xuất hiện lỗi mới: connection ngẫu nhiên đến Valkey (in-memory data store) thất bại. Kỹ sư Erik dùng tcpdump và phân tích traffic bằng Wireshark, tìm ra thông điệp “Destination unreachable (Fragmentation needed)” — dấu hiệu của MTU mismatch. Khi WireGuard bật, cluster dùng MTU 1420 bytes để bù overhead mã hóa; khi tắt đi, một số node chưa restart vẫn dùng MTU cũ 1420, trong khi các node khác đã chuyển về 1500. Các connection Valkey bị lỗi tùy theo pod chạy trên node nào.
Bài học rút ra: trong distributed systems, khi sửa một lỗi có thể lộ ra lỗi ẩn bên dưới. Nhóm cũng xác nhận lần đầu tiên dùng AI agent để debug quy mô lớn là một bước ngoặt — khả năng query log và phát hiện pattern mà không cần parse thủ công là “game-changer”. Google đã vá lỗi WireGuard concurrency sau incident này.