Domino 9 und frühere Versionen > ND8: Entwicklung

Verursacht $ConflictAction Replikationskonflikte?

(1/3) > >>

Ruedi:
In einer Datenbank traten in letzter Zeit vermehrt Replikationskonflikte auf. Es scheint, als ob das festgelegte Konfliktverhalten Ursache der Konflikte ist. Ich kann dies in einer sehr einfachen DB reproduzieren:

Die DB enthält ein Formular mit einem einzigen Textfeld. Zudem existiert ein Agent, der das Textfeld ändert (z.B. in Grossbuchstaben umsetzt). Das Konfliktverhalten in der Maske ist auf dem Standard "Create Conflicts" belassen. Von der DB wird eine lokale Replik erstellt.

Mit den folgenden Schritten kommt es zu einem Replikationskonflikt:
1. Dokument erstellen
2. Replizieren
3. Dokument mit Agent ändern
4. Replizieren
5. Im Designer Konfliktverhalten auf "Merge/No Conflict" ändern
6. Dokument neu speichern
7. Replizieren => Replik enthält Replikationskonflikt

Bisher glaubte ich, dass Replikationskonflikte nur dann entstehen, wenn in zwei Repliken Änderungen vorgenommen werden. Dass dieser Fall offenbar auch auftreten kann, wenn sich Dokumente in nur einer Replik ändern, ist für mich überraschend.

Falls jemand Zeit und Lust hat, das Problem zu reproduzieren, bin ich gespannt auf Feedback.

Kein Replikationskonflikt tritt auf, wenn ich Punkt "4. Replizieren" auslasse oder im Agenten unter Punkt 3 auch das Feld "$ConflictAction" auf den Wert "3" setze.

Ruedi

atbits:
Es gibt Replikationskonflikte und Speicherkonflikte.
Notes-Umgangssprachlich spricht man meist von Replikationskonflikten auch wenn es sich um Speicherkonflikte handelt ;-)

Vermutlich spuckt Dein Agent Dir irgendwie in die Suppe und produziert einen Speicherkonflik

\lg David

Ruedi:
Wäre theoretisch möglich. Aber dann müsste der Speicherkonflikt bereits nach Ablauf des Agenten auftreten und zwar in der DB, in der der Agent läuft.

Tatsächlich wird das Konflktdokument aber in der Replik erstellt und erst nach der Replikation, die auf das Speichern mit dem neuen Konfliktverhalten folgt.

Aber so ganz verstanden habe ich den möglichen Grund noch nicht  ???

Ruedi

ascabg:
Hallo,

Kleiner Einwurf, wann Konflikte entstehen.

1. 2 Personen aendern dasselbe Dokument auf demselben Server zur selben Zeit.

2. 2 Personen aendern dasselbe Dokument auf zwei verschiedenen Servern zur selben zwischen der Replikation der beiden Server.

3. wie bei 2. nur durch eine Person

Personen koennen aber auch Agenten sein.


Andreas

Ruedi:
Auch richtig. Aber die Locking Mechanismen von Notes verhindern mittlerweilen das gleichzeitige Bearbeiten eines Dokuments im UI zuverlässig. Und solange keine Hintergrundagenten beteiligt sind, sind auch andere Save Conflicts eher schwer produzierbar. Kommt dazu, dass in meiner einfachen Modellanordnung nur ich das Dokument ändere.

Ich weiss noch nicht, welchen Einfluss der Agent auf das (spätere) Entstehen meines Replikationskonflikts hat. Relevant sein dürfte, dass im Dokument der einen Replik ein anderes Konfliktverhalten gilt als in der andern Replik. Weshalb Notes aber überhaupt meint, dass hier ein Konflikt aufzulösen sei, ist mir ziemlich schleierhaft.

Ruedi

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln