» »

Prestopna sekunda strežnikom povzročila nemalo težav

Prestopna sekunda strežnikom povzročila nemalo težav

vir: Google
CNet - V noči na nedeljo smo ob 2.00 uri zjutraj po našem času obeležili prestopno sekundo, ki se v civilni čas po potrebi konec vsakega polletja vrine, da se zagotovi sovpad Sončevega zenita in poldneva po lokalnem času. Razlika je na prvi pogled minimalna, a bi se je v 100 letih nabralo že za kakšno minuto. Povzroča pa ta prestopna sekunda mnogo težav računalniškim sistemom, ki nanjo niso navajeni. Tudi letos je nekaj sistemov in spletnih strani ob polnoči po greenwiškem času za kratek čas obstalo.

Problem je že v Linuxovem jedru do verzije 2.6.29, ki prestopnih sekund ne razume. Čeprav imamo sedaj že tretjo večjo revizijo jedra (3.0.x), mnogo sistemov še vedno teče na starejših verzijah. Še več problemov je povzročila podatkovna baza Apache Cassandra, ki je del Jave in takisto ne razume prestopnih sekund. V Mozilli so težave pripisali javanski platformi Hadoop in ElasticSearch.

Na Cnetu so zbrali nekaj odzivov in čeprav vedno jasno, ali so incidenti povezani s prestopno sekundo, je vsem skupno, da so se zgodili ob polnoči po greenwiškem času, ko se je le-ta vrinila. Prizadete so bile strani StumbleUpon, Yelp, FourSquare in LinkedIn, Gawker ki so bile za nekaj trenutkov nedostopne, bojda zaradi težav z Linuxovimi strežniki. Uradni komentar so posredovali iz Gawkerja, kjer so potrdili, da se je strežnik ob polnoči prenehal odzivati na HTTP-zahtevke, edini način za obuditev pa je bil ponovni zagon.

Zanimivo je, da prestopne sekunde niso nov pojav, saj so z nami že od leta 1972 in smo jih preživeli že 25. Pomembne so postale šele v zadnjem času, ko čas merimo vedno natančneje in so od sekundnih zakasnitev odvisni veliki računalniški sistemi. Pozornejši bralci se bodo spomnili, da smo lani pisali o Googlovi rešitvi tega problema. Ugotovili so, da še ni zadovoljivo rešen, zato so si izmislili obvoz, in sicer so prestopno sekundo razvlekli čez cel dan s prestopnimi milisekundami, tako da strežniki niso opazili ničesar. Robustno rešitev problema, ki se bo mogoče odpravil kar sam, saj so vedno glasnejši pozivi k odstranitvi prestopnih sekund in efektivnem odklopu civilnega časa od slehernega astronomskega fenomena, pa še čakamo.

20 komentarjev

RockyS ::

Zakaj(kako, na podlagi česa) pride do tega, da ena sekunda z**** cel sistem?

BlaY0 ::

Če imaš klaster, ki ne pozna tega fenomena, mu s tem zhebeš pamet. To se lahko zgodi na nivoju sistema, lahko pa tudi samo na nivoju aplikacije.

jan_g ::

Problem s futexi so javili tudi v jedrih 3.4 in 3.5! Kar je ironično, je to, da so ravno sistemi z novejšimi jedri od 2.6 imeli več problemov, kot starejša jedra (neke stare RHEL instance so bile povsem imune). Ironično zato, ker so pred to prestopno sekundo po raznih portalih sporočali, da je potrebno nadgraditi stara jedra.

Zgodovina sprememb…

  • spremenil: jan_g ()

jype ::

Novica> Še več problemov je povzročila podatkovna baza Apache Cassandra

Laž.

http://www.datastax.com/dev/blog/linux-...

Novica> ki je del Jave

Pa še popolna neumnost za nameček.

Zgodovina sprememb…

  • spremenilo: jype ()

CyberPunk ::

BlaY0 je izjavil:

Če imaš klaster, ki ne pozna tega fenomena, mu s tem zhebeš pamet. To se lahko zgodi na nivoju sistema, lahko pa tudi samo na nivoju aplikacije.


Ja, ampak kako oz. iz katerega "naslova"? Saj ura pac tece mirno naprej in se le vsake toliko sinhronizira z bliznjim ntp-jem. Ali pa to ni tako?

BlaY0 ::

Jah določene aplikacije se lahko prek nizko latentnega omrežja tipajo bistveno hitreje. Kot že omenjeno , ti futex_wait povzroči da thread stoji.

Zgodovina sprememb…

  • spremenilo: BlaY0 ()

jan_g ::

Odvisno od več dejavnikov. Kot rečeno, starost jedra, potem koliko so aplikacije večnitne (javanske ponavadi kar precej telovadijo z nitmi), pa tudi recimo kateri ntpd je nameščen. Default je delal težave, openntpd pa ne, ker se je delal da prestopna sekunda ne obstaja in je zatem preprosto nastavil uro na nov čas (kot v vseh drugih primerih, ko interna ura zaostaja).

garamond ::

RockyS je izjavil:

Zakaj(kako, na podlagi česa) pride do tega, da ena sekunda z**** cel sistem?

Če je ura digitalna, ni problema dodati prestopne sekunde -- namesto "59" se pokaže "60", kot je lepo prikazano na sliki v novici.

Nekateri sistemi pa imajo očitno še analogne ure, kjer se pač ne da kar tako dodati prestopne sekunde (številke so narisane) in pač pomaga le reset sistema. Priznam pa, da ne vem točno, kako je koda odvisna od teh ur.

Po drugi strani pa ima sistem z digitalno uro tudi omejitev, da lahko dodamo največ 40 prestopnih sekund. Po 40. sekundi namreč zmanjka prostora za prikaz (23:59:99).

cen1 ::

A to ma dejansko kernel že noter in bi moral kao sam popraviti uro ali je prišlo do težav pri sinhronizaciji s časovnimi strežniki??

jan_g ::

cen1 je izjavil:

A to ma dejansko kernel že noter in bi moral kao sam popraviti uro ali je prišlo do težav pri sinhronizaciji s časovnimi strežniki??


Ntpd sproži bug v kernelu. Ni povezano s sinhronizacijo s časovnimi strežniki, je pa res, da ntpd skrbi tudi za to. Malo bolj obširna analiza.

amigo_no1 ::

Ne bo, do takrat bodo že spacali linux jedro da bo bulletproof :)).

Daedalus ::

Default je delal težave, openntpd pa ne, ker se je delal da prestopna sekunda ne obstaja in je zatem preprosto nastavil uro na nov čas (kot v vseh drugih primerih, ko interna ura zaostaja).


Težavo sem mel na edinem serverju, ki je uporabljal ntpd namesto openntpd... Javi se je "malo" zmešalo. Še dobro, da je "samo" dev server...
Man is condemned to be free; because once thrown into the world,
he is responsible for everything he does.
[J.P.Sartre]

jype ::

Daedalus> Še dobro, da je "samo" dev server...

Slabo to skrbiš za mašine. Pr nas je development super delal, samo produkciji se je mešal :)

Daedalus ::

:)) Sem slišal, da ste nekaj en Solr omenjali ja>:D
Man is condemned to be free; because once thrown into the world,
he is responsible for everything he does.
[J.P.Sartre]

Isotropic ::

zakaj se jim pa zmesa zaradi te sekunde, lahko kdo razlozi? se to zmesa samo ntp serverjem al tut http recimo?

Zgodovina sprememb…

amigo_no1 ::

jype je izjavil:

Daedalus> Še dobro, da je "samo" dev server...

Slabo to skrbiš za mašine. Pr nas je development super delal, samo produkciji se je mešal :)

Vi tudi niste kaj boljši :).

Zgodovina sprememb…

jype ::

Odlični smo. Imeli smo manjši downtime kot Amazon AWS!

amigo_no1 ::

samo produkciji se je mešal :

Zaradi dotične napake ali česa drugega ?

jype ::

Ja, zaradi "leap second livelocka".

SasoS ::

Hmm...en RHEL6 mi je kreširal Sat Jun 30 22:14. Ker je mašina imela kak mesec nazaj probleme z RAMom nisem temu posvečal preveč pozornosti, čeprav me malo bode ker je po zamenjavi RAMa delala stabilno.
A so v 6.3 to že kaj popravili?


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Danes ponoči prestopna sekunda (strani: 1 2 )

Oddelek: Novice / Znanost in tehnologija
718603 (5420) BlueRunner
»

Prestopna sekunda strežnikom povzročila nemalo težav

Oddelek: Novice / Znanost in tehnologija
203934 (2279) SasoS
»

Kako Google upošteva prestopne sekunde na svojih strežnikih

Oddelek: Novice / Omrežja / internet
93618 (1920) BlueRunner
»

Programerji, koliko ur "mislite" da ima dan?

Oddelek: Programiranje
192598 (1604) mr Vragec

Več podobnih tem