Christopher Tubbs created ACCUMULO-1382:
-------------------------------------------

             Summary: Pair incorrectly assumes its components are Comparable
                 Key: ACCUMULO-1382
                 URL: https://issues.apache.org/jira/browse/ACCUMULO-1382
             Project: Accumulo
          Issue Type: Bug
            Reporter: Christopher Tubbs
             Fix For: 1.6.0


In trunk (for 1.6.0), Pair<A,B> was made Comparable, but makes assumptions that 
A and B are Comparable. This should either be checked in its compareTo method 
explicitly, or should be enforced in the generic parameters. This assumption is 
a runtime bug-in-waiting.

It looks like this was added to support some of the new Lexicoders.

I did a rough check to see the implications of enforcing the parameters to be 
Comparable (changing it from Pair<A,B> to Pair<A extends Comparable<A>,B 
extends Comparable<B>>), and it looks like there's a problem because we use 
this class with generated thrift code, which are not Comparable objects.

It might be better to make a ComparablePair that extends Pair, for use in the 
Lexicoders, instead of making Pair itself Comparable.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to