[
https://issues.apache.org/jira/browse/ACCUMULO-3181?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jenna Huston updated ACCUMULO-3181:
-----------------------------------
Status: Patch Available (was: Open)
> VolumeChooser usage doesn't always comply with implied API contract
> -------------------------------------------------------------------
>
> Key: ACCUMULO-3181
> URL: https://issues.apache.org/jira/browse/ACCUMULO-3181
> Project: Accumulo
> Issue Type: Bug
> Affects Versions: 1.6.1, 1.6.0
> Reporter: Christopher Tubbs
> Assignee: Jenna Huston
> Labels: api, interface, plugin
> Fix For: 1.6.2, 1.7.0
>
>
> The VolumeChooser interface accepts a String array of "options" to choose
> from. This method has no javadoc to explicitly declare what "options" mean,
> but given the name of the class, and its intended purpose, derived from its
> usage, it appears that the Strings it receives should represent volumes.
> However, some of the current usage is a bit lax in its parameter passing. In
> some cases, what is passed are not volumes at all, but volumes concatenated
> with some path. This works for the RandomVolumeChooser provided, but it
> should not be expected to work for any arbitrary implementation.
> The use of this API should consider the parameter to strictly be an array of
> volumes (or Strings, representing volumes), since it's not a "PathChooser".
> Any concatenation of path elements should be done outside the chooser, so we
> can define the API contract explicitly. That means that some of the current
> usage should be altered to concatenate path elements after the choose method
> returns.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)