Chen Luo created ASTERIXDB-1872:
-----------------------------------

             Summary: java.lang.IndexOutOfBoundsException when ingesting data 
using small memory component size
                 Key: ASTERIXDB-1872
                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-1872
             Project: Apache AsterixDB
          Issue Type: Bug
          Components: Feeds, Storage
            Reporter: Chen Luo
            Priority: Minor
         Attachments: asterix-build-configuration-lsm.xml, 
ingestTwitterToLocalCluster.sh

I was testing LSM merge policies recently, and thus I used small memory 
component size (storage.memorycomponent.numpages=8, 
storage.buffercache.pagesize=128kb). However, when ingesting some sample 
tweets, I kept receiving java.lang.IndexOutOfBoundsException
<code>
java.lang.IndexOutOfBoundsException
        at java.nio.Buffer.checkIndex(Buffer.java:546)
        at java.nio.HeapByteBuffer.getInt(HeapByteBuffer.java:365)
        at 
org.apache.hyracks.storage.am.common.frames.LIFOMetaDataFrame.isInner(LIFOMetaDataFrame.java:210)
        at 
org.apache.hyracks.storage.am.common.frames.LIFOMetaDataFrame.get(LIFOMetaDataFrame.java:174)
        at 
org.apache.hyracks.storage.am.common.freepage.AppendOnlyLinkedMetadataPageManager.get(AppendOnlyLinkedMetadataPageManager.java:332)
        at 
org.apache.asterix.common.ioopcallbacks.AbstractLSMIOOperationCallback.getTreeIndexLSN(AbstractLSMIOOperationCallback.java:106)
        at 
org.apache.asterix.common.ioopcallbacks.LSMBTreeIOOperationCallback.getComponentLSN(LSMBTreeIOOperationCallback.java:72)
        at 
org.apache.asterix.common.ioopcallbacks.AbstractLSMIOOperationCallback.putLSNIntoMetadata(AbstractLSMIOOperationCallback.java:100)
        at 
org.apache.asterix.common.ioopcallbacks.LSMBTreeIOOperationCallback.afterOperation(LSMBTreeIOOperationCallback.java:47)
        at 
org.apache.hyracks.storage.am.lsm.common.impls.LSMHarness.merge(LSMHarness.java:519)
        at 
org.apache.hyracks.storage.am.lsm.common.impls.LSMTreeIndexAccessor.merge(LSMTreeIndexAccessor.java:112)
        at 
org.apache.hyracks.storage.am.lsm.btree.impls.LSMBTreeMergeOperation.call(LSMBTreeMergeOperation.java:83)
        at 
org.apache.hyracks.storage.am.lsm.btree.impls.LSMBTreeMergeOperation.call(LSMBTreeMergeOperation.java:1)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
<code>

Is this behavior expected?

Steps to reproduce
1. I started a simple cluster with one CC and one NC using 
org.apache.asterix.api.common.AsterixHyracksIntegrationUtil, and the 
configuration file is attached.

2. The sample tweets I used is from "https://github.com/ISG-ICS/cloudberry";.
The tweets can be ingested by entering the root directory of the project and 
typing "./script/ingestTwitterToLocalCluster.sh".
Note: please use the modified ingestTwitterToLocalCluster.sh attached.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to