Exchange Server 2013 Content Index Replication

Exchange 2013 Content indexThought to share the experience that I had on Exchange server 2013 content index replication. Before going on deep drive let me provide few fundamental detail that need to know for more understanding.

Copy Queue length and Replay queue length:

Copy queue length are the logs files that needs to be copied from active to passive node. When they pass over it utilize the network bandwidth based upon the network that is specified either MAPI or Replication Network

Replay queue length are the number of log files that are moved to Passive and it was hold to get inspected and replayed in the passive mailbox database. They never utilize the network channel as they are processed internally on the server.

JSL Logs: These logs are know as Jet Shadow logs which are in the inspector directory get generated when the replication occurring. These Jet Shadow logs will get renamed to normal logs like EXXXXX.log when the replication for that logs file got completed

Block Mode and File Mode Replication:

File mode replication occurs for the completed log file to get replicated from active to passive database whereas the Block mode replication replicate the logs file that inprogress before it takes 1 MB in size. By default it will be file mode and when they are sync it move to block mode.

To verify the whether they are block or file mode use the below powershell command:

Get-MailboxDatabaseCopystatus | fl Name, ReplicationIsInBlockMode

Replication Port and Protocols: It uses 64327 TCP port for replication. This can be changed using Set-DatabaseAvailability group

Few Important Notes on Exchange 2013 Content Indexing

  • Content indexing is used for indexing the mailbox that are located in the mailbox database.
  • They are used when user searches email while using Outlook online mode.
  • By default the content indexing size will be approx 10% of the mailbox database size.
  • They always use the MAPI network for replication as it can’t be moved to Replication network as per design.
  • To verify the content index error message and amount of content index got completed for the mailbox database use the below powershell commands

Get-MailboxDatabasecopystatus | ?{$_.ContentIndexState -eq “seeding”} | fl Name, ContentIndexSeedingPercent, ContentIndexState, ContentIndexErrorMessage 

  • When you observer the error message as corrupted for the content index follow the below procedure

Stop the MSExchangeFastSearch services – Stop-Service MSExchangeFastSearch
Stop the HostControllerService services – Stop-Service HostControllerService
Rename the content index file
Start the MSExchangeFastSearch services – Start-Service MSExchangeFastSearch
Start the HostControllerService services – Start-Service HostControllerService
Update the content index – Update-MailboxDatabaseCopy <Database Name> -CatalogOnly
Verify the CI status – Get-MailboxDatabaseCopyStatus | Ft Name,contentindexstate, Contentindexerrormessage -Autosize

  • To verify the port number that is utilized for Content indexing ( Most of the time i see the port 3875 is mapped for content indexing)

Get-ItemProperty HKLM:\SOFTWARE\Microsoft\ExchangeServer\v15\Search\IndexStatus

Get-MailboxDatabaseCopyStatus -ExtendedErrorInfo | fl name, *Seeding*, *replic*, *index* -AutoSize

  • Although seeding network show Replication network but for content indexing it uses MAPI network. To verify the connection status for the seeding mailbox database.

Get-MailboxDatabaseCopyStatus -ConnectionStatus -ExtendedErrorInfo | fl name, *Seeding*, *replic*, *incoming*, *out* -AutoSize



About Raji Subramanian

Nothing great to say about me...Just want to share my knowledge for others that will be useful at any moment of time when they stuck in critical issue....
This entry was posted in Exchange Server 2013 Content Index Replication and tagged , , , . Bookmark the permalink.

7 Responses to Exchange Server 2013 Content Index Replication

  1. movi says:

    we have one problem where content indexing is in “unknown” state in one of the mailbox server.
    we have dag of 2 mailbox and one is showing this error when we run
    “get-mailboxdatabasecopyststus” command.
    can you help please ?

  2. movi says:

    hey, i did the same buy of no use.. its says “unknown” in content indexing coloum..

  3. movi says:

    hey, what i find that the above 3875 port is not opened on the effected mailbox server. even there is no fire wall between the servers and windows firewall is off as well and i also allow the incoming and outgoing port on the servers.
    is there any way by which i can check which process is using that port or why its no opening..


  4. IncomingLogCopyingNetwork : {mbx01,ReplicationDagNetwork01,An error occurred while communicating with
    server ‘’. Error: Unable to read data from the transport
    connection: Cannot access a disposed object.
    Object name: ‘System.Net.Sockets.Socket’..}

    Have servers in different sites

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s