Title: RETRY bij Lockmelding steeds langer laten wachten Post by: Heart Informatisering B.V. on July 02, 2014, 12:48:55 pm Lockmeldingen kunnen om diverse redenen ontstaan. In z'n algemeenheid kunnen we zeggen dat "De gevraagde gegevens zijn geallokeerd door een andere Gebruiker", en dat is dan ook wat een knipperende melding boven in het scherm weergeeft.
De meest eenvoudigste vorm is dat een Gebruiker een bepaald Artikel aan het wijzigen is, een andere Gebruiker niet tegelijkertijd datzelfde Artikel mag wijzigen (immers, na F1___ worden de gegevens opgeslagen, en degene die het laatst op verwerken drukt, diens gegevens zouden bewaard blijven). In een omgeving waarin door veel gebruikers veel transakties in een korte periode worden gemaakt, kan er ook een lock melding ontstaan, zelfs al bij het commando "voeg een nieuw record toe" (omdat dit ook in de header van de file bijgewerkt moet worden). Zodra een record niet gelockd kan worden, wordt de melding "De gevraagde gegevens zijn geallokeerd door een andere Gebruiker" weergegeven op het scherm. Iedere keer dat deze melding staat te knipperen, heeft het systeem onder water een nieuwe poging gedaan om het record opnieuw te locken. Met name voor de situatie dat het lockprobleem ontstaat bij het toevoegen van een nieuw record, zal dit "opnieuw proberen" de server nog meer belasten. Sterker nog, als een dergelijke nieuwe poging 3x per seconde plaatsvindt, en ook andere gebruikers dit 3x per seconde opnieuw proberen, zal vanzelf de situatie ontstaan dat e.e.a. alleen nog maar drukker wordt. Nb: Of dit ook een oorzaak kan zijn voor een scrollende melding 'Record is not available' is nog maar de vraag, maar in theorie zou het kunnen. M.i.v. deze Releasenote zal een Lockmelding na de eerste keer even snel verdwijnen (om een nieuwe poging te doen) dan voorheen. Echter, iedere volgende keer zal de melding steeds 0,2 seconde langer blijven wachten tot een nieuwe lockpoging, om daarmee de server meer lucht te geven de data te verwerken. Veiligheidshalve is er een maximum van 5 seconden ingebouwd, opdat we nooit langer hoeven te wachten. Korter kan overigens altijd, immers zodra we een willekeurige toets aanraken, zal de nieuwe poging direkt worden uitgevoerd. NB: Merk op dat deze aanpassing geen voordeel oplevert indien de ene gebruiker zit te wachten op een Artikel welke door een andere gebruiker in gebruik is. In dit geval zal ze gewoon moeten wachten tot de andere gebruiker klaar is. Wel geldt dat ook in deze situatie (die op ieder moment afgebroken kan worden) we dit niet opnieuw blijven proberen te doen met 3 pogingen per seconde.
|