accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John Vines (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (ACCUMULO-1628) NPE on deep copied dumped memory iterator
Date Wed, 19 Nov 2014 15:41:36 GMT

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

John Vines edited comment on ACCUMULO-1628 at 11/19/14 3:41 PM:
----------------------------------------------------------------

Additonal info: no related errors as far as I can tell in the dfs datanode logs.

The error message is not correct. It says it failed to create the mem dump file, but the exception
occurs after it has been created. The exception occurs in the MemoryIterator.switchNow() call
for one, where it goes through each MI and switches them. Under the hood, this causes them
to seek in the mem dump file.

Initial thought was when it fails it just prevents the IMM from clearing out. However, we
then see exceptions afterward coming out of the full iterator stack. I have yet to determine
if it's in the iterator that attempted to switch, iterators which already had switched, or
the iterators which had not switched.


was (Author: vines):
Additonal info: no related errors as far as I can tell in the datanode logs.

The error message is a bit of a misnomer though. The mem dump file has been created, there
are EOF exceptions coming up when the sourceSwitchingIterator the memdump file up to the SSI's
key.

> NPE on deep copied dumped memory iterator
> -----------------------------------------
>
>                 Key: ACCUMULO-1628
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-1628
>             Project: Accumulo
>          Issue Type: Bug
>    Affects Versions: 1.4.0, 1.5.0
>            Reporter: Keith Turner
>            Assignee: Keith Turner
>            Priority: Blocker
>             Fix For: 1.5.2, 1.6.1, 1.7.0
>
>         Attachments: ACCUMULO-1628-1.5.2-SNAPSHOT-1.patch, ACCUMULO-1628-1.5.2-SNAPSHOT-2.patch,
ACCUMULO-1628-1.5.2-SNAPSHOT-3.patch, ACCUMULO-1628-1.patch, ACCUMULO-1628-SET_INTR.patch,
bpopp-ACCUMULO-1628.log
>
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> Accumulo may dump memory while a scan is running and transparently switch iterators from
memory to file.  If an iterator calls deepcopy after this happens, then seek will fail on
the deep copy.
> {noformat}
> java.lang.NullPointerException
> 	at org.apache.accumulo.server.tabletserver.InMemoryMap$MemoryDataSource.iterator(InMemoryMap.java:349)
> 	at org.apache.accumulo.core.iterators.system.SourceSwitchingIterator.seek(SourceSwitchingIterator.java:163)
> {noformat}



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

Mime
View raw message