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

ASF subversion and git services commented on ASTERIXDB-1696:
------------------------------------------------------------

Commit f309eb4afc5387f120359c27a3742d6b03eda30f in asterixdb's branch 
refs/heads/master from [~mblow]
[ https://git-wip-us.apache.org/repos/asf?p=asterixdb.git;h=f309eb4 ]

ASTERIXDB-1696 - Big Object Spanning Log File Boundary

- Big objects spanning log file boundary produces
ArrayIndexOutOfBoundsException.  Refactored large log page logic to
correctly handle big objects at log file boundaries.
- Add regression test

Change-Id: Ifd5ac08a8bcf4a1e0804aa05bd7e52169a0cf1bc
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1296
Reviewed-by: Murtadha Hubail <hubail...@gmail.com>
Reviewed-by: Ian Maxon <ima...@apache.org>
Tested-by: Jenkins <jenk...@fulliautomatix.ics.uci.edu>


> Big objects spanning log file boundary produces ArrayIndexOutOfBoundsException
> ------------------------------------------------------------------------------
>
>                 Key: ASTERIXDB-1696
>                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-1696
>             Project: Apache AsterixDB
>          Issue Type: Bug
>          Components: AsterixDB
>            Reporter: Michael Blow
>            Assignee: Michael Blow
>
> FYI: each test will be run 1000 times.
> [1/1000] Expected results file: 
> /var/folders/5x/qdtntlds0fgcgknzwf61khvh0000gn/T/template.5778240242743996115.big_object_feed_20M.1.adm
> [2/1000] Expected results file: 
> /var/folders/5x/qdtntlds0fgcgknzwf61khvh0000gn/T/template.1266068079871898912.big_object_feed_20M.1.adm
> [3/1000] Expected results file: 
> /var/folders/5x/qdtntlds0fgcgknzwf61khvh0000gn/T/template.6993159241126337116.big_object_feed_20M.1.adm
> [4/1000] Expected results file: 
> /var/folders/5x/qdtntlds0fgcgknzwf61khvh0000gn/T/template.596733397297092827.big_object_feed_20M.1.adm
> [5/1000] java.lang.ArrayIndexOutOfBoundsException
>       at java.lang.System.arraycopy(Native Method)
>       at 
> org.apache.hyracks.storage.am.common.tuples.SimpleTupleWriter.writeTuple(SimpleTupleWriter.java:82)
>       at 
> org.apache.asterix.common.transactions.LogRecord.writeTuple(LogRecord.java:212)
>       at 
> org.apache.asterix.common.transactions.LogRecord.doWriteLogRecord(LogRecord.java:146)
>       at 
> org.apache.asterix.common.transactions.LogRecord.writeLogRecord(LogRecord.java:182)
>       at 
> org.apache.asterix.transaction.management.service.logging.LogBuffer.append(LogBuffer.java:92)
>       at 
> org.apache.asterix.transaction.management.service.logging.LogManager.syncAppendToLogTail(LogManager.java:170)
>       at 
> org.apache.asterix.transaction.management.service.logging.LogManager.appendToLogTail(LogManager.java:128)
>       at 
> org.apache.asterix.transaction.management.service.logging.LogManager.log(LogManager.java:124)
>       at 
> org.apache.asterix.transaction.management.opcallbacks.AbstractIndexModificationOperationCallback.log(AbstractIndexModificationOperationCallback.java:81)
>       at 
> org.apache.asterix.transaction.management.opcallbacks.PrimaryIndexModificationOperationCallback.found(PrimaryIndexModificationOperationCallback.java:108)
>       at 
> org.apache.hyracks.storage.am.btree.impls.BTree.insertLeaf(BTree.java:376)
>       at 
> org.apache.hyracks.storage.am.btree.impls.BTree.upsertLeaf(BTree.java:530)
>       at 
> org.apache.hyracks.storage.am.btree.impls.BTree.performOp(BTree.java:771)
>       at 
> org.apache.hyracks.storage.am.btree.impls.BTree.insertUpdateOrDelete(BTree.java:312)
>       at 
> org.apache.hyracks.storage.am.btree.impls.BTree.upsert(BTree.java:345)
>       at 
> org.apache.hyracks.storage.am.btree.impls.BTree.access$500(BTree.java:74)
>       at 
> org.apache.hyracks.storage.am.btree.impls.BTree$BTreeAccessor.upsertIfConditionElseInsert(BTree.java:953)
>       at 
> org.apache.hyracks.storage.am.lsm.btree.impls.LSMBTree.insert(LSMBTree.java:402)
>       at 
> org.apache.hyracks.storage.am.lsm.btree.impls.LSMBTree.modify(LSMBTree.java:343)
>       at 
> org.apache.hyracks.storage.am.lsm.common.impls.LSMHarness.modify(LSMHarness.java:376)
>       at 
> org.apache.hyracks.storage.am.lsm.common.impls.LSMHarness.modify(LSMHarness.java:363)
>       at 
> org.apache.hyracks.storage.am.lsm.common.impls.LSMTreeIndexAccessor.insert(LSMTreeIndexAccessor.java:50)
>       at 
> org.apache.asterix.common.dataflow.AsterixLSMInsertDeleteOperatorNodePushable.nextFrame(AsterixLSMInsertDeleteOperatorNodePushable.java:126)
>       at 
> org.apache.asterix.external.feed.dataflow.SyncFeedRuntimeInputHandler.nextFrame(SyncFeedRuntimeInputHandler.java:46)
>       at 
> org.apache.asterix.external.operators.FeedMetaStoreNodePushable.nextFrame(FeedMetaStoreNodePushable.java:145)
>       at org.apache.hyracks.control.nc.Task.pushFrames(Task.java:361)
>       at org.apache.hyracks.control.nc.Task.run(Task.java:309)
>       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)



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

Reply via email to