accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christopher Tubbs (JIRA)" <>
Subject [jira] [Created] (ACCUMULO-3181) VolumeChooser usage doesn't always comply with implied API contract
Date Fri, 26 Sep 2014 20:25:33 GMT
Christopher Tubbs created ACCUMULO-3181:

             Summary: VolumeChooser usage doesn't always comply with implied API contract
                 Key: ACCUMULO-3181
             Project: Accumulo
          Issue Type: Bug
    Affects Versions: 1.6.1, 1.6.0
            Reporter: Christopher Tubbs
             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

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

View raw message