public class StressTestNonBlockingLockManagerWithTxDag extends AbstractStressTestNonBlockingLockManager
TxDag
is used to detect deadlock.AbstractStressTestNonBlockingLockManager.Generate, AbstractStressTestNonBlockingLockManager.TestOptions, AbstractStressTestNonBlockingLockManager.Wait10ResourceTask<T>
DEBUG, INFO, log
Constructor and Description |
---|
StressTestNonBlockingLockManagerWithTxDag() |
StressTestNonBlockingLockManagerWithTxDag(String name) |
Modifier and Type | Method and Description |
---|---|
void |
test_multipleResourceLocking_resources10_waitsFor_deadlocks_locktries10()
Test where each operation locks one or more resources.
|
void |
test_multipleResourceLocking_resources3_waitsFor_deadlocks_locktries3()
Test where each operation locks one or more resources.
|
void |
test_singleResourceLocking_serialized_waitsFor_highConcurrency_taskTimeout()
Test where each operation locks only a single resource and there is only
one resource to be locked so that all operations MUST be serialized.
|
void |
test_singleResourceLocking_serialized_waitsFor_highConcurrency()
Test where each operation locks only a single resource and there is only
one resource to be locked so that all operations MUST be serialized.
|
void |
test_singleResourceLocking_serialized_waitsFor_lowConcurrency2()
Test where each operation locks only a single resource and there is only one
resource to be locked so that all operations MUST be serialized.
|
void |
test_singleResourceLocking_serialized_waitsFor_lowConcurrency5_withTaskDeath()
Test where each operation locks only a single resource and there is only
one resource to be locked so that all operations MUST be serialized and
where 10% of all tasks die a horrid death.
|
void |
test_singleResourceLocking_waitsFor_defaultConcurrency20()
Test where each operation locks only a single resource using a thread
pool with 20 core threads.
|
void |
test_singleResourceLocking_waitsFor_highConcurrency100()
Test where each operation locks only a single resource (high concurrency
condition with 100 threads).
|
void |
test_singleResourceLocking_waitsFor_lowConcurrency5()
Test where each operation locks only a single resource (low concurrency
condition w/ 5 threads).
|
doComparisonTest, setUpComparisonTest, tearDownComparisonTest
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, countTestCases, createResult, fail, fail, failNotEquals, failNotSame, failSame, format, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString
public StressTestNonBlockingLockManagerWithTxDag()
public StressTestNonBlockingLockManagerWithTxDag(String name)
public void test_singleResourceLocking_waitsFor_lowConcurrency5() throws Exception
Exception
public void test_singleResourceLocking_waitsFor_defaultConcurrency20() throws Exception
Exception
public void test_singleResourceLocking_waitsFor_highConcurrency100() throws Exception
Exception
public void test_singleResourceLocking_serialized_waitsFor_lowConcurrency2() throws Exception
Exception
public void test_singleResourceLocking_serialized_waitsFor_lowConcurrency5_withTaskDeath() throws Exception
Exception
public void test_singleResourceLocking_serialized_waitsFor_highConcurrency() throws Exception
Exception
public void test_singleResourceLocking_serialized_waitsFor_highConcurrency_taskTimeout() throws Exception
Exception
public void test_multipleResourceLocking_resources3_waitsFor_deadlocks_locktries3() throws Exception
Note: This condition provides the basis for deadlocks.
FIXME We don't have real-deadlocks w/o 2PL since we are processing the
lock requests atomically (all requests for a given task are posted at
once). So we don't really need TxDag
for that. Modify to support
2PL and to use TxDag
when 2PL is possible and locks are not
predeclared (you can not use 2PL if you predeclare locks).
Exception
public void test_multipleResourceLocking_resources10_waitsFor_deadlocks_locktries10() throws Exception
Note: This condition provides the basis for deadlocks. In fact, since we
have 10 resource locks for each operation and only 100 resources the
chances of a deadlock on any given operation are extremely high.
FIXME We don't have real-deadlocks w/o 2PL since we are processing the
lock requests atomically (all requests for a given task are posted at
once). So we don't really need TxDag
for that. Modify to support
2PL and to use TxDag
when 2PL is possible and locks are not
predeclared (you can not use 2PL if you predeclare locks).
Exception
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.