Domino 9 und frühere Versionen > ND6: Entwicklung
1. Replizier-Speicherungskonflikt 2. Nicht alle Dokumente wurden repliziert
sja:
Hallo Bernhard,
erst herzlichen Dank für Deine Hilfe!
Der Agent läuft je nachts nur auf einem fest gelegten Server. Die Replizierung von Agenten zwischen Repliken ist ausgeschlossen. Der Agent in diesem Zustand (die Briefe sind als Antwortdokumente in der Projekt Db kopiert) ist dieser Nacht 1. Mal gelaufen und ich habe heute früh Replizier-Speicherungskonflikte entdeck.
Dann habe ich den Agent lokal in der Test-Datenbank manuell aus dem Menü ausgeführt und bei der Replizierung mit der Test-Datenbank auf dem Server sind da die Replizier-Speicherungskonflikte entstanden.
Dann habe ich, nach deinem Rat, mit Strg-Umsch-F9 alle Ansichten in der Test-Datenbank zwangsweise neu aufbauen lassen in beide Repliken lokal und auf dem Server und der Agent noch Mal lokal ausgeführt und repliziert. Keine Replizier-Speicherungskonflikte !
Habe zweimal wiederholt -> keine Replizier-Speicherungskonflikte !
Jetzt aktualisiere ich mit Strg-Umsch-F9 die Ansichte in der Produktions-Datenbank und morgen sage Bescheid, ob beim zeitgesteuerten Agent auch ohne Replizier-Speicherungskonflikte läuft.
Was bedeutet, dass "die Ansicht in der DB einen Schlag weg hat" ?
Danke für den Tipp mit Strg-Umsch-F9, davon wusste ich nicht.
Habe in der Domino-Hilfe gekuckt über $Conflict-Item und nichts gefunden? Wo entsteht den Item? in dem Konfliktdokument od. in dem Hauptdokument? Die Konfliktdokumente habe ich schon gelöscht und kann jetzt nicht nachvollziehen, in dem Hauptdokument in der Eigenschaften->Felder habe das Feld nicht gefunden.
Danke schön
Gruesse
Sofia
koehlerbv:
Hallo Sofia,
jeder Speicher- oder Replizierkonflikt hat ein Item $Conflict - und eben nur diese Konfliktdokumente. Fehlt da sItem, dann ist das Dokument auch kein Konfliktdokument.
"Einen Schlag weghaben" ist deutscher Slang und steht für "defekt sein" oder "sich merkwürdig verhalten". Es könnte also sein, dass Dokumente in einer Ansicht als scheinbare Konfliktdokumente angezeigt werden, obwohl sie gar keine sind - die Ansicht ist dann eben defekt oder - vornehmer ausgedrückt - nach dem Agentlauf nicht wieder korrekt aufgebaut worden.
Wenn sich diese Theorie als richtig herausstellt, dann kannst Du nach Abschluss des bisherigen Agentcodes dort ja noch einen Neuaufbau der Ansicht(en) anhängen mit NotesView.Refresh.
Bin gespannt, wie das ausgeht.
Bernhard
PS: Ich meinte übrigens nicht, dass der Agent auch woanders läuft, sondern irgendein anderer Code, der sich auch an den betreffenden Dokumenten vergreift. An sich kann das ja aber nicht sein, da die Dokumente ja durch den Agent gerade erst erzeugt wurden.
sja:
Hallo Bernhard,
vielen Dank für Erklärungen!
Möchte nur dazu sagen, dass in der Datenbank habe ich die Ansicht "Konflikte", also mit der Auswahlformel: @IsAvailable($Conflict) und da waren doch die Konflikte angezeigt, und da habe ich eigentlich die Konflikte gelöscht.
Ich habe erst Verstanden, dass nicht nur ein Item "$Conflict", sondern noch ein Item "$Conflict-Item" :)
Wie ich das jetzt verstehe die Konflikte waren doch da. Also warte ich ab bis morgen und bin auch gespannt.
Übrigens in der Datenbank ist die Option "Wiederherstellbare Löschungen zulassen" ist deaktiviert.
Habe in zwischen noch mal den Agent in der Test-Datenbank auf dem Server manuell ausgeführt und mit lokaler Replik repliziert -> keine Replizier-Speicherungskonflikte entstanden!
Vielen Dank und schöne Gruesse
Sofia
sja:
:'(
es ist eine Katostrofe bei mir.
Die Replizier-Speicherungskonflikte sind da.
Item $Conflict ist auch in der Konflikt-Dokumenten.
Die Konflikt-Dokumente sind in der Konflik-Ansicht mit der Auswahl @IsAvailable($Conflict) zu sehen.
Als ich die Konflikte löschte habe und wieder die Replike repliziert habe, wurden auch selbs Dokumente verschwunden.
Es funktionierte seit langem ohne Problem wenn die Dokumente nicht von Typ "Response", sondern von Typ "Dokument" waren. Jetzt ist alles durch einander.
Gruesse
Sofia
sja:
Hallo @All,
möchte gerne dieses Thread, nach einer Verzögerung wegen tragische Umstände in meines Leben (meine Mutti war sehr krank und gestorben), weiter fortsetzen.
Der Titel habe ich geändert von “Schon wieder Replizier-Speicherungskonflikt “ zum “1. Replizier-Speicherungskonflikt 2. Nicht alle Dokumente wurden repliziert “ und jetzt erkläre warum.
Ich versuche noch mal die Situation zu schildern. Von Anfang an, versuchte ich die Situationsbeschreibung vereinfachen, jetzt versuche ich das detaillierte zu machen.
Also, wir haben:
1.) eine Notes Datenbank “Projekte“.
Die Datenbank enthält die Projekt-Dokumente mit sehr komplexe Form “projekt“.
Jedes Projekt-Dokument hat Response-Dokumente, die mit verschiedener Form erstellt wurde.
Auf drei Server gibt es je eine Replik von der Datenbank “Projekt“ und die ganze Menge Notes-Clients haben lokale Replik davon. Die Replizierung allen Doku zwischen allen Repliken funktioniert seit langem ohne Problem.
2.) eine Notes Datenbank “Zeitaufwand“.
Die Datenbank enthält nur die Aufwand-Dokumente. Die Dokumente sind aus der Db SyBase per LEI übernommen und werden regelmässig mit SyBase per LEI replizieren und zwar in einer Richtung von SyBase zur Notes Datenbank “Zeitaufwand“ und in der Notes Datenbank “Zeitaufwand“ nicht bearbeitbar.
D. h. die Aufwand-Dokumente werden nur in SyBase erstellt, geändert und gelöscht und das alles wird in der Notes Datenbank “Zeitaufwand“ ein Mal je Nacht repliziert.
Also, die Notes Datenbank “Zeitaufwand“ ist nur Hilfs- bzw. Infodatenbank und keiner arbeitet damit.
Dieser Datenbank ist in der Notes Datenbank “Projekte“ benutzt und zwar:
1. Wenn ein Projekt auf “aktiv“ gesetzt wird, werden alle Aufwand-Dokumente erste mal per Agent aus der Datenbank “Zeitaufwand“ in der Datenbank “Projekte“ kopiert.
2. Je Nacht werden alle Aufwand-Dokumente in der Datenbank “Projekte“ für jedes aktive Projekt für 6 letzten Wochen ab aktuellem Datum gelöscht und aus der Notes Datenbank “Zeitaufwand“ in der Datenbank “Projekte“ neu geladen.
Die Projekt-Dokumente und Aufwand-Dokumente identifizieren einander nur durch gleiches Feld “ProjektTitel“.
!!! Die Replizierung zwischen Repliken lief ohne Problem!!!
Aber, da die Aufwand-Dokumente in der Datenbank “Projekte“ von Typ „Dokument“ kopiert wurden, waren damit verschiedene Unbequemlichkeiten verbunden u.a. z. B.
-> Könnte ich nicht in einer Ansicht aktive Projekte und nur dazu gehörige Aufwand-Dokumente anzeigen lassen. Mit der Auswahlformel
SELECT ((Form = "projekt")&(Status = "aktiv“)) | Form=“aufwand“
Kategorisiert durch Feld “ProjektTitel“
wurden aktive Projekte und alle Aufwand-Dokumente auch für „inaktive“ Projekte angezeigt
-> Für Archivierung von abgeschlossenen Projekten (die einfach mit allen zugehörigen Response archiviert worden) sollte ich für Aufwand-Dokumente was zusätzlich programmieren
usw.
Dann habe ich entschieden die Aufwand-Dokumente als Response für Projekte zu kopieren (ohne zu wissen, dass ich ein Trojanisches Pferd zu mir eingeladen habe).
1. Problem
Nachdem, als die Aufwand-Dokumente als Response in der Datenbank “Projekte“ kopiert wurden, kamen bei der Replizierung, in diesem Thread beschriebene, Replizier-Speicherungskonflikte die mich in der Verzweifelung gesetzt haben.
Dann habe ich alles zurück gespielt. D. h.
In der Replik auf dem Haupt-Server, wo auch der Agent für Laden und Update von Aufwand-Dokumenten läuft, habe ich alle Aufwand-Dokumente gelöscht und die wurden per Agent aber nicht als Response, sondern als Document geladen. Und dann bekamm ich
2. Problem
Dann wurde meine Arbeit auf eine bestimmte Zeit (wie o.g.) unterbrochen. Wenn ich zu meiner Arbeit zurück kehrte, habe ich folgendes:
1. In der Haup-Replik fehlte welche Aufwand-Dokumente, andere waren doppelt. Aber das war nicht für alle Projekte, nur für wenige.
2. Die Anzahl von Aufwand-Dokumenten stimmte überhaupt nicht mit der Haupt-Replik.
Ich habe die Haupt-Replik in Ordnung gebracht: Dopplungen gelöscht und fehlende Dokumente neu geladen. Drei Tage kontrollierte Ergebnisse nach der Ausführung des Agentes. In Haupt-Replik war alles richtig, aber in andere Repliken wurde das bei der periodische Replizierung nicht repliziert. Es fehlte da welche Dokumente. Dann habe ich die Replizierung manuell ausgeführt und !!! in der Haupt-Replik wurden einiege Dokumente gelöscht !!!.
Die Haupt-Replik habe ich wieder repariert und für einen Test erstellte eine neue lokale Replik von Haupt-Replik. Die Anzahl von Dokumenten und die Stundenzahl stimmte überein.
Nach Ausführung des Agentes, habe ich die Dokumente in der Haupt-Replik überprüft, es war alles richtig.
Dann habe ich die Haupt-Replik mit der neue lokale Replik manuell repliziert und zwar in einer Richtung: Dokumente von Haupt-Replik an lokale Replik senden. Ergebnis: 5 Aufwand-Dokumente waren in der lokale Replik gelöscht, in der Haupt-Replik waren die Dokumente da. Nach der Replizierung in der beide Richtungen wurden diese 5 Dokumente und noch welche aus der Haupt-Replik verschwunden.
Nach der Ausführung des Agentes in der Haupt-Replik waren die Dokumente wieder neu geladen.
Dann habe ich wieder die Haupt-Replik mit der lokale Replik manuell in einer Richtung Haupt-Replik -> lokale Replik repliziert. Die 5 Dokumenten wurden nicht in der lokale Replik repliziert!!!
Werde unbegrenzt dankbar, für jede Hilfe, Rat, Hinweis etc.
Ich bin wirklich verzweifelt!
Viele Gruesse
Sofia
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln