Taewoo Kim created ASTERIXDB-1118:
-------------------------------------
Summary: 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
Reporter: Taewoo Kim
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)