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

stack commented on HBASE-3599:
------------------------------

Good one Greg.

Yeah, we should javadoc assumption that input is sorted.

We used to have this in the Result API:

{code}
  /**
   * Returns a sorted array of KeyValues in this Result.
   * <p>
   * Note: Sorting is done in place, so the backing array will be sorted
   * after calling this method.
   * @return sorted array of KeyValues
   */
  public KeyValue[] sorted() {
    if (isEmpty()) {
      return null;
    }
    Arrays.sort(kvs, (Comparator<KeyValue>)KeyValue.COMPARATOR);
    return kvs;
  }   
{code}

.. but removed it.

We could put back a sort method for use in the unit test scenario you describe 
above?

> Result constructor assumes input is already sorted
> --------------------------------------------------
>
>                 Key: HBASE-3599
>                 URL: https://issues.apache.org/jira/browse/HBASE-3599
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.90.0
>            Reporter: Greg Wittel
>            Priority: Minor
>
> The Result(List<KeyValue>) and Result(KeyValue[]) constructor assume that the 
> input is already sorted (HBASE-3073, HBASE-2753).  This works for normal use 
> cases, but not for hand constructed Result objects (e.g. unit tests).
> I encountered this when upgrading to 0.90 that some unit tests now failed due 
> to this.  One fix is to add some documentation on the constructors that says 
> the input MUST be sorted.  The other would be to explicitly sort the items 
> (not so desirable).

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to