Exchange 2013: When the DAG NIC Affects Transport, That Can't Be Good

In my on-premises Exchange 2013 lab, there was a queue built up to a mailbox:

 

Get-TransportService | Get-Queue | Where{$_.MessageCount -gt 0} | FT -AutoSize

 

Identity DeliveryType Status MessageCount Velocity RiskLevel OutboundIPPool NextHopDomain

-------- ------------ ------ ------------ -------- --------- -------------- -------------

Stromkarlen\3 SmtpDeliveryToMailbox Retry 15 0 Normal 0 emea-sweex15-01 store 001

 

What’s interesting about the queue is that it’s specifically delivery to a mailbox but the error associated is a DNS error:

 

Get-Queue "Stromkarlen\3" | Select -ExpandProperty LastError -Unique

451 4.4.0 DNS query failed. The error was: SMTPSEND.DNS.NonExistentDomain; nonexistent domain

 

If I looked at the recipient, we’re targeting the correct store:

 

Get-Message -Queue "Stromkarlen\3" -IncludeRecipientInfo | Select -ExpandProperty Recipients -Unique

 

Address : Administrator@minvan.se

OutboundIPPool : 0

Type : Mailbox

FinalDestination : CN=EMEA-SWEEX15-01 Store 001,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=minvan,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=minvan,DC=se

Status : Ready

LastError : [{LRT=};{LED=400 4.4.7 Message delayed};{FQDN=};{IP=}]

 

 The store was mounted and last log was ~14 minutes ago (from when I was investigating):

 

Get-MailboxDatabaseCopyStatus "EMEA-SWEEX15-01 Store 001" | FT -AutoSize

 

Name Status CopyQueueLength ReplayQueueLength LastInspectedLogTime ContentIndexState

---- ------ --------------- ----------------- -------------------- -----------------

EMEA-SWEEX15-01 Store 001\HYLDA Healthy 0 0 8/21/2014 7:25:24 PM Healthy

EMEA-SWEEX15-01 Store 001\STROMKARLEN Mounted 0 0 Healthy

 

The address we were sending to is correct:

 

Get-Mailbox Administrator | FL *addr*

 

 

AddressBookPolicy :

ForwardingAddress :

ForwardingSmtpAddress :

OfflineAddressBook :

JournalArchiveAddress :

GeneratedOfflineAddressBooks : {}

AddressListMembership : {\Mailboxes(VLV), \All Mailboxes(VLV), \All Recipients(VLV), \Default Global Address List, \All Users}

EmailAddresses : {smtp:Administrator@minvan.mail.onmicrosoft.com, SMTP:Administrator@minvan.se}

HiddenFromAddressListsEnabled : False

EmailAddressPolicyEnabled : True

PrimarySmtpAddress : Administrator@minvan.se

WindowsEmailAddress : Administrator@minvan.se

 

In the connectivity log (Mailbox), I see the following:

 

2014-08-21T19:40:58.639Z,08D187F0D08C4E37,MapiDelivery,EMEA-SWEEX15-01 Store 002,>,Starting delivery

2014-08-21T19:40:58.639Z,08D187F0D08C4E37,MapiDelivery,EMEA-SWEEX15-01 Store 002,>,Connecting to server Stromkarlen.minvan.se session type Mailbox

2014-08-21T19:40:58.685Z,08D187F0D08C4E37,MapiDelivery,EMEA-SWEEX15-01 Store 002,-,Messages: 1 Bytes: 190 Recipients: 1

2014-08-21T19:40:58.701Z,08D187F0D08C4E39,MapiDelivery,EMEA-SWEEX15-01 Store 001,+,Delivery;MailboxServer=Stromkarlen.minvan.se;Database=EMEA-SWEEX15-01 Store 001

2014-08-21T19:40:58.701Z,08D187F0D08C4E39,MapiDelivery,EMEA-SWEEX15-01 Store 001,>,Starting delivery

2014-08-21T19:40:58.717Z,08D187F0D08C4E39,MapiDelivery,EMEA-SWEEX15-01 Store 001,>,Connecting to server Stromkarlen.minvan.se session type Mailbox

2014-08-21T19:40:58.763Z,08D187F0D08C4E39,MapiDelivery,EMEA-SWEEX15-01 Store 001,-,Messages: 1 Bytes: 190 Recipients: 1

2014-08-21T19:42:59.453Z,08D187F0D08C4E3B,MapiDelivery,EMEA-SWEEX15-01 Store 002,+,Delivery;MailboxServer=Stromkarlen.minvan.se;Database=EMEA-SWEEX15-01 Store 002

2014-08-21T19:42:59.453Z,08D187F0D08C4E3B,MapiDelivery,EMEA-SWEEX15-01 Store 002,>,Starting delivery

2014-08-21T19:42:59.469Z,08D187F0D08C4E3B,MapiDelivery,EMEA-SWEEX15-01 Store 002,>,Connecting to server Stromkarlen.minvan.se session type Mailbox

2014-08-21T19:42:59.500Z,08D187F0D08C4E3B,MapiDelivery,EMEA-SWEEX15-01 Store 002,-,Messages: 1 Bytes: 190 Recipients: 1

2014-08-21T19:42:59.531Z,08D187F0D08C4E3D,MapiDelivery,EMEA-SWEEX15-01 Store 001,+,Delivery;MailboxServer=Stromkarlen.minvan.se;Database=EMEA-SWEEX15-01 Store 001

2014-08-21T19:42:59.531Z,08D187F0D08C4E3D,MapiDelivery,EMEA-SWEEX15-01 Store 001,>,Starting delivery

2014-08-21T19:42:59.531Z,08D187F0D08C4E3D,MapiDelivery,EMEA-SWEEX15-01 Store 001,>,Connecting to server Stromkarlen.minvan.se session type Mailbox

2014-08-21T19:42:59.563Z,08D187F0D08C4E3D,MapiDelivery,EMEA-SWEEX15-01 Store 001,-,Messages: 1 Bytes: 190 Recipients: 1

 

But Submission gave me the juicy details of what our issue was stemming from:

 

2014-08-21T19:43:54.533Z,08D187F052C39BA0,MapiSubmission,bbbfef75-3381-42dc-b027-850f29eebc62,+,STROMKARLEN.minvan.se
2014-08-21T19:43:54.533Z,08D187F052C39BA1,SMTP,mailboxtransportsubmissioninternalproxy,+,Undefined 00000000-0000-0000-0000-000000000000;QueueLength=<no priority counts>
2014-08-21T19:43:54.533Z,08D187F052C39BA1,SMTP,mailboxtransportsubmissioninternalproxy,>,Non-existent domain reported by y.y.y.y. [Domain:Result] = Hylda.minvan.se:InfoDomainNonexistent; STROMKARLEN.minvan.se:InfoDomainNonexistent;
2014-08-21T19:43:54.533Z,08D187F052C39BA1,SMTP,mailboxtransportsubmissioninternalproxy,-,Messages: 0 Bytes: 0 (The DNS query for 'Undefined':'mailboxtransportsubmissioninternalproxy':'00000000-0000-0000-0000-000000000000' failed with error : InfoDomainNonexistent)
2014-08-21T19:43:54.533Z,08D187F052C39BA0,MapiSubmission,bbbfef75-3381-42dc-b027-850f29eebc62,>,"Failed; HResult: 2684354560; DiagnosticInfo: Stage:CommitMailItem, SmtpResponse:451 4.4.0 DNS query failed. The error was: SMTPSEND.DNS.NonExistentDomain; nonexistent domain"
2014-08-21T19:43:54.533Z,08D187F052C39BA0,MapiSubmission,bbbfef75-3381-42dc-b027-850f29eebc62,-,RegularSubmissions: 0 ShadowSubmissions: 0 Bytes: 0 Recipients: 0 Failures: 1 ReachedLimit: False Idle: False

 

Then, I saw my answer. We’re hitting the wrong DNS server for the query:

 

nslookup hylda.minvan.se

Server: UnKnown

Address: x.x.x.x

 

Name: hylda.minvan.se

Address: x.x.x.x

 

Changed the DNS settings on the DAG NIC and resubmitted the queue:

 

Retry-Queue "Stromkarlen\3" -Resubmit:$TRUE

 

Get-TransportService | Get-Queue | Where{$_.MessageCount -gt 0} | FT -AutoSize

 

Identity DeliveryType Status MessageCount Velocity RiskLevel OutboundIPPool NextHopDomain

-------- ------------ ------ ------------ -------- --------- -------------- -------------

Stromkarlen\3 SmtpDeliveryToMailbox Active 15 0.02 Normal 0 emea-sweex15-01 store 001

 

 

Get-TransportService | Get-Queue | Where{$_.MessageCount -gt 0} | FT -AutoSize

 

Essentially, this boiled down to two NICS using different DNS servers but why didn’t this affect the SMTP probes to Health Mailboxes? If it didn’t, why did we use local DNS for Health Manager and foreign DNS for delivery? …and, if that’s the case. Is this a bug?

 

Then, the answer finally arrived in the form of a realization: if we had no queues to the Health Mailboxes, maybe the probe was broken? Alright, time to investigate that piece.

 

Sure enough, the probe has failed some time back and was marked as poisoned:

 

   MachineName: Stromkarlen.minvan.se

 

StartTime ProbeName Result Duration Latency TargetResource/Error HealthSet

--------- --------- ------ -------- ------- -------------------- ---------

2014-08-21 20:12:57 Mapi.Submit.Probe Poisoned 02:28.388 00:00.000 A previous poisoned execution was detected. This is indic... MailboxTransport

2014-08-21 20:12:59 MailboxDeliveryAvailability Poisoned 03:38.978 00:00.000 A previous poisoned execution was detected. This is indic... MailboxTransport

2014-08-21 20:13:04 MailboxTransportSubmissionS... Poisoned 02:49.648 00:00.000 {msexchangesubmission, A previous poisoned execution was ... MailboxTransport

2014-08-21 20:13:20 MailboxTransportDeliverySer... Poisoned 02:30.491 00:00.000 {msexchangedelivery, A previous poisoned execution was de... MailboxTransport

 

Moral of the story: Logs are just as important as the Health Manager/Active Probing, as the probes could fail or be marked as poisoned.

Comments

  • Anonymous
    August 25, 2014
    Thanks for sharing very interesting