Loenduri numbreid kontrollitakse nüüd mõlema tabeli vastu
Sisust ja selle ülevaatamisest
Selles artiklis
Igal siinsel loenduril on number. See esineb manustamiskoodis, statistika aadressis ja nii paljudel lehtedel, kui omanik selle pani. Numbreid jagatakse nii, et valitakse juhuslik number vahemikus 100 kuni 9 999 999 999 ja kontrollitakse, kas see on juba võetud.
Kontrolliti ühte tabelit.
Teine tabel
Loendurid, mis pole pikka aega ühtegi vaatamist registreerinud, viiakse arhiivitabelisse. See on tavaline korrastustöö — see hoiab tööpõhja tabeli väikese ja päringud selle vastu kiired. 24. augustil 2026 oli arhiivis 212 771 numbrit ja mitte ükski neist ei olnud tabelis, mida generaator kontrollib.
Seega oli igaüks neist vaba uuesti välja andmiseks.
Kümne miljardi võimaliku numbri vastu on see kokkupõrke tõenäosus umbes 0,002 protsenti: ligikaudu üks 47 000 uuest loendurist saaks numbri, mis oli kuulunud kellelegi teisele. Haruldane, aga mitte abstraktne. Arhiveeritud loendur on arhiveeritud just seetõttu, et selle leht vaikseks jäi — kuid vaikne leht ei ole tingimata kustutatud leht. Kui vana manus on endiselt kusagil unustatud külgribal ja see leht saab külastaja, satub vaatamine võõra statistikasse, aastaid hiljem loodud loendurile.
Kas seda kunagi juhtus, ei saa andmetest kindlaks teha: miski ei eralda sel viisil saabunud vaatamist ühestki teisest. Kindlaks saab teha, et see ei saa enam juhtuda.
Kaks muudatust
Generaator kontrollib nüüd mõlemat tabelit. Ja loenduri kustutamine — mida omanik saab samast päevast alates ise teha — jätab maha hauakivi: rea, mis koosneb ainult numbrist, et seda ei saaks kunagi uuesti välja anda. Kustutamine eemaldab kahekümne tabeli andmed ühe tehinguga ega jäta koopiat, mis ongi kustutamise mõte; number on ainus asi, mis peab jääma põletatuks.
Miks see märkamata jäi
Generaator kirjutati siis, kui tabel oli üks. Arhiiv tuli hiljem, teisel põhjusel, teist probleemi lahendades, ja miski ei ühendanud neid kahte mõtet. Mõlemad osad olid iseenesest õiged.
See on enamiku selliste vigade kuju. Mitte viga, mille keegi ühes kohas tegi, vaid tagajärg, mida keegi ei olnud positsioonil nägema. Ainus kaitse on tahtlikult otsima minna ja küsimus, mis selle leidis, oli tavaline: enne kustutamise ehitamist, kus veel loenduri number elab?