Geen tijd om stil te staan. En geen ruimte voor oponthoud in uw operatie. Als logistiek dienstverlener werkt u dagelijks op het toppen van uw kunnen om uw klanten te bedienen. Een efficiënt proces is daarbij een must. Niet voor niets werkt u met 3PL Dynamics om uw logistieke processen te stroomlijnen. En met succes. Maar een foutmelding tijdens een van uw processen kan roet in het eten gooien en uw proces onverhoopt vertragen. Soms kunt u hier niets aan doen. Dan kon u de foutmelding niet voorkomen. Of zit er helemaal geen fout in uw software. Maar ook dan heeft een foutmelding direct impact op uw operatie. Zo ook de foutmelding ‘een record is vergrendeld voor gebruik in een andere sessie’. Wanneer u deze foutmelding krijgt, zijn database- of datavergrendelingen de boosdoener. Loopt u in uw processen tegen deze datavergrendelingen aan? En wilt u zo snel mogelijk weer door met uw activiteiten? In deze blog leggen we uit wat deze ‘locks’ inhouden én hoe u in no-time weer up-and-running bent.

Wat zijn datavergrendelingen?

Hoewel een foutmelding uw proces vertraagt, is er bij een datavergrendeling geen reden tot paniek. Eigenlijk is dit juist een safe guard om fouten in uw data te voorkomen. Een tijdelijke database lock. Wanneer u zelf te maken heeft gehad met deze vergrendelingen, komt onderstaande melding u waarschijnlijk bekend voor. Deze melding wordt getriggerd wanneer u een record aanroept die uw systeem niet aan kan roepen, omdat een andere activiteit bezig is met een verandering op dit record. De record in de tabel wordt dan vergrendeld. Een lock is dus slechts een soort wachtproces. Deze vergrendelt uw gegevens om corrupte data te voorkomen.

Stel u voor dat een collega een wijziging op een record in de tabel doet vanuit proces A. En proces B ook wijzigingen hierin aanbrengt. Ongetwijfeld ontstaan er dan fouten in uw gegevens, doordat er vanuit twee kanten wijzigingen worden doorgevoerd. Dat wilt u voorkomen.

Locks vanzelf weer opgelost

Een vergrendeld record wordt automatisch weer beschikbaar wanneer het proces dat deze vergrendelde gestopt is. Deze recordvergrendelingen vindt u terug in 3PL Dynamics onder ‘Databasevergrendelingen’. Hier worden alle records en tabellen weergegeven die op dat moment vergrendeld zijn. Vernieuwt u de pagina? Dan staan er elke keer weer andere records in het overzicht. Hieraan ziet u dat 3PL Dynamics steeds gegevens vergrendelt én ontgrendelt. Dat gebeurt continu. Zonder schade voor uw systeem.

Stilstaan door een langdurige vergrendeling

Helaas kan het gebeuren dat een record vergrendeld blijft. Of in ieder geval langer geblokkeerd wordt dan verwacht en u het gevoel krijgt dat uw processen stil liggen. Dat kan diverse oorzaken hebben. Zo kunnen langdurige processen data voor een langere tijd vergrendelen, waardoor u tijdelijk stilstaat. Denk bijvoorbeeld aan factuurruns. Daarnaast kan een lock veroorzaakt worden door meerdere taakwachtrijposten die dezelfde records aanroepen en tegelijkertijd draaien. Ook dan krijgt u een foutmelding. Dat zelfde geldt voor uw integratieberichten.

Locks vs. Deadlocks
Een databasevergrendeling is jammer voor u op het moment zelf. U moet wachten. Maar uiteindelijk ontgrendelt 3PL Dynamics de records automatisch weer en kunt u door met uw activiteiten. Ook bij langdurige datavergrendelingen. Bij deadlocks is dit anders. We spreken van een deadlock wanneer het systeem in een cyclus terecht komt, waarin twee verschillende processen tevergeefs wachten op ontgrendeling van de benodigde data uit elkaars proces. Als resultaat stopt één van de twee sessies. Bijvoorbeeld: proces A doet aanpassingen aan de header van het document. Proces B doet aanpassingen op basis van de uitslag regels van ditzelfde document. Proces A vergrendelt dan de uitslag regels om corrupte data te voorkomen, en proces B de header. Logisch! Maar op dat moment wachten beide processen op ontgrendeling van een deel van het document voor ze verder kunnen. In het geval van een deadlock gebeurt dat niet en staat u stil.

Na een datavergrendeling in no-time weer op weg

Via ‘Databasevergrendelingen’ kunt u vaak achterhalen welk proces de database vergrendelt. Afhankelijk van de oorzaak kunt u de langdurige vergrendeling dan oplossen. Zo kunt u op taakwachtrijposten de tijd tussen runs van de verschillende taakwachtrijposten langer zetten (1). Als de foutmelding voortkomt uit uw berichtenverkeer, kunt u het ‘aantal probeer pogingen’ omhoog zetten. Zo vergroot u de kans dat een record ontgrendeld is bij de volgende poging (2). Zit de lock ergens anders? Dan kunt u sessies stoppen via scansessies (3) of het sessieoverzicht (4). Het kan bijvoorbeeld gebeuren dat een sessie van uw collega het probleem veroorzaakt, deze collega zijn browser heeft gesloten en de sessie op de achtergrond alsnog doorloopt. Hoe u deze vier oplossingen toepast in 3PL Dynamics ziet u in onderstaande video.

Hulp nodig bij het oplossen van foutmeldingen

Heeft u als laatste poging de sessie verwijderd? Maar blijft de lock actief? Dan kan een systeemherstart nodig zijn. Dit kan in uiterste gevallen het probleem voor u oplossen. Als het niet lukt om te achterhalen waar deze recordvergrendeling vandaan komt, en komt dit regelmatig voor, dan is een performance analyse op zijn plaats. Mogelijk zit er dan een deadlock in uw systeem. In dat geval gaan we samen de processen na om maatregelen te nemen tegen deze deadlocks. Zo voorkomen we dat uw proces in de toekomst stil komt te staan.