When you're troubleshooting the GroupWise directory, it's helpful to understand how changes replicate in the GroupWise directory. The following is an exhaustive discussion about how one object is replicated.
GroupWise object replication basically moves up from a secondary domain to the primary domain and from the primary domain to all other domains. Each domain is responsible for replicating objects to its respective post offices.
Objects and changes to objects or records in the GroupWise directory are replicated in the same manner.
TKRATZER's record is committed to the WPDOMAIN.DB file for DOMAINB by ConsoleOne.
TKRATZER's record is broadcast to PO2 by DOMAINB's MTA.
TKRATZER's record is broadcast to DOMAINA's MTA by DOMAINB's MTA.
PO2's POA accepts TKRATZER's record and commits it to PO2's WPHOST.DB file.
DOMAINA's MTA accepts TKRATZER's record and commits it to DOMAINA's WPDOMAIN.DB file.
DOMAINA's MTA broadcasts TKRATZER's record to its post office PO1.
PO1's POA accepts TKRATZER's record and commits it to PO1's WPHOST.DB file.
DOMAINA broadcasts TKRATZER's record to all other domains in the system besides DOMAINB. This includes DOMAINC and DOMAIND.
DOMAINC accepts the broadcast of TKRATZER and does everything that DOMAINA did with the object, except it does not broadcast TKRATZER to anyone outside its domain. That is DOMAINA's job, because DOMAINA is the primary domain.
DOMAIND does exactly what DOMAINC does.
This completes the process and the user is now added.
The following is a very detailed scenario that illustrates the file flow and the logic of a user object creation. The names of the files are relevant only to the operation that took place on a test system. The names of the files created on your system will be different:
For this scenario, communication between all domains and post offices is via TCP/IP. Here's what happens:
Connected to DOMAINB, the administrator creates a user object, TKRATZER, under DOMAINB, PO2.
The change is committed to the DOMAINB WPDOMAIN.DB file.
Two files are created in the DOMAINB\WPCSIN\2 directory:
File one is called A7D93EDD.000.
File two is called A7D93EDD.001.
File one is picked up by DOMAINB's MTA and copied to the GWINPROG\2 directory using a router thread (RTR), and is moved to the input queue for the MTP portion of the MTA.
DOMAINB's MTA log reports the following:
RTR: DOMAINB: 00000800: Routing comm3/sys:\domainb\mslocal\gwinprog\2\00000800 RTR: DOMAINB: 00000800: Originator: DOMAINB.Domain Message Server [ADS] RTR: DOMAINB: 00000800 Priority 10 :0:0 : Transfer to DOMAINA RTR: DOMAINB: 00000800: Message queued: comm3/sys:\domainb\mslocal\mshold\dom3859\2\00000800.001
The MTP portion of the DOMAINB MTA finds the file and transmits it to DOMAINA, the primary domain. Note that the name of the thread is DOMAINA-IPS0 but that this is a thread created by DOMAINB's MTA.
DOMAINB's MTA log reports the following:
MTP: DOMAINA-ipS0: Connection established. 151.155.106.66 MTP: DOMAINA-ipS0: Transmitting file comm3/sys:\domainb\mslocal\mshold\dom3859\2\00000800.001
A new copy of the message is also made for PO2, and queued up to the MTP process of the DOMAINB MTA.
DOMAINB's MTA log reports the following:
RTR: DOMAINB: 00000801: Routing comm3/sys:\domainb\mslocal\gwinprog\2\00000801 RTR: DOMAINB: 00000801: Originator: DOMAINB.Domain Message Server [ADS] RTR: DOMAINB: 00000801 Priority 10 :0:0 : Transfer to DOMAINB.PO2:ADS RTR: DOMAINB: 00000801: Message queued: comm3/sys:\domainb\mslocal\mshold\po23a0e\2\00000801.001
DOMAINB's MTA transmits the file to PO2 and reports the following in the log:
MTP: PO2-ipS0: Transmitting file comm3/sys:\domainb\mslocal\mshold\po23a0e\2\00000801.001
PO2's POA MTP process reports the following about receiving the message from the domain:
MTP: Receiver thread started: 1 running MTP: DOMAINB: Attention packet received MTP: DOMAINB: Accepting connection MTP: DOMAINB: Returning acknowledge (0) MTP: DOMAINB: File transfer request received MTP: DOMAINB: Received file: COMM3\SYS:/DOMAINB/PO2\wpcsout\ ofs\2\A7d950d6 MTP: DOMAINB: Returning acknowledge (3) Processing a7d950d6.000 Domain Message Server.DOMAINB Admin message processed: OK MTP: DOMAINB: File transfer request received MTP: DOMAINB: Received file: COMM3\SYS:/DOMAINB/PO2\wpcsout\ ofs\2\A7d950d8 MTP: DOMAINB: Returning acknowledge (3) Processing a7d950d8.000 Domain Message Server.DOMAINB Admin message processed: OK
The POA places the administration files in the WPCSOUT\ADS\2 directory. They are called 37D950D6.000 and 37D950D8.000.
The delivery thread on the POA then tickles the admin thread of the POA (this does not show in the logthe event takes place in the POA stack, behind the scenes).
The admin thread reports the following:
ADM: Completed: Update object in Post Office User DOMAINB.PO2.TKRATZER (Administrator: (WWW_TREE_1) tkratzer.WWW, Domain: DOMAINB) ADM: Completed: Update object in Post Office - MTA DOMAINB (Administrator: (WWW) tkratzer.WWW, Domain: DOMAINB)
Tip
The GroupWise POA reports who made the change to the object. However, it is sometimes incorrect. The reason for this is that sometimes the GroupWise snap-ins do not update the Last Modified By field, so a transaction will report in the log of the POA as being performed by ADMIN-A when the change was really performed by ADMIN-B.
Meanwhile, DOMAINA's MTA is receiving the file from DOMAINB's MTA.
DOMAINA's MTA log reports the following:
MTP: DOMAINB: Received file: comm3/sys:\domaina\mslocal\gwinprog\2\00000801 RTR: DOMAINA: 00000801: Routing comm3/sys:\domaina\mslocal\gwinprog\2\00000801
DOMAINA's MTA identifies the message as an administrative message and queues the message up to its admin thread in the WPCSOUT\ADS\2 directory.
DOMAINA's MTA log reports the following:
RTR: DOMAINA: 00000801: Originator: DOMAINB.Domain Message Server [ADS] RTR: DOMAINA: 00000801 Priority 10 :0:0 : Transfer to DOMAINA.Domain Message Server:ADS RTR: DOMAINA: 00000801: Message queued: comm3/sys:\domaina\wpcsout\ads\2\B7d94d48.00!
DOMAINA's MTA tickles the admin thread, and the admin thread reports the following:
ADM: Completed: Update replica User DOMAINB.PO2.TKRATZER
DOMAINA's MTA then queues the message up to its post office, PO1.
It does this in the exact manner in which the DOMAINB MTA queued up the change to PO2.
DOMAINA's MTA then broadcasts the administration message to both DOMAINC and DOMAIND in the same manner that DOMAINB broadcasts the administration message up to DOMAINA.
DOMAINC and DOMAIND's MTAs broadcast the administration message to their post offices, just as DOMAINB broadcasts its administration message to PO2.
A very simple operation in GroupWise administration becomes a file that must be replicated to all other GroupWise directory databases.