Nomor penghitung kini diperiksa terhadap kedua tabel
Tentang konten dan peninjauannya
Dalam artikel ini
Setiap penghitung di sini memiliki nomor. Nomor itu muncul di kode sematan, di alamat statistik, dan di berapa pun halaman tempat pemilik memasangnya. Nomor dibagikan dengan memilih angka acak antara 100 dan 9.999.999.999, lalu memeriksa apakah angka itu sudah dipakai.
Pemeriksaannya hanya pada satu tabel.
Tabel yang lain
Penghitung yang sudah lama tidak mencatat tayangan dipindahkan ke tabel arsip. Itu pemeliharaan biasa — tabel kerja tetap kecil dan kueri terhadapnya tetap cepat. Pada 24 Agustus 2026 arsip itu berisi 212.771 nomor, dan tidak satu pun ada di tabel yang diperiksa oleh generator.
Jadi setiap nomor itu bebas dibagikan lagi.
Dibandingkan dengan sepuluh miliar kemungkinan nomor, itu berarti peluang tabrakan sekitar 0,002 persen: kira-kira satu dari 47.000 penghitung baru akan menerima nomor yang dulu milik orang lain. Memang jarang, tetapi bukan hal yang abstrak. Penghitung yang diarsipkan diarsipkan justru karena halamannya menjadi sepi — tetapi halaman yang sepi belum tentu halaman yang sudah dihapus. Jika sematan lama masih ada di suatu sidebar yang terlupakan dan halaman itu mendapat pengunjung, tayangan itu masuk ke statistik orang lain, pada penghitung yang dibuat bertahun-tahun kemudian.
Apakah hal itu pernah terjadi tidak dapat dipastikan dari data: tidak ada yang membedakan tayangan yang datang dengan cara ini dari tayangan lainnya. Yang dapat dipastikan adalah bahwa hal itu tidak bisa terjadi lagi.
Dua perubahan
Generator kini memeriksa kedua tabel. Dan penghapusan penghitung — yang sejak hari yang sama dapat dilakukan pemilik sendiri — meninggalkan penanda nisan: sebuah baris yang hanya berisi nomor itu, sehingga nomor tersebut tidak akan pernah dibagikan lagi. Penghapusan menghilangkan data dari dua puluh tabel dalam satu transaksi dan tidak menyimpan salinan, dan memang itulah inti dari penghapusan; nomor adalah satu-satunya hal yang harus tetap hangus.
Mengapa hal ini tidak disadari
Generator itu ditulis ketika hanya ada satu tabel. Arsip datang belakangan, dengan alasan lain, untuk memecahkan masalah lain, dan tidak ada yang menghubungkan kedua pemikiran itu. Kedua bagian itu masing-masing benar.
Begitulah bentuk sebagian besar masalah semacam ini. Bukan kesalahan yang dibuat seseorang di satu tempat, melainkan akibat yang tidak dapat dilihat siapa pun dari posisinya. Satu-satunya pertahanan adalah sengaja mencarinya, dan pertanyaan yang menemukan masalah ini cukup biasa: sebelum membangun fitur penghapusan, di mana lagi nomor penghitung tersimpan?