Dynamic Data Masking always performs COP discovery. It is important to note that the COP discovery process in Dynamic Data Masking differs from the process used by the Teradata driver.
To perform COP discovery and connect to a Teradata database node, Dynamic Data Masking completes the following process:
Dynamic Data Masking performs COP discovery once for all Teradata databases, when the Dynamic Data Masking Server starts. This is in contrast to the Teradata driver, which performs COP discovery each time a client connects to the database. If you add or change a Teradata database, Dynamic Data Masking performs COP discovery again in that specific Dynamic Data Masking database. Dynamic Data Masking uses the same naming convention as the Teradata driver to discover COP hosts.
Dynamic Data Masking discovers COP host names, unlike the Teradata driver, which discovers COP IP addresses. During COP discovery Dynamic Data Masking generates a list of available COP hosts, which could be empty. Dynamic Data Masking looks up COP hosts in the network DNS.
Internally, Dynamic Data Masking uses one high availability thread to periodically check connections to all Teradata COP hosts and mark them as available or not available. The default time to periodically check connections to COP hosts is three minutes. You can specify this amount of time in the
jvm.params
file with the
verify.connection.time
parameter, which is configured in milliseconds.
When a client connects to a Teradata database through Dynamic Data Masking, Dynamic Data Masking randomly connects to a COP discovered host that the high availability thread marked as available. Before Dynamic Data Masking makes the connection, it checks that the COP host is still available by creating a socket to the COP host and port. The process of creating a socket to the host and port takes a few milliseconds, if the COP host is up and running. The process takes no longer than twice the amount of time specified in the
verify.connection.time
parameter for the high availability thread. You can also set the maximum amount of time for this process by configuring the
max.connection.time
parameter in the
jvm.params
file. The default maximum time is 500 milliseconds.
If the COP host is available, Dynamic Data Masking makes the connection. If either the COP host or port is not available at that moment, Dynamic Data Masking picks the next available COP host from the list of COPs. Dynamic Data Masking again creates a socket to the COP host and port to check its availability.
To optimize performance, you can install Dynamic Data Masking on the COP hosts. This reduces the amount of time taken to check the host availability and make the connection.
Dynamic Data Masking stores the names of COP hosts and not the IP addresses. If an IP address changes in the DNS table, Dynamic Data Masking resolves a known COP host to a new IP address. However, if the COP host is down, Dynamic Data Masking is unable to resolve the COP host to an IP address in the DNS. If no other COP hosts are available, the connection might fail.
You cannot disable COP discovery in Dynamic Data Masking. If COP discovery does not return any COP hosts, Dynamic Data masking connects directly to the host specified in the Teradata database form.