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

Christopher Tubbs commented on ACCUMULO-2401:
---------------------------------------------

Sorry, that should have been "shell config command", not "documentation".

Experimental properties were hidden from the output of the shell config 
command, unless they were actually used, by excluding them from the 
DefaultConfiguration. The reason is that the semantics of "experimental" imply 
"optional", and "optional" implies that it could be null/unset/absent, and 
still work correctly. While I'm primarily concerned about prominent exposure of 
experimental properties through the shell and documentation, the same argument 
applies to anything that uses the DefaultConfiguration, because that's where 
the semantics of "experimental" are communicated to the user (by their 
omission/lack of prominence).

Because the DefaultConfiguration conveys the semantics about which properties 
are prominently exposed as available, I think experimental properties should 
continue to be omitted from it, and we add a test to ensure that the defaults 
for these are null and excluded. The code that depends on them being otherwise 
should be changed to handle them being null, or they should not be considered 
experimental. Alternatively, we'd have to find a better way to convey that 
certain properties are experimental, in spite of being so prominently exposed 
(and I can't think of a way to programatically communicate that, other than 
through omission; I think documentation that says "don't use this unless you 
know what you're doing; this is experimental and subject to change" is 
insufficient, as it will largely be ignored... if it's there, people will use 
it and depend on it).

The code change, for reference:
{code}git log -n1 -p -U5 f2de427f -- 
core/src/main/java/org/apache/accumulo/core/conf/DefaultConfiguration.java{code}

I made ACCUMULO-2460, for follow-on.

> client code cannot create an RFile without logging a warning
> ------------------------------------------------------------
>
>                 Key: ACCUMULO-2401
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-2401
>             Project: Accumulo
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 1.5.0
>            Reporter: Eric Newton
>            Assignee: Eric Newton
>              Labels: 16_qa_bug
>             Fix For: 1.5.2, 1.6.0
>
>
> Examining the output of the SimpleProxyIT, I noticed the test was always 
> printing a message about not being able to access accumulo-site.xml.  This is 
> coming from a call to AccumuloConfiguration.getSiteConfiguration() buried 
> down in BCFile.Writer for the encryption stuff.
> Client-side code should not be calling getSiteConfiguration().



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to