Title: ADS - Geen records verwijderen in SYFS Post by: Heart Informatisering B.V. on May 09, 2016, 09:27:25 am Als we in Profit records verwijderen uit een tabel, worden deze records hooguit gemarkeerd als zijnde 'verwijderd'; de records worden nog niet direkt verwijderd. Dit gebeurt pas tijdens het reorganiseren van de tabel, in kombinatie met het uitvoeren van een PACK (merk op dat de tabel ook gereorganiseerd kan worden zonder dat de als verwijderd gemarkeerde records daadwerkelijk worden verwijderd). ADS staat ons in principe toe een record te verwijderen, maar... ADS zal automatisch verwijderde records hergebruiken. Op zich heel handig om een database kleiner te houden, maar niet handig bij de gratie dat een nieuwer record een ouder recordnummer kan krijgen. En, bij de opzet van de replikatie gaat dit helemaal fout, zoals vandaag gekonstateerd is in tabel SYFS. De truc die wij uitvoeren om een record in ADS niet te verwijderen werkte daar niet, waardoor ADS het record wel ging hergebruiken.SYFS betreft een tabel waarmee we foutsituaties pogen te achterhalen. Als we een grote toepassing opstarten (bijv. een Periode Afsluiting) dan wordt er een record aangemaakt in SYFS, welke pas wordt verwijderd als het proces is afgerond. Konstateren we dat er een record bestaat in SYFS, dan is of iemand op dat moment bezig een Periode af te sluiten, of de vorige Periode Afsluiting is wel begonnen, maar nooit afgemaakt.
Omdat ADS de records in deze tabel ging hergebruiken ging het transaktie mechanisme fout. Deze gaf de Replicatie Processor de opdracht het record nogmaals te bezoeken, maar inmiddels bleek dat dat record niet meer bestond; het recordnummer, maar ook de teller van het aantal records in de database was inmiddels teruggezet (door ADS) door het automatische hergebruiken van verwijderde records. Dit probleem uitte zich in het oneindig lang blijven hangen van de Replicatie Processor. M.i.v. de eerst volgende Upgrade is dit probleem verholpen. Tot die tijd is het advies om de tabel SYFS niet transaktioneel te maken.
|