[ 
https://issues.apache.org/jira/browse/ACCUMULO-3181?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jenna Huston updated ACCUMULO-3181:
-----------------------------------
    Attachment: 0001-ACCUMULO-3181-VolumeChooser-usage-doesn-t-always-com.patch

> 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.0, 1.6.1
>            Reporter: Christopher Tubbs
>            Assignee: Jenna Huston
>              Labels: api, interface, plugin
>             Fix For: 1.6.2, 1.7.0
>
>         Attachments: 
> 0001-ACCUMULO-3181-VolumeChooser-usage-doesn-t-always-com.patch
>
>
> 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)

Reply via email to