This issue was discovered in
HIVE-2585 and more details about why this issue was filed are available there.
Currently if one sets hive.metastore.uris the following error will always be displayed:
The reason is javax.jdo.option.ConnectionURL has a default value and will never be null. I set this property in hive-site.xml and walked through the configuration loading in a debugger. If the value is not empty it takes effect, and is ignored if empty.
Since javax.jdo.option.ConnectionURL has a default and cannot be unset, this warning will always be printed if someone sets hive.metastore.uris.
Per the review comments, the error message was added to reduce user confusion, and prevent surprises by using the wrong metastore (either embedded or remote). In HiveMetaStoreClient.java we see a very clear info message printed saying that a remote metastore is used.
Since we clearly communicate to the user that a remote metastore at the given URI is being used we'll remove that message. Additionally, to further clarify a remote metastore is used I'll make the following HiveMetaStoreClient logging change:
The change is at debug level we print connection attempts, and always print which remote HiveMetaStore we actually connected to.