Strona domowa GDR!a Tor Hidden Service

V 3.8



Przygody z serwisem

(22. 07. 2007)

Mam system stojący na całkiem rozbudowanej bazie danych. Ostatnio baza była przenoszona na inny serwer i pojawiły się błędy. Błąd jak błąd - przy wykonywaniu zapytania składającego się z trzech SELECTów połączonych przez UNION pojawiło się:

Duplicate entry '12694' for key 'group_key'. Kod bledu: 1582
. Nie brzmi nadzwyczajnie - wszystko wskazywało na to, że któraś z krotek zdublowała się podczas importu.

Dziwną rzeczą było jedynie to, że nigdzie nie był zadeklarowany klucz o nazwie 'group_key', a żadna krotka zawierająca '12694' zdublowana nie była. Mało tego, wszystkie SELECTy składowe wykonywały się całkowicie poprawnie. Gdzie więc tkwił błąd?

Okazało się że na nowo postawionym serwerze pod /tmp podmontowana była szesnastomegabajtowa partycja. Tabele tymczasowe (wyniki składowych SELECTów) ulegały uszkodzeniu, MySQL nie komunikował błędu zapisu (!) i powstawał błąd. Jeszcze później wyszło, że uszkodzeniu ulegał dokładnie plik indeksu - stąd błąd klucza. Zastanawiam się nad zgłoszeniem tego do autorów jako błędu serwera baz danych.

Jako bonus - kawałek kodu PHP pamiętający pierwszego autora serwisu, a wyglądający jak wyjęty żywcem z The Daily WTF!.

  function setPartner()
{
$this->on = true;
$this->on = false;
}

W pliku, w którym znalazłem ten kwiatek, wszystkie odwołania do tej zmiennej były realizowane w ten sposób. Autor prawdopodobnie chciał ustawić zmienną w stan superpozycji.

(komentarzy: 0) Skomentuj
Wyswietlen: 2602, komentarzy: 0 Feed z komentarzami
Sblam! Antyspam
URL encoded in QR Code Statystyki:

Email
Comments