SDC has property in the sdc.properties file called java.security.networkaddress.cache.ttl. It gives the JVM a value to set the time to live (TTL) in order to cache the DNS name lookups.
This is an important property because most of the stages which require a host URL - e.g.: JDBC, sftp, Kafka, etc - needs to resolve the DNS and the if the IP changes it has to be resolved accordingly.
The Java Security Manager is the object in charge to set up this value. By default, JVM sets the TTL value to -1, so it means that Java will cache this DNS name lookups forever "cache forever", in other words, it will never refresh DNS entries until the JVM is restarted.
For this reason, SDC sets this property as default value 0 it means that it will "never cache" so it always refreshes the DNS entries as often as it changes. Otherwise, we should restart the JVM every time a host changes the IP.
Finally, we can change this value by default to an integer number to indicate the number of seconds to cache the DNS name lookups