You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "Josh Elser (JIRA)" <ji...@apache.org> on 2014/10/27 22:21:34 UTC

[jira] [Commented] (ACCUMULO-3267) Insufficient validation for bad configuration

    [ https://issues.apache.org/jira/browse/ACCUMULO-3267?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14185839#comment-14185839 ] 

Josh Elser commented on ACCUMULO-3267:
--------------------------------------

bq. 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.

I've been bitten by this before, too. I think it's indicative of a bigger problem with how we configure native maps. The property defaults to true and then tries to load the native maps if the property is true. The problem is that it looks no different to the server whether the client actively "enabled" native maps or they were just enabled by the DefaultConfiguration. It seems like there isn't a good way to provide something more clear with the configuration as-is while not changing the semantics of this property. Thoughts as to how to address this?

> Insufficient validation for bad configuration
> ---------------------------------------------
>
>                 Key: ACCUMULO-3267
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-3267
>             Project: Accumulo
>          Issue Type: Improvement
>    Affects Versions: 1.6.0
>            Reporter: Christopher Tubbs
>
> 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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)