Skip to main content
Delphix

Resolving Error: Could not get the Canonical Time Zone (KBA1471)

 

KBA

KBA#1471

Troubleshooting Error "Could not get the Canonical Time Zone"

When trying to perform an operation (ex: adding an Environment) in Delphix versions prior to 4.3.4.1 and older, you may receive the following error: 

Cannot get host machine information on host TARGETHOST [TARGETHOST]: 
CANONICAL_TIME_ZONE :: Could not get the Canonical Time Zone

This is a common error when Java is not installed in the Source and/or Target environment, or it is not installed in a standard path.

In Delphix 4.3.4.1 and earlier, Delphix relies on an existing Java installation on the environment to calculate the timezone during environment discovery. When performing this task, it looks for java at /usr/bin/java and ${JAVA_HOME}/jre/bin/java.

However, when Delphix connects to the source/target, it uses a non-interactive shell and shell profiles (like .bash_profile) are not read. As such, the Environment variable ${JAVA_HOME} will frequently be unknown to Delphix.

You can confirm whether you are susceptible to this issue by attempting to run java via /usr/bin/java on your source or target environment:

$ /usr/bin/java -version
-bash: /usr/bin/java: No such file or directory

Resolution

For host discovery to work, Delphix must be able to locate /usr/bin/java on that host. You can ensure this in one of two ways:

  1. Install java on the system using the common installation mechanism for your environment (e.g. yum install java)
  2. Creating a symbolic link to an existing java binary as /usr/bin/java

Once the toolkit has been installed, Delphix will supply its own version of Java, and you can then remove the system installed version of Java if required.

This is issue is also fixed in Delphix Engine version 4.3.5.0 and newer.