Missing conflict documents on Domino 7.0.3 servers

Hello fellow developers.

Three of our customers have a replication-based problem since the day they have updated to Domino 7.0.3. In this version the following happens in our application (exemplified sequence):

  1. A document was created on server X and has been replicated to server Y.

  2. A user-action on server X causes a modification of that document.

  3. Before the next replication happens, an agent on server Y also modifies that document in his replica.

Now we have a document with 2 different data-contents on each replica. Although we defined in the form that Domino should create conflict documents in a conflict case (and that happens on all other domino-version in such a case as far as we know), after the next replication we only find the agent-modified document on both servers! Domino 7.0.3 neither merged them (which he should not do anyway), nor does it create a conflict-document! Only the last modified document did survive and the other document (with all changed data by that user action) is lost!

Is that a known bug / problem to anyone here?

(So far I only found a bug where conflict-documents were created although merging was defined, so that’s a kind of “reverse-bug” :wink: )

Greetings, Marcus Bahlo

Subject: Missing conflict documents on Domino 7.0.3 servers

Meanwhile I have built up a test environment of 2 replicating 7.0.3 servers and have provoked the described conflict situation. The replication error is reproducable!

That means:

When I have that described conflict situation, which should cause the creation of conflict documents at the next replication, Domino 7.0.3 let only survive the last amended document! The other one disappears without a trace (without a conflict document) and so these information are lost!

I don’t know which Domino 7 versions are affected, but 7.0.3 definitely is.

Subject: Missing conflict documents on Domino 7.0.3 servers

please post the code for the agent that’s running on server Y. The code could be determining how the conflict is handled.

Subject: RE: Missing conflict documents on Domino 7.0.3 servers

Because that agent has a bit more than 1000 lines of code plus a few library function calls, here is a excerpt of the code where those trouble causing documents are handled:

Set view = db.GetView(“vw_manuellebuchungToExport”)

Call view.Refresh

AnzManExp& = 0

Set doc = view.GetFirstDocument( )

While( Not doc Is Nothing )

Set doc2 = view.GetNextDocument( doc )

NeedSave% = False



If( Not doc.HasItem( "$Conflict" ) )Then		

  ManBuchArray = doc.buchungen

  ExpBuchArray = doc.BuchungenExported

  ManBuchCnt% = 0

  ManBuchCntExported% = 0

  ManBuchChanged% = False

			

  Redim Preserve ExpBuchArray( Ubound( ManBuchArray ) )

			

  ' Data processing ...

  ' In this part doc is only read.

  ' => ExpBuchArray is calculated

  ' If the data in doc must be changed, ManBuchChanged% is set True 



  If( ManBuchChanged% )Then

    Set item = doc.getFirstItem( "BuchungenExported" )

    If( item Is Nothing )Then

      doc.BuchungenExported = ExpBuchArray

    Else

      item.Values = ExpBuchArray

    End If

    NeedSave% = True

  End If



  If( NeedSave% )Then

    doc.ExportedFlag = "Ja"

    Call doc.Save( False, True, True )

    AnzManExp& = AnzManExp& + 1

  End If



End If

Set doc = doc2

Wend

Subject: RE: Missing conflict documents on Domino 7.0.3 servers

That was the pertinent bit – Paul would have been wondering about the Force and CreateResponse parameters in the Save call. In this case, you are using False, True, True, which should be allowing conflicts to be created.

Subject: RE: Missing conflict documents on Domino 7.0.3 servers

I am not surprised, that the save parameters are most interesting in such a case :slight_smile: It was one of the first things I have checked.Maybe I should mention, that we don’t have that replication problem in more than 100 installations of our application on almost all possible (even sometimes mixed) R5 and R6 Domino server versions. A few of our customers have R7 server environments (prior 7.0.3) for more than a year now, and until today we never heard about that problem from these customers. So far this problem is only known from customers who have Domino 7.0.3.

Subject: RE: Missing conflict documents on Domino 7.0.3 servers

are there any Readers fields on the documents?

Subject: RE: Missing conflict documents on Domino 7.0.3 servers

Yes there are, but they are set at the creation of the document and will not be changed (or I should better say, I never have seen them being changed at these kind of documents):

$Readers = “[Personalabt]”:“[Admin]”

(All administrators and servers have these roles.)

ReaderBereich = “userXY/Org/DE”

(priviledged user for the whole company)

ReaderOrga = “user1/Org/DE”:“user2/Org/DE”:“user3/Org/DE”:“user4/Org/DE”

(the “owner” of that document and users who should have access to documents of this user)

I quickly checked some example documents from that customers, who have those problems: All reader fields are set correctly. Even if the replicating server would not have proper reader access to the corresponding document on the other server, I thing, it should not discard the other servers document and replace it by its own document version (?).

Are there any changes in handling reader fields in Domino 7.0.3?

Subject: Missing conflict documents on Domino 7.0.3 servers

The bug (PMR 75153,999,724) seems to be fixed with FP1 for Domino 7.0.3. Since I have installed FP1 in my 7.0.3 test environment, the replication error could not be provoked any longer.