Microsoft telah menyalahkan “kesalahan operator” untuk pemadaman multi-jam cloud SQL Server di Eropa minggu lalu.
“Antara pukul 03.47 UTC dan 13.30 UTC pada 21 Juli 2022, pelanggan yang menggunakan Database SQL dan Gudang Data SQL di Eropa Barat mungkin mengalami masalah dalam mengakses layanan,” dikatakan Microsoft.
Masalahnya parah bagi pelanggan yang terpengaruh. Mencoba membuat koneksi baru ke database di kawasan Eropa Barat mengakibatkan kesalahan dan waktu habis. Meskipun koneksi yang ada baik-baik saja, jika ditutup, upaya untuk membangunnya kembali menghadapi masalah yang sama.
Dan, tentu saja, ketika Basis Data SQL Microsoft jatuh sakit, begitu pula banyak layanan yang bergantung padanya, termasuk Layanan Aplikasi, Otomasi, Pencadangan, dan sebagainya.
Butuh waktu hampir tiga jam untuk mencapai pemulihan parsial (pada 06:12 UTC) dan perusahaan mengatakan masalah tersebut diselesaikan pada 13:30 UTC, meskipun tidak menyatakan mitigasi penuh hingga 18:45 UTC (“Tidak ada kegagalan yang terjadi setelah 13:30 UTC secara langsung sebagai akibat dari insiden ini,” kata Microsoft.)
Jadi apa yang terjadi? A PICNIC (Problem In Chair Not In Computer) oleh suara-suara – “kesalahan operator menyebabkan tindakan yang salah dilakukan dalam urutan yang dekat pada keempat cache metadata yang bertahan,” jelas Microsoft.
Sambungan ke layanan Database Azure SQL ditangani oleh kluster gateway regional (Eropa Barat memiliki dua) dan ada beberapa cache metadata tetap yang digunakan untuk perutean koneksi (sekali lagi, Eropa Barat memiliki dua per gateway.)
“Kesalahan operator” itu berarti cache tidak tersedia untuk gateway. Proses Gateway di wilayah Eropa Barat tidak dapat mengakses metadata perutean koneksi, dan insiden tersebut dimulai.
Setelah kesalahan diidentifikasi, para insinyur dihadapkan pada keputusan untuk menghidupkan kembali cache atau membangun kembali yang sama sekali baru. Dengan pilihan yang terakhir kemungkinan akan memakan waktu lebih lama daripada yang pertama, para insinyur mulai bekerja keras untuk memperbaiki apa yang sudah ada.
Pada pukul 06:18 UTC, tingkat keberhasilan mencapai sekitar 60 persen, tetapi masalah tetap ada. “Pertama,” kata Microsoft, “masalah waktu dalam menerapkan mitigasi menyebabkan gateway di salah satu dari dua kluster meng-cache rangkaian koneksi cache yang salah. Kedua, cache metadata tidak menerima pembaruan untuk perubahan yang terjadi saat cache tidak tersedia.”
Isyarat restart hati-hati dari semua node gateway di cluster dan skrip untuk menangani entri cache basi (di mana pembaruan telah dilewatkan.)
Hilang dari penjelasan rinci Microsoft untuk pemadaman tersebut adalah nasib operator malang yang Siapa, Saya? momen menyebabkan kekacauan seperti itu bagi pelanggan di kawasan Eropa Barat. Tidak dijelaskan bagaimana satu orang bisa mendatangkan malapetaka seperti itu. Mungkin PICNIC itu memiliki sisi proses yang rapuh.
Sebaliknya, perusahaan menutup pintu kandang lama setelah kudanya melesat dengan “secara terprogram memblokir eksekusi lebih lanjut dari tindakan yang menyebabkan cache metadata menjadi tidak tersedia.”
Itu juga telah memasang pagar pembatas yang lebih kuat “untuk mencegah kesalahan manusia seperti yang memicu dimulainya insiden ini.”
Caching dalam memori dari metadata routing koneksi juga akan diimplementasikan dan perusahaan harus memperhatikan ketahanan layanan dengan saksama. ®