Kännyhälytyksiä tuplana

Ylläpidon tiedoituksia ja höpötystä sivustoa koskien
Avatar
haksu10
Viestit: 3072
Liittynyt: Ke 20.12.2006 19:22
Paikkakunta: Karkku (Sastamala)
Viesti:

Kännyhälytyksiä tuplana

Viesti Kirjoittaja haksu10 » Ti 17.08.2010 13:29

Käyttäjältä saapuneessa viestissä kerrottiin että kätkön GC2D6AW hälytys oli saapunut kahteen kertaan.

Tutkiessani asiaa selvisi että hälytys tosiaan oli lähtenyt ja kirjattu kahteen kertaan. Vastaavia tuplatapahtumia löytyi keväästä lähtien muutaman muunkin kätkön osalta.

Vaikka aiemmista ongelmista ei kännyhälyn kuvauksen mukaisesti "Mahdollisista ongelmista käyttäjän tulee reklamoida välittömästi ongelman havaittuaan sivuston joka sivun alalaidasta löytyvän Yhteydenotot -osuuden kautta." olekaan ilmoiteltu niin kaikki tuplahälytykset on nyt hyvitetty käyttäjille ja pahoittelen tapahtunutta!

Pyydän myös ilmoittamaan pikaisesti mikäli ongelmia kännyhälyssä on, nytkin tämä vika ehti olemaan kuukausikaupalla ja se merkitsee aina hankalampaa hyvitystietojen keräystä ja suurempaa kulua hyvityksistä.

Vian tekninen kuvaus

Hälytysjärjestelmäprosessi käynnistyy minuutin välein. Prosessi pyytää ensin mahdolliset uudet kätköt tietokannasta ja tämän jälkeen merkitsee kantaan saadut kätköt käsittelyn alla oleviksi ja näin estää kätköjen uudelleen käsittelyn mikäli sama prosessi ehtii käynnistyä uudelleen eli minuutin aikana ehditä hoitamaan tietojen keräystä gc.comin apista ja hälytysten lähetystä.

Teknisesti em. kuviossa ei pitäisi olla ongelmia eikä tuplahälytyksiä pitäisi päästä syntymään. Koska näin kuitenkin on tapahtunut niin oletettava tapahtumakuvio on seuraava:

Tietokantapalvelimessa on ollut jotain ongelmaa ja ennen kuin prosessi on käynnistymisen jälkeen saanut vastauksena uudet kätköt sekä ehtinyt merkitä ne käsittelyn alla olevaksi, onkin prosessi ehtinyt käynnistymään uudelleen. Tällöin sen uusien kätköjen pyyntö on saanut vastauksena samat uudet kätköt kuin edellinen prosessi ja näin kaksi yhtäläistä prosessia on ollut käynnissä rinnakkain. Prosessit ovatkin nätisti menneet käsi kädessä; lokiin on kirjautunut molempien prosessien samat vaihteet nätisti peräkkäin :P

Uusien kätköjen valvonta- ja hälytysprosessissa ei voi käyttää normaalia "ei suoriteta jos on jo käynnissä" -estoa koska esim. gc.comin apin ongelmat voivat aiheuttaa prosessin ylipitkän suorituksen. Tällöin uusien kätköjen käsittely jäisi jumiin eikä hälytyksiäkään lähtisi.

Niinpä em. ongelmatilanne on nyt pyritty estämään lukkotiedostolla. Prosessi tarkastaa käynnistyessään lukkotiedoston olemassaolon ja mikäli tiedosto löytyy, sen viimeisemmän käsittelyhetken. Jos tiedoston luontiaika on liian tuore prosessi päättyy, muutoin prosessi päivittää lukkotiedoston käsittelytiedon ja jatkaa normaalisti.

Tämän pitäisi nyt varmistaa ettei tuplahälytyksiä enää lähde. Toki tästäkin löytyy teoreettinen mahdollisuus ongelmaan lukkotiedoston suhteen uskomattoman sopivasti ajoittuvissa prosesseissa mutta ehkäpä sitä tilannetta ei tapahdu :P
7.7.2018 jälkeen kirjoittamani viestit olen kirjoittanut yksityishenkilönä ja kätköilijänä "haksu10", en sivustoon liittyvänä taikka sen ylläpitäjänä.
Kyseistä päivämäärää edeltävät viestit voivat olla sivustoon liittyviä ylläpidollisiakin viestejä.

Palaa sivulle “Ylläpidon tiedotteet”