accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sean Busbey (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ACCUMULO-1897) Bug in MemKeyConversionIterator constructor
Date Thu, 03 Apr 2014 08:22:16 GMT

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

Sean Busbey commented on ACCUMULO-1897:
---------------------------------------

I believe this constructor can be removed.

# AFAICT, it's only used in the deepCopy implementation. 
# [the API for deepCopy says that it makes a copy as if seek() has not been called|http://accumulo.apache.org/1.5/apidocs/org/apache/accumulo/core/iterators/SortedKeyValueIterator.html#deepCopy(org.apache.accumulo.core.iterators.IteratorEnvironment)]
# all of the other methods require a seek call before they can be used
# seek overwrites currKey

Rather than add a test to express this error and fix it, we should pull the Constructor and
update deepCopy to use the single argument constructor.

> Bug in MemKeyConversionIterator constructor
> -------------------------------------------
>
>                 Key: ACCUMULO-1897
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-1897
>             Project: Accumulo
>          Issue Type: Bug
>          Components: tserver
>    Affects Versions: 1.5.0, 1.5.1
>            Reporter: Bill Havanki
>             Fix For: 1.5.2, 1.6.0
>
>
> The constructor for {{InMemoryMap.MemKeyConversionIterator}} which takes a starting key
does not correctly clone the key. The parameter to the constructor is {{startKey}}, but the
code looks at the {{currKey}} field to check whether a key is available.
> {code:java}
> if (currKey != null)  // <- should be startKey != null
>         currKey = (MemKey) startKey.clone();
> {code}
> This class was introduced in version 1.5.0, and is not present in 1.4.x.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message