After setting up MW-DISP recovery replication, replication is not working. The hosts/nodes can be all on-prem or all on AWS or a mix both both.
Following log example shows two DSA setup on it's individual host/node that shows ABORT-REQ message when the DSAs are attempting to perform MW-DISP operation for replication.
e.g.
HOST1 has DSA1.
HOST2 has DSA2.
From HOST1/DSA1, the trace log shows the following when an attempt is made to communicate to HOST2/DSA2:
! [64] timer(DSA2) status HEAD_NOT_UPDATED, mwdstatus MWD_NOT_UPDATED
? [64] 20220307.145440.623 WARN : MW-DISP not in sync for 'DSA2'
! [64] mwMWDispInit: DSA2
! [64] progress(DSA2) 0 --> 3
! [64] mwMWDispInit2: DSA2
! [64] progress(DSA2) 3 --> 0
! [64] status(DSA2) HEAD_NOT_UPDATED --> HEAD_UPDATING
? [64] 20220307.145440.623 WARN : Attempting to send update to peer 'DSA2'
! [64] MWDispInit DSA2
! [64] MW-DISP creating ctx 0x56158878b668
! [64] CacheGetDispUpdateTime(DSA2, -1)
! [64] read_dxdisp_file
! [64] Cannot open dxdisp file '/opt/CA/Directory/dxserver/data/DSA1.dx'
! [64] Send MW-DISP Bind request
! [64] Creating Bind request
! [64]
> [64] -> #10000011 [DSA2] MWDISP BIND-REQ
> [64] invoke-id = 0 credit = -5
> [64] User:
> [64] <countryName "US">
> [64] <organizationName "test">
> [64] <commonName "DSA1">
> [64] Password: (masked)
> [64] Remote address:
> [64] psap = "$MWDISP$"
> [64] nsap = <IP_ADDRESS_OF_HOST2>:12345
> [64]
> [64]
! [64] Connecting to TCP <IP_ADDRESS_OF_HOST2>:12345
! [64] PABTind
! [64] --MWDispIndication (event 110:0)----------------------20220307.145455.701
! [64]
> [64] <- #10000011 [DSA2] MWDISP ABORT-REQ
> [64] invoke-id = 0 credit = 4
> [64]
! [64] MWSetMWDispStatus: DSA2, -1, -1
! [64] progress(DSA2) 0 --> 0
! [64] recovering(DSA2) FALSE --> FALSE
! [64] status(DSA2) HEAD_UPDATING --> HEAD_NOT_UPDATED
! [64] mwMWDispInit3
! [64] MW-DISP freeing ctx 0x56158878b668
! [64] DispQueueFreeByReference
From HOST2/DSA2, the trace log shows the following when an attemp is made to communicate to HOST1/DSA1:
! [64] timer(DSA1) status HEAD_NOT_UPDATED, mwdstatus MWD_NOT_UPDATED
? [64] 20220307.145428.432 WARN : MW-DISP not in sync for 'DSA1'
! [64] mwMWDispInit: DSA1
! [64] progress(DSA1) 0 --> 3
! [64] mwMWDispInit2: DSA1
! [64] progress(DSA1) 3 --> 0
! [64] status(DSA1) HEAD_NOT_UPDATED --> HEAD_UPDATING
? [64] 20220307.145428.432 WARN : Attempting to send update to peer 'DSA1'
! [64] MWDispInit DSA1
! [64] MW-DISP creating ctx 0x5629303fe548
! [64] CacheGetDispUpdateTime(DSA1, -1)
! [64] read_dxdisp_file
! [64] Cannot open dxdisp file '/opt/CA/Directory/dxserver/data/DSA2.dx'
! [64] Send MW-DISP Bind request
! [64] Creating Bind request
! [64]
> [64] -> #10000005 [DSA1] MWDISP BIND-REQ
> [64] invoke-id = 0 credit = -5
> [64] User:
> [64] <countryName "US">
> [64] <organizationName "test">
> [64] <commonName "DSA2">
> [64] Password: (masked)
> [64] Remote address:
> [64] psap = "$MWDISP$"
> [64] nsap = <IP_ADDRESS_OF_HOST1>:12345
> [64]
> [64]
! [64] Connecting to TCP <IP_ADDRESS_OF_HOST1>:12345
! [64] PABTind
! [64] --MWDispIndication (event 110:0)----------------------20220307.145443.514
! [64]
> [64] <- #10000005 [DSA1] MWDISP ABORT-REQ
> [64] invoke-id = 0 credit = 4
> [64]
! [64] MWSetMWDispStatus: DSA1, -1, -1
! [64] progress(DSA1) 0 --> 0
! [64] recovering(DSA1) FALSE --> FALSE
! [64] status(DSA1) HEAD_UPDATING --> HEAD_NOT_UPDATED
! [64] mwMWDispInit3
! [64] MW-DISP freeing ctx 0x5629303fe548
! [64] DispQueueFreeByReference
The most common cause for the above to happen is network/firewall related. Check the firewall rules to make sure the DSA port(s) ,in the above example 12345, is open bi-directional on both hosts so the DSAs can communicate with each other successfully.