Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.6.0
-
None
-
None
Description
A user reported to me that they had tried using the 512MB native-standalone example configuration with Hadoop 1, and without compiling the native libraries.
They saw two errors:
- There was an IllegalArgumentException coming from TabletServerResearceManager's constructor about trying to allocate more memory than available to the JVM.
- init failed because it could not found the core-site.xml file (because the default examples assume Hadoop 2).
In both cases, the error messages were misleading and/or insufficient. The actual problem in the first case was that the user specified to use native maps in the configuration, but those were not loadable. This is a configuration error, and we can/should validate it sooner, with a more obvious error message.
In the second case, the problem was because we could not auto-discover the location for the Hadoop configuration directory in the accumulo-env.sh script so it can be added to the classpath. The error message occurs later, when we're unable to read the file, but we could fail sooner, perhaps in the bin/accumulo, when we can't find everything we require from the environment. I think a proper long-term fix for this is to stop making assumptions about directory layouts, and explicitly ask for the bootstrap classpath in the environment, but a better warning message is a good short-term fix.