[cifs-protocol] 115051312732870 detecting failed DCs in the KCC (MS-ADTS 6.2.2.3.4.4)
Sreekanth Nadendla
srenaden at microsoft.com
Fri Jun 5 12:40:42 MDT 2015
Hello Douglas,
As you've inferred, the logic within BridgeheadDCFailed would be corrected as following. A formal update will be released in future. Let me know if you have any follow up questions.
IF detectFailedDCs is FALSE or bit NTDSSETTINGS_OPT_IS_TOPL_DETECT_STALE_DISABLED is set in the options attribute of the site settings object for the local DC's site
RETURN FALSE
ELSEIF a tuple z exists in the kCCFailedLinks or kCCFailedConnections variables such that z.UUIDDsa = objectGUID, z.FailureCount > 1,
and the current time - z.TimeFirstFailure > 2 hours
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
Regards,
Sreekanth Nadendla
Microsoft Windows Open Specifications
-----Original Message-----
From: Sreekanth Nadendla
Sent: Thursday, May 14, 2015 11:13 AM
To: 'Douglas Bagnall'
Cc: 'cifs-protocol at samba.org'; MSSolve Case Email
Subject: RE: 115051312732870 detecting failed DCs in the KCC (MS-ADTS 6.2.2.3.4.4)
Hello Douglas, I will be working with you on this issue. I am currently researching the problem and will provide you with an update soon. Thank you for your patience.
Regards,
Sreekanth Nadendla
Microsoft Windows Open Specifications
-----Original Message-----
From: Sreekanth Nadendla
Sent: Wednesday, May 13, 2015 7:24 PM
To: 'Douglas Bagnall'
Cc: cifs-protocol at samba.org; MSSolve Case Email
Subject: 115051312732870 detecting failed DCs in the KCC (MS-ADTS 6.2.2.3.4.4)
Dochelp in Bcc
Casemail in Cc
Hello Douglas,
Thank you for your inquiry about MS-ADTS specification. We have created incident 115051312732870 to track the investigation for this issue. One of the Open specifications team member will contact you shortly.
Regards,
Sreekanth Nadendla
Microsoft Windows Open Specifications
-----Original Message-----
From: Douglas Bagnall [mailto:douglas.bagnall at catalyst.net.nz]
Sent: Wednesday, May 13, 2015 6:44 PM
To: Interoperability Documentation Help
Cc: cifs-protocol at samba.org
Subject: detecting failed DCs in the KCC (MS-ADTS 6.2.2.3.4.4)
MS-ADTS 6.2.2.3.4.4 (v20140502, page 569) defines BridgeheadDCFailed
thus:
/***** BridgeheadDCFailed *****/
/* Determine whether a given DC is known to be in a failed state.
* IN: objectGUID - objectGUID of the DC's nTDSDSA object.
* IN: detectFailedDCs - TRUE if and only failed DC detection is
* enabled.
* RETURNS: TRUE if and only if the DC should be considered to be in a
* failed state.
*/
BridgeheadDCFailed(IN GUID objectGUID, IN bool detectFailedDCs) : bool
{
IF bit NTDSSETTINGS_OPT_IS_TOPL_DETECT_STALE_DISABLED is set in
the options attribute of the site settings object for the local
DC's site
RETURN FALSE
ELSEIF a tuple z exists in the kCCFailedLinks or
kCCFailedConnections variables such that z.UUIDDsa =
objectGUID, z.FailureCount > 1, and the current time -
z.TimeFirstFailure > 2 hours
RETURN TRUE
ELSE
RETURN detectFailedDCs
ENDIF
The way the detectFailedDCs parameter is used in the pseudo-code seems at odds with its description in the comments (which is consistent with comments elsewhere in the stack). The pseudo-code is using detectFailedDCs as a default value in the case a failure is not detected, not as a switch turning detection on or off. As written, you can only actually detect a failed DC if detectFailedDCs is *false* -- when it is true, the return value merely reflects the NTDSSETTINGS_OPT_IS_TOPL_DETECT_STALE_DISABLED bit.
Shouldn't it look more like this:
IF detectFailedDCs is FALSE or
bit NTDSSETTINGS_OPT_IS_TOPL_DETECT_STALE_DISABLED is set [...]
RETURN FALSE
ELSEIF a tuple z exists [...]
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
or is it the comments that need fixing?
cheers,
Douglas Bagnall
More information about the cifs-protocol
mailing list