Il servizio proxy di CloudFlare ha dei limiti per prevenire un consumo eccessivo di memoria, il sistema di gestione dei bot ha “un limite al numero di funzionalità di apprendimento automatico che possono essere utilizzate in fase di runtime”. Questo limite è 200, molto più alto del numero effettivo di funzionalità utilizzate.
“Quando il file danneggiato con più di 200 attributi è stato propagato al nostro server, questo limite è stato raggiunto, provocando il panico nel sistema” e causando errori di output, ha scritto Prince.
La peggiore interruzione di Cloudflare dal 2019
Il numero di codici di stato HTTP di errore 5xx serviti dalla rete CloudFlare è solitamente “troppo basso” ma aumenta man mano che il file danneggiato si diffonde nella rete. “Il picco e le successive fluttuazioni mostrano un errore del nostro sistema dovuto al caricamento del file di attributi sbagliato”, ha scritto Prince. “La cosa notevole è che il nostro sistema si riprendeva per un certo periodo di tempo. Questo era un comportamento molto insolito per un errore interno.”
Questo comportamento insolito è stato spiegato dal fatto che “il file è stato generato ogni cinque minuti da una query in esecuzione sul cluster del database Clickhouse, che viene aggiornato gradualmente per migliorare la gestione dei permessi”, ha scritto Prince. “I dati errati venivano generati solo se la query veniva eseguita su una parte del cluster che era stata aggiornata. Di conseguenza, era probabile che un file di configurazione buono o cattivo venisse generato ogni cinque minuti e si propagasse rapidamente attraverso la rete.”
Inizialmente la fluttuazione “ci ha portato a credere che potesse essere dovuta a un attacco. Alla fine, ogni nodo ClickHouse creava file di configurazione errati e la fluttuazione era stabile durante il failover”, ha scritto.
Prince ha affermato che CloudFlare “ha risolto il problema interrompendo la generazione e la propagazione del file di funzionalità non valido e inserendo manualmente un file noto come valido nella coda di distribuzione dei file di funzionalità” e quindi “forzando il riavvio del nostro proxy originale”. Il team lavora quindi al “riavvio dei servizi rimanenti entrati in uno stato non valido” finché il volume del codice di errore 5xx non torna alla normalità dopo giorni.
Prince ha detto che l’interruzione è stata la peggiore di Cloudflare Dall’anno 2019 E l’azienda sta adottando misure per proteggersi da fallimenti simili in futuro. CloudFlare “funzionerà su una rigorosa ingestione dei file di configurazione generati da CloudFlare nello stesso modo in cui facciamo per l’input generato dall’utente; abilitando più kill switch globali per le funzionalità; eliminando la possibilità di segnalare core dump o altri errori per consumare risorse di sistema; (e) revisione di tutte le modalità di errore per tutti i problemi della modalità Prince. “
Anche se Prince non può promettere che Cloudflare non subirà un’altra interruzione della stessa portata, ha affermato che le interruzioni precedenti “ci hanno sempre portato a costruire sistemi nuovi e più resilienti”.














