Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Every time I start up the Hive CLI with logging enabled I'm treated to the following ERROR log messages courtesy of DataNucleus:
DEBUG metastore.ObjectStore: datanucleus.plugin.pluginRegistryBundleCheck = LOG ERROR DataNucleus.Plugin: Bundle "org.eclipse.jdt.core" requires "org.eclipse.core.resources" but it cannot be resolved. ERROR DataNucleus.Plugin: Bundle "org.eclipse.jdt.core" requires "org.eclipse.core.runtime" but it cannot be resolved. ERROR DataNucleus.Plugin: Bundle "org.eclipse.jdt.core" requires "org.eclipse.text" but it cannot be resolved.
Here's where this comes from:
- The bin/hive scripts cause Hive to inherit Hadoop's classpath.
- Hadoop's classpath includes $HADOOP_HOME/lib/core-3.1.1.jar, an Eclipse library.
- core-3.1.1.jar includes a plugin.xml file defining an OSGI plugin
- At startup, Datanucleus scans the classpath looking for OSGI plugins, and will attempt to initialize any that it finds, including the Eclipse OSGI plugins located in core-3.1.1.jar
- Initialization of the OSGI plugin in core-3.1.1.jar fails because of unresolved dependencies.
- We see an ERROR message telling us that Datanucleus failed to initialize a plugin that we don't care about in the first place.
I can think of two options for solving this problem:
- Rewrite the scripts in $HIVE_HOME/bin so that they don't inherit ALL of Hadoop's CLASSPATH.
- Replace DataNucleus's NOnManagedPluginRegistry with our own implementation that does nothing.
Attachments
Issue Links
- is blocked by
-
HIVE-2084 Upgrade datanucleus from 2.0.3 to a more recent version (3.?)
- Closed