Tundide kestev Cloudflare katkestus osutus vigase veakäsitluse tulemuseks.

Cloudflare avaldas analüüsi ühest oma infrastruktuuri suurimast intsidendist, mille tõttu oli eile suur osa sisuhulgiteenuse võrku üle kolme tunni mittetoimiv. Häire tekkis pärast muudatust ClickHouse'i andmebaasi struktuuris, mille tulemusena suurenes botitõrjesüsteemi parameetrite faili suurus kaks korda. Andmebaasis tekkisid duplikaattabelid, samal ajal kui SQL-päring faili koostamiseks lihtsalt väljastas kõik andmed kõigist tabelitest märksõna põhjal, ilma duplikaate filtreerimata. SELECT name, type FROM system.columns WHERE table = ‘http_requests_features’ order by name;

Tundide kestev Cloudflare katkestus osutus vigase veakäsitluse tulemuseks.

Loodud fail levis kõigisse klastrisse, mis töötleb sisenevaid päringuid. Töötlejas, mis kasutab seda faili botide tuvastamiseks, salvestati failis määratud parameetrid mälus ja, et vältida liigset mälu kasutamist, oli koodis kehtestatud maksimaalse failisuuruse piirang. Tavalistes tingimustes oli faili tegelik suurus oluliselt väiksem määratud piirangust, kuid pärast tabelite duplitseerimist ületas see limiidi.

Probleem seisnes selles, et asemel, et korrektselt käsitleda piirangu ületamist ja jätkata varasema versiooni faili kasutamist koos süsteemi jälgimise teavitamisega erakordsetest olukordadest, toimis töötleja hädaseisundi tõttu, mis blokeeris edasise liikluse edastamise. Viga oli põhjustatud Rusti keeles oleva koodi unwrap() meetodi kasutamisest Result tüübi puhul.

Tundide kestev Cloudflare katkestus osutus vigase veakäsitluse tulemuseks.

Kui Result'i väärtus on seisundis «Ok», tagastab unwrap() selle seisundiga seotud objekti, kuid kui tulemus ei ole edukas, toob meetodi kutsumine kaasa hädaseisundi (kutsutakse üles makro «panic!»). Üldiselt kasutatakse unwrap() silumise protsessis või testkoodi kirjutamisel ja seda ei soovitata kasutada töötavates projektides.

Tundide kestev Cloudflare katkestus osutus vigase veakäsitluse tulemuseks.
Tundide kestev Cloudflare katkestus osutus vigase veakäsitluse tulemuseks.


Allikas: opennet.ru
Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster