asterixdb-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ASTERIXDB-1118) ConcurrentLockManager issue: lock conversion and the same lock request from same transaction generates the abortion of that transaction
Date Wed, 18 Nov 2015 22:37:11 GMT

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

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

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

ASTERIXDB-1118: allow for lock conversion

Also improve debugability of ConcurrentLockManager and add new unit tests.

Change-Id: If49ed8d48fa8c71a52c880d4f42a2badbe6a57d7
Reviewed-on: https://asterix-gerrit.ics.uci.edu/474
Reviewed-by: Taewoo Kim <wangsaeu@gmail.com>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>


> ConcurrentLockManager issue: lock conversion and the same lock request from same transaction
generates the abortion of that transaction
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: ASTERIXDB-1118
>                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-1118
>             Project: Apache AsterixDB
>          Issue Type: Bug
>          Components: AsterixDB, Transactions
>            Reporter: Taewoo Kim
>            Assignee: Till Westmann
>            Priority: Critical
>
> There is an issue that is related to a DELETE query that can be transformed as a index-only
phase 2 plan (only reducing the number of select plan) in my branch. In this plan, during
a secondary index search, a tryLock on PK will be tried. If it succeeds, the verification
(SELECT) after the primary index can be skipped. If it fails, the verification will be applied.

> So, for my branch, the issue is that, during a secondary index search (name = "REDIN.com"),
a S lock on PK will be placed. After that, during the primary index search, another S lock
on the same PK will be placed. So far, so good. After that, to delete that tuple, DELETE operator
tries to get a X lock on the same PK and it fails. The current lock manager doesn't have a
mechanism to convert S lock to X lock when the request comes from the same transaction. Young-Seok
and I also tried to change lock types from S to X in the all places of the search (secondary
and primary). Still, it generates an error.
> To summarize,
> 1) a transaction has S lock. It requests X lock on the same PK -> transaction abort
> 2) a transaction has X lock. It requests X lock on the same PK -> transaction abort
> In the current master, this problem doesn't appear since a secondary index search doesn't
place any lock. And the primary index search is instant try lock. Thus, when DELETE operator
tries to get a X lock, it succeeds.
> ///////////////////
> drop dataverse STBench if exists;
> create dataverse STBench;
> use dataverse STBench;
> create type SimpleGeoPlaceType as closed {
>    coordinates: point,      /* geometry -> coordinates (first -> should be x, second
-> should be y) */
>     id: int64,             
>     name: string,           /* properties -> name */
>     tags: string,           /* properties -> tags (arrary of string) */
>     categories: string,     /* properties -> classifiers -> category, type, subcategory
(will be concatenated as a string) */
>     phone: string           /* properties -> phone */
> }
> create dataset SimpleGeoPlace (SimpleGeoPlaceType) primary key id;
> create index btreeName on SimpleGeoPlace(name);
> insert into dataset SimpleGeoPlace(
> { "coordinates": point("0.5,0.5"), "id": 10100000, "name": "REIDIN.com", "tags": "real-estate
property emerging-markets business-intelligence china india russia turkey brazil dubai uae",
"categories": "Professional Services Computer Services", "phone": "" }
> );
> delete $x from dataset SimpleGeoPlace
> where $x.name = "REIDIN.com"
> ////////////
> Error message:
> push Job 844424930131968
> push Resource 844424930131969
> push Request 844424930131969
> push Job 844424930131968
> org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.asterix.common.exceptions.ACIDException:
Transaction JID:277 should abort (requested by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.asterix.transaction.management.opcallbacks.PrimaryIndexModificationOperationCallback.before(PrimaryIndexModificationOperationCallback.java:62)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree.upsert(BTree.java:336)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree.access$5(BTree.java:329)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree$BTreeAccessor.upsertIfConditionElseInsert(BTree.java:901)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree$BTreeAccessor.upsert(BTree.java:894)
> 	at org.apache.hyracks.storage.am.lsm.btree.impls.LSMBTree.modify(LSMBTree.java:370)
> 	at org.apache.hyracks.storage.am.lsm.common.impls.LSMHarness.modify(LSMHarness.java:335)
> 	at org.apache.hyracks.storage.am.lsm.common.impls.LSMHarness.modify(LSMHarness.java:325)
> 	at org.apache.hyracks.storage.am.lsm.common.impls.LSMTreeIndexAccessor.delete(LSMTreeIndexAccessor.java:62)
> 	at org.apache.asterix.common.dataflow.AsterixLSMInsertDeleteOperatorNodePushable.nextFrame(AsterixLSMInsertDeleteOperatorNodePushable.java:108)
> 	at org.apache.hyracks.dataflow.std.misc.MaterializerTaskState.writeOut(MaterializerTaskState.java:75)
> 	at org.apache.hyracks.dataflow.std.misc.MaterializingOperatorDescriptor$MaterializerReaderActivityNode$1.close(MaterializingOperatorDescriptor.java:117)
> 	at org.apache.hyracks.control.nc.Task.pushFrames(Task.java:349)
> 	at org.apache.hyracks.control.nc.Task.run(Task.java:290)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.asterix.common.exceptions.ACIDException: Transaction JID:277 should
abort (requested by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.asterix.transaction.management.service.locking.ConcurrentLockManager.requestAbort(ConcurrentLockManager.java:922)
> 	at org.apache.asterix.transaction.management.service.locking.ConcurrentLockManager.enqueueWaiter(ConcurrentLockManager.java:179)
> 	at org.apache.asterix.transaction.management.service.locking.ConcurrentLockManager.lock(ConcurrentLockManager.java:154)
> 	at org.apache.asterix.transaction.management.opcallbacks.PrimaryIndexModificationOperationCallback.before(PrimaryIndexModificationOperationCallback.java:53)
> 	... 16 more
> org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.asterix.common.exceptions.ACIDException: Transaction JID:277 should abort (requested
by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.hyracks.control.nc.Task.pushFrames(Task.java:358)
> 	at org.apache.hyracks.control.nc.Task.run(Task.java:290)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.asterix.common.exceptions.ACIDException:
Transaction JID:277 should abort (requested by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.hyracks.dataflow.std.misc.MaterializerTaskState.writeOut(MaterializerTaskState.java:80)
> 	at org.apache.hyracks.dataflow.std.misc.MaterializingOperatorDescriptor$MaterializerReaderActivityNode$1.close(MaterializingOperatorDescriptor.java:117)
> 	at org.apache.hyracks.control.nc.Task.pushFrames(Task.java:349)
> 	... 4 more
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.asterix.common.exceptions.ACIDException: Transaction JID:277 should abort (requested
by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.asterix.common.dataflow.AsterixLSMInsertDeleteOperatorNodePushable.nextFrame(AsterixLSMInsertDeleteOperatorNodePushable.java:122)
> 	at org.apache.hyracks.dataflow.std.misc.MaterializerTaskState.writeOut(MaterializerTaskState.java:75)
> 	... 6 more
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.asterix.common.exceptions.ACIDException:
Transaction JID:277 should abort (requested by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.asterix.transaction.management.opcallbacks.PrimaryIndexModificationOperationCallback.before(PrimaryIndexModificationOperationCallback.java:62)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree.upsert(BTree.java:336)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree.access$5(BTree.java:329)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree$BTreeAccessor.upsertIfConditionElseInsert(BTree.java:901)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree$BTreeAccessor.upsert(BTree.java:894)
> 	at org.apache.hyracks.storage.am.lsm.btree.impls.LSMBTree.modify(LSMBTree.java:370)
> 	at org.apache.hyracks.storage.am.lsm.common.impls.LSMHarness.modify(LSMHarness.java:335)
> 	at org.apache.hyracks.storage.am.lsm.common.impls.LSMHarness.modify(LSMHarness.java:325)
> 	at org.apache.hyracks.storage.am.lsm.common.impls.LSMTreeIndexAccessor.delete(LSMTreeIndexAccessor.java:62)
> 	at org.apache.asterix.common.dataflow.AsterixLSMInsertDeleteOperatorNodePushable.nextFrame(AsterixLSMInsertDeleteOperatorNodePushable.java:108)
> 	... 7 more
> Caused by: org.apache.asterix.common.exceptions.ACIDException: Transaction JID:277 should
abort (requested by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.asterix.transaction.management.service.locking.ConcurrentLockManager.requestAbort(ConcurrentLockManager.java:922)
> 	at org.apache.asterix.transaction.management.service.locking.ConcurrentLockManager.enqueueWaiter(ConcurrentLockManager.java:179)
> 	at org.apache.asterix.transaction.management.service.locking.ConcurrentLockManager.lock(ConcurrentLockManager.java:154)
> 	at org.apache.asterix.transaction.management.opcallbacks.PrimaryIndexModificationOperationCallback.before(PrimaryIndexModificationOperationCallback.java:53)
> 	... 16 more
> Sep 30, 2015 12:40:35 PM org.apache.hyracks.control.nc.Joblet close
> WARNING: Freeing leaked 1507328 bytes
> Sep 30, 2015 12:40:35 PM org.apache.hyracks.control.nc.Joblet close
> WARNING: Freeing leaked 1638400 bytes
> org.apache.hyracks.api.exceptions.HyracksException: Job failed on account of:
> org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.asterix.common.exceptions.ACIDException: Transaction JID:277 should abort (requested
by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.hyracks.control.cc.job.JobRun.waitForCompletion(JobRun.java:211)
> 	at org.apache.hyracks.control.cc.work.WaitForJobCompletionWork$1.run(WaitForJobCompletionWork.java:48)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.asterix.common.exceptions.ACIDException:
Transaction JID:277 should abort (requested by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.hyracks.control.common.utils.ExceptionUtils.setNodeIds(ExceptionUtils.java:45)
> 	at org.apache.hyracks.control.nc.Task.run(Task.java:312)
> 	... 3 more
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.asterix.common.exceptions.ACIDException: Transaction JID:277 should abort (requested
by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.hyracks.control.nc.Task.pushFrames(Task.java:358)
> 	at org.apache.hyracks.control.nc.Task.run(Task.java:290)
> 	... 3 more
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.asterix.common.exceptions.ACIDException:
Transaction JID:277 should abort (requested by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.hyracks.dataflow.std.misc.MaterializerTaskState.writeOut(MaterializerTaskState.java:80)
> 	at org.apache.hyracks.dataflow.std.misc.MaterializingOperatorDescriptor$MaterializerReaderActivityNode$1.close(MaterializingOperatorDescriptor.java:117)
> 	at org.apache.hyracks.control.nc.Task.pushFrames(Task.java:349)
> 	... 4 more
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.asterix.common.exceptions.ACIDException: Transaction JID:277 should abort (requested
by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.asterix.common.dataflow.AsterixLSMInsertDeleteOperatorNodePushable.nextFrame(AsterixLSMInsertDeleteOperatorNodePushable.java:122)
> 	at org.apache.hyracks.dataflow.std.misc.MaterializerTaskState.writeOut(MaterializerTaskState.java:75)
> 	... 6 more
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.asterix.common.exceptions.ACIDException:
Transaction JID:277 should abort (requested by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.asterix.transaction.management.opcallbacks.PrimaryIndexModificationOperationCallback.before(PrimaryIndexModificationOperationCallback.java:62)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree.upsert(BTree.java:336)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree.access$5(BTree.java:329)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree$BTreeAccessor.upsertIfConditionElseInsert(BTree.java:901)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree$BTreeAccessor.upsert(BTree.java:894)
> 	at org.apache.hyracks.storage.am.lsm.btree.impls.LSMBTree.modify(LSMBTree.java:370)
> 	at org.apache.hyracks.storage.am.lsm.common.impls.LSMHarness.modify(LSMHarness.java:335)
> 	at org.apache.hyracks.storage.am.lsm.common.impls.LSMHarness.modify(LSMHarness.java:325)
> 	at org.apache.hyracks.storage.am.lsm.common.impls.LSMTreeIndexAccessor.delete(LSMTreeIndexAccessor.java:62)
> 	at org.apache.asterix.common.dataflow.AsterixLSMInsertDeleteOperatorNodePushable.nextFrame(AsterixLSMInsertDeleteOperatorNodePushable.java:108)
> 	... 7 more
> Caused by: org.apache.asterix.common.exceptions.ACIDException: Transaction JID:277 should
abort (requested by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.asterix.transaction.management.service.locking.ConcurrentLockManager.requestAbort(ConcurrentLockManager.java:922)
> 	at org.apache.asterix.transaction.management.service.locking.ConcurrentLockManager.enqueueWaiter(ConcurrentLockManager.java:179)
> 	at org.apache.asterix.transaction.management.service.locking.ConcurrentLockManager.lock(ConcurrentLockManager.java:154)
> 	at org.apache.asterix.transaction.management.opcallbacks.PrimaryIndexModificationOperationCallback.before(PrimaryIndexModificationOperationCallback.java:53)
> 	... 16 more
> Sep 30, 2015 12:40:35 PM org.apache.asterix.api.http.servlet.RESTAPIServlet handleRequest
> SEVERE: Job failed on account of:
> org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.asterix.common.exceptions.ACIDException: Transaction JID:277 should abort (requested
by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> org.apache.hyracks.api.exceptions.HyracksException: Job failed on account of:
> org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.asterix.common.exceptions.ACIDException: Transaction JID:277 should abort (requested
by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.hyracks.control.cc.job.JobRun.waitForCompletion(JobRun.java:211)
> 	at org.apache.hyracks.control.cc.work.WaitForJobCompletionWork$1.run(WaitForJobCompletionWork.java:48)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.asterix.common.exceptions.ACIDException:
Transaction JID:277 should abort (requested by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.hyracks.control.common.utils.ExceptionUtils.setNodeIds(ExceptionUtils.java:45)
> 	at org.apache.hyracks.control.nc.Task.run(Task.java:312)
> 	... 3 more
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.asterix.common.exceptions.ACIDException: Transaction JID:277 should abort (requested
by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.hyracks.control.nc.Task.pushFrames(Task.java:358)
> 	at org.apache.hyracks.control.nc.Task.run(Task.java:290)
> 	... 3 more
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.asterix.common.exceptions.ACIDException:
Transaction JID:277 should abort (requested by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.hyracks.dataflow.std.misc.MaterializerTaskState.writeOut(MaterializerTaskState.java:80)
> 	at org.apache.hyracks.dataflow.std.misc.MaterializingOperatorDescriptor$MaterializerReaderActivityNode$1.close(MaterializingOperatorDescriptor.java:117)
> 	at org.apache.hyracks.control.nc.Task.pushFrames(Task.java:349)
> 	... 4 more
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.asterix.common.exceptions.ACIDException: Transaction JID:277 should abort (requested
by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.asterix.common.dataflow.AsterixLSMInsertDeleteOperatorNodePushable.nextFrame(AsterixLSMInsertDeleteOperatorNodePushable.java:122)
> 	at org.apache.hyracks.dataflow.std.misc.MaterializerTaskState.writeOut(MaterializerTaskState.java:75)
> 	... 6 more
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.asterix.common.exceptions.ACIDException:
Transaction JID:277 should abort (requested by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.asterix.transaction.management.opcallbacks.PrimaryIndexModificationOperationCallback.before(PrimaryIndexModificationOperationCallback.java:62)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree.upsert(BTree.java:336)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree.access$5(BTree.java:329)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree$BTreeAccessor.upsertIfConditionElseInsert(BTree.java:901)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree$BTreeAccessor.upsert(BTree.java:894)
> 	at org.apache.hyracks.storage.am.lsm.btree.impls.LSMBTree.modify(LSMBTree.java:370)
> 	at org.apache.hyracks.storage.am.lsm.common.impls.LSMHarness.modify(LSMHarness.java:335)
> 	at org.apache.hyracks.storage.am.lsm.common.impls.LSMHarness.modify(LSMHarness.java:325)
> 	at org.apache.hyracks.storage.am.lsm.common.impls.LSMTreeIndexAccessor.delete(LSMTreeIndexAccessor.java:62)
> 	at org.apache.asterix.common.dataflow.AsterixLSMInsertDeleteOperatorNodePushable.nextFrame(AsterixLSMInsertDeleteOperatorNodePushable.java:108)
> 	... 7 more
> Caused by: org.apache.asterix.common.exceptions.ACIDException: Transaction JID:277 should
abort (requested by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.asterix.transaction.management.service.locking.ConcurrentLockManager.requestAbort(ConcurrentLockManager.java:922)
> 	at org.apache.asterix.transaction.management.service.locking.ConcurrentLockManager.enqueueWaiter(ConcurrentLockManager.java:179)
> 	at org.apache.asterix.transaction.management.service.locking.ConcurrentLockManager.lock(ConcurrentLockManager.java:154)
> 	at org.apache.asterix.transaction.management.opcallbacks.PrimaryIndexModificationOperationCallback.before(PrimaryIndexModificationOperationCallback.java:53)
> 	... 16 more
> Sep 30, 2015 12:40:35 PM org.apache.asterix.test.aql.TestsUtils executeHttpMethod
> SEVERE: org.apache.hyracks.api.exceptions.HyracksException: Job failed on account of:
> org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.asterix.common.exceptions.ACIDException: Transaction JID:277 should abort (requested
by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.hyracks.control.cc.job.JobRun.waitForCompletion(JobRun.java:211)
> 	at org.apache.hyracks.control.cc.work.WaitForJobCompletionWork$1.run(WaitForJobCompletionWork.java:48)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.asterix.common.exceptions.ACIDException:
Transaction JID:277 should abort (requested by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.hyracks.control.common.utils.ExceptionUtils.setNodeIds(ExceptionUtils.java:45)
> 	at org.apache.hyracks.control.nc.Task.run(Task.java:312)
> 	... 3 more
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.asterix.common.exceptions.ACIDException: Transaction JID:277 should abort (requested
by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.hyracks.control.nc.Task.pushFrames(Task.java:358)
> 	at org.apache.hyracks.control.nc.Task.run(Task.java:290)
> 	... 3 more
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.asterix.common.exceptions.ACIDException:
Transaction JID:277 should abort (requested by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.hyracks.dataflow.std.misc.MaterializerTaskState.writeOut(MaterializerTaskState.java:80)
> 	at org.apache.hyracks.dataflow.std.misc.MaterializingOperatorDescriptor$MaterializerReaderActivityNode$1.close(MaterializingOperatorDescriptor.java:117)
> 	at org.apache.hyracks.control.nc.Task.pushFrames(Task.java:349)
> 	... 4 more
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.asterix.common.exceptions.ACIDException: Transaction JID:277 should abort (requested
by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.asterix.common.dataflow.AsterixLSMInsertDeleteOperatorNodePushable.nextFrame(AsterixLSMInsertDeleteOperatorNodePushable.java:122)
> 	at org.apache.hyracks.dataflow.std.misc.MaterializerTaskState.writeOut(MaterializerTaskState.java:75)
> 	... 6 more
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.asterix.common.exceptions.ACIDException:
Transaction JID:277 should abort (requested by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.asterix.transaction.management.opcallbacks.PrimaryIndexModificationOperationCallback.before(PrimaryIndexModificationOperationCallback.java:62)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree.upsert(BTree.java:336)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree.access$5(BTree.java:329)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree$BTreeAccessor.upsertIfConditionElseInsert(BTree.java:901)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree$BTreeAccessor.upsert(BTree.java:894)
> 	at org.apache.hyracks.storage.am.lsm.btree.impls.LSMBTree.modify(LSMBTree.java:370)
> 	at org.apache.hyracks.storage.am.lsm.common.impls.LSMHarness.modify(LSMHarness.java:335)
> 	at org.apache.hyracks.storage.am.lsm.common.impls.LSMHarness.modify(LSMHarness.java:325)
> 	at org.apache.hyracks.storage.am.lsm.common.impls.LSMTreeIndexAccessor.delete(LSMTreeIndexAccessor.java:62)
> 	at org.apache.asterix.common.dataflow.AsterixLSMInsertDeleteOperatorNodePushable.nextFrame(AsterixLSMInsertDeleteOperatorNodePushable.java:108)
> 	... 7 more
> Caused by: org.apache.asterix.common.exceptions.ACIDException: Transaction JID:277 should
abort (requested by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.asterix.transaction.management.service.locking.ConcurrentLockManager.requestAbort(ConcurrentLockManager.java:922)
> 	at org.apache.asterix.transaction.management.service.locking.ConcurrentLockManager.enqueueWaiter(ConcurrentLockManager.java:179)
> 	at org.apache.asterix.transaction.management.service.locking.ConcurrentLockManager.lock(ConcurrentLockManager.java:154)
> 	at org.apache.asterix.transaction.management.opcallbacks.PrimaryIndexModificationOperationCallback.before(PrimaryIndexModificationOperationCallback.java:53)
> 	... 16 more
> testFile src/test/resources/runtimets/queries/dml/insert-delete-using-secondary-index/insert-delete-using-secondary-index.3.update.aql
raised an exception:
> java.lang.Exception: HTTP operation failed: 99
> STATUS LINE: HTTP/1.1 500 Server Error
> SUMMARY: Job failed on account of:
> org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.asterix.common.exceptions.ACIDException: Transaction JID:277 should abort (requested
by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
>  caused by: org.apache.hyracks.control.cc.job.JobRun.waitForCompletion(JobRun.java:211)
>  caused by: org.apache.hyracks.control.common.utils.ExceptionUtils.setNodeIds(ExceptionUtils.java:45)
>  caused by: org.apache.hyracks.control.nc.Task.pushFrames(Task.java:358)
>  caused by: org.apache.hyracks.dataflow.std.misc.MaterializerTaskState.writeOut(MaterializerTaskState.java:80)
>  caused by: org.apache.asterix.common.dataflow.AsterixLSMInsertDeleteOperatorNodePushable.nextFrame(AsterixLSMInsertDeleteOperatorNodePushable.java:122)
>  caused by: org.apache.asterix.transaction.management.opcallbacks.PrimaryIndexModificationOperationCallback.before(PrimaryIndexModificationOperationCallback.java:62)
>  caused by: org.apache.asterix.transaction.management.service.locking.ConcurrentLockManager.requestAbort(ConcurrentLockManager.java:922)
> STACKTRACE: org.apache.hyracks.api.exceptions.HyracksException: Job failed on account
of:
> org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.asterix.common.exceptions.ACIDException: Transaction JID:277 should abort (requested
by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.hyracks.control.cc.job.JobRun.waitForCompletion(JobRun.java:211)
> 	at org.apache.hyracks.control.cc.work.WaitForJobCompletionWork$1.run(WaitForJobCompletionWork.java:48)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.asterix.common.exceptions.ACIDException:
Transaction JID:277 should abort (requested by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.hyracks.control.common.utils.ExceptionUtils.setNodeIds(ExceptionUtils.java:45)
> 	at org.apache.hyracks.control.nc.Task.run(Task.java:312)
> 	... 3 more
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.asterix.common.exceptions.ACIDException: Transaction JID:277 should abort (requested
by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.hyracks.control.nc.Task.pushFrames(Task.java:358)
> 	at org.apache.hyracks.control.nc.Task.run(Task.java:290)
> 	... 3 more
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.asterix.common.exceptions.ACIDException:
Transaction JID:277 should abort (requested by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.hyracks.dataflow.std.misc.MaterializerTaskState.writeOut(MaterializerTaskState.java:80)
> 	at org.apache.hyracks.dataflow.std.misc.MaterializingOperatorDescriptor$MaterializerReaderActivityNode$1.close(MaterializingOperatorDescriptor.java:117)
> 	at org.apache.hyracks.control.nc.Task.pushFrames(Task.java:349)
> 	... 4 more
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.hyracks.api.exceptions.HyracksDataException:
org.apache.asterix.common.exceptions.ACIDException: Transaction JID:277 should abort (requested
by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.asterix.common.dataflow.AsterixLSMInsertDeleteOperatorNodePushable.nextFrame(AsterixLSMInsertDeleteOperatorNodePushable.java:122)
> 	at org.apache.hyracks.dataflow.std.misc.MaterializerTaskState.writeOut(MaterializerTaskState.java:75)
> 	... 6 more
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: org.apache.asterix.common.exceptions.ACIDException:
Transaction JID:277 should abort (requested by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.asterix.transaction.management.opcallbacks.PrimaryIndexModificationOperationCallback.before(PrimaryIndexModificationOperationCallback.java:62)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree.upsert(BTree.java:336)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree.access$5(BTree.java:329)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree$BTreeAccessor.upsertIfConditionElseInsert(BTree.java:901)
> 	at org.apache.hyracks.storage.am.btree.impls.BTree$BTreeAccessor.upsert(BTree.java:894)
> 	at org.apache.hyracks.storage.am.lsm.btree.impls.LSMBTree.modify(LSMBTree.java:370)
> 	at org.apache.hyracks.storage.am.lsm.common.impls.LSMHarness.modify(LSMHarness.java:335)
> 	at org.apache.hyracks.storage.am.lsm.common.impls.LSMHarness.modify(LSMHarness.java:325)
> 	at org.apache.hyracks.storage.am.lsm.common.impls.LSMTreeIndexAccessor.delete(LSMTreeIndexAccessor.java:62)
> 	at org.apache.asterix.common.dataflow.AsterixLSMInsertDeleteOperatorNodePushable.nextFrame(AsterixLSMInsertDeleteOperatorNodePushable.java:108)
> 	... 7 more
> Caused by: org.apache.asterix.common.exceptions.ACIDException: Transaction JID:277 should
abort (requested by the Lock Manager):
> Job 3:0:0
> Resource 3:0:1
> Request 3:0:1
> Job 3:0:0
> 	at org.apache.asterix.transaction.management.service.locking.ConcurrentLockManager.requestAbort(ConcurrentLockManager.java:922)
> 	at org.apache.asterix.transaction.management.service.locking.ConcurrentLockManager.enqueueWaiter(ConcurrentLockManager.java:179)
> 	at org.apache.asterix.transaction.management.service.locking.ConcurrentLockManager.lock(ConcurrentLockManager.java:154)
> 	at org.apache.asterix.transaction.management.opcallbacks.PrimaryIndexModificationOperationCallback.before(PrimaryIndexModificationOperationCallback.java:53)
> 	... 16 more
> 	at org.apache.asterix.test.aql.TestsUtils.executeHttpMethod(TestsUtils.java:213)
> 	at org.apache.asterix.test.aql.TestsUtils.executeUpdate(TestsUtils.java:247)
> 	at org.apache.asterix.test.aql.TestsUtils.executeTest(TestsUtils.java:427)
> 	at org.apache.asterix.test.runtime.ExecutionTest.test(ExecutionTest.java:144)
> 	at sun.reflect.GeneratedMethodAccessor16.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:606)
> 	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
> 	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> 	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
> 	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> 	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
> 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
> 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
> 	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
> 	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
> 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
> 	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
> 	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
> 	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
> 	at org.junit.runners.Suite.runChild(Suite.java:127)
> 	at org.junit.runners.Suite.runChild(Suite.java:26)
> 	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
> 	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
> 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
> 	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
> 	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
> 	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
> 	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
> 	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
> 	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
> 	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)



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


Mime
View raw message