Numery, które mogły wrócić
Każdy licznik ma tutaj numer. Pojawia się w kodzie osadzenia, w adresie statystyk i na tylu stronach, na ilu umieścił go właściciel. Numery przydziela się, losując jeden z przedziału od 100 do 9 999 999 999 i sprawdzając, czy nie jest już zajęty.
Sprawdzając jedną tabelę.
Ta druga tabela
Liczniki, które długo nie zanotowały trafienia, przenosi się do tabeli archiwum. To zwykłe porządki — utrzymują tabelę roboczą małą, a zapytania do niej szybkie. 24 sierpnia 2026 archiwum trzymało 212 771 numerów i ani jeden z nich nie był w tabeli, którą sprawdza generator.
Każdy z nich mógł więc zostać przydzielony ponownie.
Wobec dziesięciu miliardów możliwych numerów daje to około dwóch procent kolizji: mniej więcej jeden na pięćdziesiąt nowych liczników dostałby numer, który należał do kogoś innego. A to nie są kolizje abstrakcyjne. Licznik trafia do archiwum właśnie dlatego, że jego strona ucichła — ale cicha strona niekoniecznie jest stroną usuniętą. Jeśli stare osadzenie wciąż tkwi w jakimś zapomnianym pasku bocznym i ta strona dostanie odwiedzającego, trafienie ląduje w cudzych statystykach, na liczniku utworzonym lata później.
Nie mamy jak stwierdzić, czy to już się zdarzyło. Nic nie odróżnia trafienia, które przyszło tą drogą, od każdego innego.
Dwie zmiany
Generator sprawdza teraz obie tabele. A usunięcie licznika — które od tego samego dnia właściciel może wykonać sam — zostawia po sobie nagrobek: wiersz złożony z samego numeru, żeby nigdy nie mógł zostać wydany ponownie. Usunięcie kasuje w jednej transakcji dane z dwudziestu tabel i nie zachowuje kopii, bo o to właśnie w usunięciu chodzi; numer jest jedyną rzeczą, która musi pozostać spalona.
Dlaczego przeszło niezauważone
Generator napisano, gdy tabela była jedna. Archiwum przyszło później, z innego powodu, rozwiązując inny problem, i nic nie połączyło tych dwóch myśli. Oba elementy były poprawne same w sobie.
Taki jest kształt większości z nich. Nie błąd, który ktoś popełnił w jednym miejscu, lecz konsekwencja, na którą nikt nie stał w miejscu pozwalającym ją zobaczyć. Jedyną obroną jest szukać celowo, a pytanie, które znalazło to konkretnie, było dość zwyczajne: zanim zbudujemy usuwanie — gdzie jeszcze mieszka numer licznika?