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

Josh Elser commented on ACCUMULO-4502:
--------------------------------------

bq. I thing you said it when you said "re-initialized to use the local memdump 
file and then re-seek()'ed." It is the seek call that results in everything 
getting setup.

No, this doesn't answer my question, Ivan. The re-seek will re-initialize the 
MemoryIterator, but I don't believe the parent HeapIterator/MultiIterator gets 
reinitialized as a part of this process. If I'm correct with this hunch, I 
don't see how topIdx in HeapIterator is getting modified when MemoryIterator is 
switched from memory to disk.

I was hoping that you could show me some series of method calls which, after 
MemoryIterators are {{switchNow()}}'d, the HeapIterator's {{topIdx}} would be 
modified. Maybe this is all moot given Keith's comments though.

> Called next when there is no top
> --------------------------------
>
>                 Key: ACCUMULO-4502
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-4502
>             Project: Accumulo
>          Issue Type: Bug
>          Components: core, tserver
>    Affects Versions: 1.6.6
>            Reporter: Ivan Bella
>            Assignee: Ivan Bella
>             Fix For: 1.7.3, 1.8.1, 2.0.0
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> This happens very rarely but we have seen the following exception (pulled 
> from a server running 1.6.4).  Looking at the code I believe this condition 
> can still happen in 1.8.0:
> java.util.concurrent.ExecutionException: java.lang.IllegalStateException: 
> Called next() when there is no top
> ...
> Caused by: java.lang.IllegalStateException: Called next() when there is no top
> HeapIterator.next(HeapIterator.java: 77)
> WrappingIterator.next(WrappingIterator.java: 96)
> MemKeyConversionIterator.next(InMemoryMap.java:162)
> SourceSwitchingIterator.readNext(SourceSwitchingIterator.java: 139)
> SourceSwitchingIterator.next(SourceSwitchingIterator.java: 123)
> PartialMutationSkippingIterator.consume(InMemoryMap.java:108)
> SkippingIterator.seek(SkippingIterator.java:43)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to