Describe ZDC (Zone Data Collector) election process in detail?

In case ZDC is not be available, another server in the zone can take over that role. The process of taking the role is called ZDC election. Server Administrators should choose the Zone Data Collector strategy carefully during the farm design itself. When an election needs to occur in a zone, the winner of the election is determined by the following criteria
1. Highest version of Presentation Server first
2. Highest rank (as configured in the Management Console)
3. Highest Host ID number (Every server has a unique ID called Host ID).

When the existing data collector for Zone failed unexpectedly or the communication between a member server and the Zone Data Collector for its zone failed or the communication between data collectors failed, then the election process begins in the Zone. If the server is shutdown properly, it triggers the election process before it goes down. The servers in the zone recognize the data collector has gone down and starts the election process. Then the ZDC is elected and the member servers send all of their information to the new ZDC for the zone. In turn the new data collector replicates this information to all other data collectors in the farm.

The Data Collector election process is not dependent on the Data Store. If the data collector goes down, sessions connected to other servers in the farm are unaffected .The data collector election process is triggered automatically without administrative interference. Existing as well as incoming users are not affected by the election process, as a new Data Collector is elected almost instantaneously.

C:\ QueryHR.exe

Showing Hosts for “”

Zone Name:
Host Name: TEDDYCTX02
Admin Port: 2513
IMA Port: 2512
Host ID: 4022
Master Ranking: 1
Master Version: 1
To see the Host ID number and its version, run queryhr.exe utility (with no parameters).

Each server in the zone has a rank assigned to it. The administrator can configure such that the servers in a zone can be ranked to make the server as the most desired to serve as the zone master or ZDC. The ties between servers with the same administrative ranking are broken by using the HOST IDs assigned to the servers.
When a Presentation Server starts or when the IMA service starts, the IMA service starts trying to contact other servers via the IMA protocol on port 2512 until it finds one that’s online. When it finds, it queries it to find out which server is acting as the data collector. The winner of this Zone Data Collector election is determined by the newest version of the IMA service. We can control which server will act as data collector by keeping that server the most up-to-date.

Data Collection Election Priority

Whichever server has the most recent version of the IMA Service running. (This may include hotfixes) and the server with the highest preference set in the data store
Basically data collectors and data store are not really related. The Data Store holds permanent farm configuration information in a database, and the data collector tracks dynamic session information in its RAM.
In addition to their primary role to provide dynamic farm information for admin consoles or for incoming connection requests, data collectors also take part in the distribution of configuration changes to Presentation Servers in the farm. When we make a changes in a presentation server that change is written to the local host cache of whichever server we connected to, and then immediately replicated to the data store. Presentation Server only looks for changes in the central data store every 30 minutes. Whenever a change is made to the Data Store, that change is sent to the data collector for the zone.

The Data Collector then distributes that change (via IMA port 2512) to all of the servers in its zone, allowing each server to update its own local host cache accordingly. Furthermore, if we have more than one zone, the initial data collector contacts the data collectors in the other zones. It sends its change to them, and in turn those data collectors forward the change to all of the servers in their zones.

Coolest part is if the change is larger than 64k, the data collectors don’t send the actual change out to its zone. Instead they send out a notification which causes the servers in the zone to perform an “on demand” sync with the central data store. However it’s rare for a single change to be more than 64k in size.

The data collector election priority settings in the management console:
Presentation Server Java Management Console > Right-click on farm name >Properties > Zones > highlight server > “Set Election Preference”

We can totally control which server is our data collector by manually setting the preferences in the Java console. We can manually configure four levels of Zone’s Data Collector election preference options:

  • Most Preferred
  • Preferred
  • Default Preferred
  • Not Preferred

The important thing to remember is that these preferences will be ignored if a newer server is up for election.


About Murugan B Iyyappan

Working as a Consultant - Citrix solutions architect with 18 years of experience in the IT industry. Expertise in Citrix products and Windows platform.
This entry was posted in Citrix XenApp and tagged , , , , , , , . Bookmark the permalink.

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 )

Facebook photo

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

Connecting to %s