[jira] [Created] (CARBONDATA-2991) NegativeArraySizeException during query execution

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (CARBONDATA-2991) NegativeArraySizeException during query execution

Akash R Nilugal (Jira)
Babulal created CARBONDATA-2991:
-----------------------------------

             Summary: NegativeArraySizeException during query execution
                 Key: CARBONDATA-2991
                 URL: https://issues.apache.org/jira/browse/CARBONDATA-2991
             Project: CarbonData
          Issue Type: Bug
    Affects Versions: 1.3.1, 1.4.0
            Reporter: Babulal


During Query Execution sometime NegativeArraySizeException  Exception in Some Tasks . And sometime Executor is lost (JVM crash)

 

ava.lang.NegativeArraySizeException at org.apache.carbondata.core.datastore.chunk.store.impl.unsafe.UnsafeVariableLengthDimesionDataChunkStore.getRow(UnsafeVariableLengthDimesionDataChunkStore.java:157) at org.apache.carbondata.core.datastore.chunk.impl.AbstractDimensionDataChunk.getChunkData(AbstractDimensionDataChunk.java:46) at org.apache.carbondata.core.scan.result.AbstractScannedResult.getNoDictionaryKeyArray(AbstractScannedResult.java:470) at org.apache.carbondata.core.scan.result.impl.NonFilterQueryScannedResult.getNoDictionaryKeyArray(NonFilterQueryScannedResult.java:102) at org.apache.carbondata.core.scan.collector.impl.DictionaryBasedResultCollector.collectData(DictionaryBasedResultCollector.java:101) at org.apache.carbondata.core.scan.processor.impl.DataBlockIteratorImpl.next(DataBlockIteratorImpl.java:51) at org.apache.carbondata.core.scan.processor.impl.DataBlockIteratorImpl.next(DataBlockIteratorImpl.java:32) at org.apache.carbondata.core.scan.result.iterator.DetailQueryResultIterator.getBatchResult(DetailQueryResultIterator.java:49)

 

 

 

Issue Analysis :- 

Possible Root Cause :- It is because existing memoryblock is removed while it was in-use. This happened  because duplicate taskid generated. Sometime freed same memory addresses are assigned to another task which will initialize memory block to0 and this cause NegativeSizeArrayException whereas sometime freed memory will not be used any task of executor process but running task will try to access it and as that address is not part of process so JVM crash will happen.

 

Method to find Cause :- 

 

!Root_Cause_Find_Step.JPG!

 

!Log_Message.JPG!

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)