What you're asking for with the startKey created by the Range already happens. Check out:

https://github.com/apache/accumulo/blob/1.6/core/src/main/java/org/apache/accumulo/core/data/Range.java#L124

The constructor for Key which accepts a startRow already makes the Key with a timestamp of Long.MAX_VALUE.

But, the end key for that Range which you provided is also wrong as it wouldn't include any columns within that row.

However, I had thought you were saying that the proxy was doing something different (incorrect) as compared to the Java API. Are you saying that you think the Java API is wrong? Sorry I didn't clarify earlier.

Andrew Wells wrote:
Maybe we can change:

public Range(Text row) {
   this(row, true, row, true);
}

to

public Range(Text row) {
this( (startRow == null ? null : new Key(startRow,Long.MAX_VALUE) ) , true,
(endRow == null ? null : new Key(endRow, 0)), true);
}


On Fri, Oct 24, 2014 at 12:00 PM, Josh Elser<[email protected]>  wrote:

Oh good. That was the ticket I was vaguely remembering :)

I have only done cursory poking with the proxy myself. I assume the
general approach we'd want the proxy to follow is to match exactly how the
Java API works. If you're seeing a discrepancy, that's definitely something
we want to change.


Andrew Wells wrote:

Also, i just found this: https://issues.apache.org/
jira/browse/ACCUMULO-1994

which might be why its currently Long.MAX_VALUE

So maybe a change in the Range implementation, not familiar with Proxy

On Fri, Oct 24, 2014 at 11:36 AM, Andrew Wells<[email protected]>
wrote:

  John, that is probably true too...
On Fri, Oct 24, 2014 at 11:26 AM, Andrew Wells<[email protected]>
wrote:

  this would be in SNAPSHOT 1.6

On Fri, Oct 24, 2014 at 11:08 AM, John Vines<[email protected]>   wrote:

  Makes me think the Range(Text row) constructor should be row, true,
row,
false

On Fri, Oct 24, 2014 at 10:53 AM, Andrew Wells<[email protected]>
wrote:

  It may be need to change either the implementation of Key::new(Text
row),

or change the way Range::exact(Text row) matches

Trace on Key::new(Text row)
line: 102
line: 75


Trace on Range exact(Text row)
line 656
line 82
line 123

This causes Range exact(Text row) to never match



--
*Andrew George Wells*
*Software Engineer*
*[email protected]<[email protected]>*


--
*Andrew George Wells*
*Software Engineer*
*[email protected]<[email protected]>*



--
*Andrew George Wells*
*Software Engineer*
*[email protected]<[email protected]>*






Reply via email to