asterixdb-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Taewoo Kim (JIRA)" <j...@apache.org>
Subject [jira] [Created] (ASTERIXDB-1118) ConcurrentLockManager issue: lock conversion and the same lock request from same transaction generates the abortion of that transaction
Date Wed, 30 Sep 2015 19:48:05 GMT
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)

Mime
View raw message