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

ASF subversion and git services commented on ACCUMULO-1994:
-----------------------------------------------------------

Commit 27ee2367056e5ad0cb6175f91154cd13d49e2c95 in branch refs/heads/master 
from [~ecn]
[ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=27ee236 ]

ACCUMULO-1993 ACCUMULO-1994 make proxy useful for ruby, fix getRowRange (and 
test it)


> proxy does not handle Key timestamps correctly
> ----------------------------------------------
>
>                 Key: ACCUMULO-1994
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-1994
>             Project: Accumulo
>          Issue Type: Bug
>          Components: proxy
>    Affects Versions: 1.4.4, 1.5.0
>            Reporter: Brian Loss
>            Assignee: Eric Newton
>             Fix For: 1.4.5, 1.5.1, 1.6.0
>
>
> The proxy thrift IDL does not declare any default values for the Key struct.  
> This means that timestamp will default to 0.  However, in Java it defaults to 
> Long.MAX_VALUE.  This means that ranges created through the proxy may behave 
> differently than ranges created in Java.  For example, say in Ruby I create a 
> range as follows
> {code}
> range = Range.new(:start => Key.new(:row => "row1"), :startInclusive => true, 
> :stop => Key.new(:row => "row2"), :stopInclusive => true)
> {code}
> This range will not include any keys in row1 that don't have a column family, 
> qualifier, or visibility since timestamp of 0 sorts last.  If I created the 
> same range in Java, those keys would be included.
> Change the thrift IDL to declare 0x7FFFFFFFFFFFFFFF (Long.MAX_VALUE) as the 
> default value for timstamp so that the thrift-generated Key class behaves the 
> same way as the Java version.
> [~kturner] pointed me to the getRowRange helper method on the AccumuloProxy 
> service.  This method helps in some cases, but not the case I mentioned above 
> since I have two arbitrary rows.  Also, in looking through the code in 
> ProxyServer, Keith noticed that the code does not seem to handle timestamps 
> correctly.  For example, the getRowRange method does not pass a timestamp at 
> all (not even the EMPTY value).  Also, the internal helper method getProxyKey 
> ignores the timestamp on the incoming key.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to