You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "John Vines (JIRA)" <ji...@apache.org> on 2014/11/18 21:34:35 UTC

[jira] [Reopened] (ACCUMULO-1628) NPE on deep copied dumped memory iterator

     [ https://issues.apache.org/jira/browse/ACCUMULO-1628?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

John Vines reopened ACCUMULO-1628:
----------------------------------

I think this has recurred in 1.6.0 in a different with the patch you included.

{code}2014-11-14 22:08:12,745 [tserver.InMemoryMap] ERROR: Failed to create mem dump file
java.io.EOFException
        at java.io.DataInputStream.readByte(DataInputStream.java:267)
        at org.apache.accumulo.core.file.rfile.RelativeKey.fastSkip(RelativeKey.java:314)
        at org.apache.accumulo.core.file.rfile.RFile$LocalityGroupReader._seek(RFile.java:748)
        at org.apache.accumulo.core.file.rfile.RFile$LocalityGroupReader.seek(RFile.java:607)
        at org.apache.accumulo.core.iterators.system.LocalityGroupIterator.seek(LocalityGroupIterator.java:142)
        at org.apache.accumulo.core.file.rfile.RFile$Reader.seek(RFile.java:979)
        at org.apache.accumulo.core.iterators.WrappingIterator.seek(WrappingIterator.java:101)
        at org.apache.accumulo.tserver.MemKeyConversionIterator.seek(InMemoryMap.java:168)
        at org.apache.accumulo.core.iterators.system.SourceSwitchingIterator._switchNow(SourceSwitchingIterator.java:171)
        at org.apache.accumulo.core.iterators.system.SourceSwitchingIterator.switchNow(SourceSwitchingIterator.java:179)
        at org.apache.accumulo.tserver.InMemoryMap$MemoryIterator.switchNow(InMemoryMap.java:647)
        at org.apache.accumulo.tserver.InMemoryMap$MemoryIterator.access$900(InMemoryMap.java:601)
        at org.apache.accumulo.tserver.InMemoryMap.delete(InMemoryMap.java:746)
        at org.apache.accumulo.tserver.Tablet$TabletMemory.finalizeMinC(Tablet.java:327)
        at org.apache.accumulo.tserver.Tablet.minorCompact(Tablet.java:2068)
        at org.apache.accumulo.tserver.Tablet.access$4300(Tablet.java:170)
        at org.apache.accumulo.tserver.Tablet$MinorCompactionTask.run(Tablet.java:2134)
        at org.apache.accumulo.core.util.LoggingRunnable.run(LoggingRunnable.java:34)
        at org.apache.accumulo.trace.instrument.TraceRunnable.run(TraceRunnable.java:47)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at org.apache.accumulo.trace.instrument.TraceRunnable.run(TraceRunnable.java:47)
        at org.apache.accumulo.core.util.LoggingRunnable.run(LoggingRunnable.java:34)
        at java.lang.Thread.run(Thread.java:744){code}

We have an installation that is large enough with high ingest and query that is triggering it regularly. I'm currently working on acquiring the datanode logs on the other end, but the footprint and conditions for this are near identical to the original cases we were seeing the old stack traces occur in.

> 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)