@Tag(value="PERFORMANCE_TESTS") public abstract class JanusGraphConcurrentTest extends JanusGraphBaseTest
JanusGraphBaseTest.TestConfigOptionconfig, DEFAULT_THREAD_COUNT, features, graph, ID_NAME, LABEL_NAME, logManagers, mgmt, readConfig, testInfo, tx| Constructor and Description |
|---|
JanusGraphConcurrentTest() |
| Modifier and Type | Method and Description |
|---|---|
void |
concurrentIndexReadWriteTest() |
void |
concurrentReadCommittedOnlyWithScriptEngine()
Different threads should not be able to read uncommitted changes made by other threads
when using a script engine
|
void |
concurrentReadsOnSingleTransaction()
Insert an extremely simple graph and start
TASK_COUNT simultaneous readers in an executor with
THREAD_COUNT threads.
|
void |
concurrentReadWriteOnSingleTransaction()
Tail many readers, as in
concurrentReadsOnSingleTransaction(),
but also start some threads that add and remove relationships and
properties while the readers are working; all tasks share a common
transaction. |
void |
concurrentTxRead() |
void |
setUp(org.junit.jupiter.api.TestInfo testInfo) |
void |
tearDown() |
void |
testStandardIndexVertexPropertyReads()
Load-then-read test of standard-indexed vertex properties.
|
protected void |
testStandardIndexVertexPropertyReadsLogic() |
assertMissing, asStream, clearGraph, clopen, close, closeLogManager, createExternalEdgeIndex, createExternalVertexIndex, disableIndex, discardIndex, dropIndex, enableIndex, evaluateQuery, evaluateQuery, evaluateQuery, evaluateQuery, evaluateQuery, evaluateQuery, evaluateQuery, executeScanJob, executeScanJob, finishSchema, getBackend, getConfig, getConfiguration, getE, getExternalIndex, getForceIndexGraph, getForceIndexGraph, getId, getOnlyEdge, getOnlyElement, getOnlyElement, getOnlyElement, getOnlyElement, getOnlyVertex, getStoreFeatures, getThreadCount, getV, getVertex, getVertex, getVertex, getVertex, makeKey, makeKeyedEdgeLabel, makeLabel, makeVertexIndexedKey, makeVertexIndexedUniqueKey, markIndexDiscarded, n, newTx, open, openTxLog, openUserLog, option, round, validateConfigOptions, verifyElementOrder, verifyElementOrder, wrapAround@BeforeEach
public void setUp(org.junit.jupiter.api.TestInfo testInfo)
throws Exception
setUp in class JanusGraphBaseTestException@AfterEach
public void tearDown()
throws Exception
tearDown in class JanusGraphBaseTestException@RepeatedTest(value=10)
public void concurrentTxRead()
throws Exception
Exception@RepeatedTest(value=10)
public void concurrentReadsOnSingleTransaction()
throws Exception
Exception@Test
public void concurrentReadCommittedOnlyWithScriptEngine()
throws Exception
Exception@RepeatedTest(value=10)
public void concurrentReadWriteOnSingleTransaction()
throws Exception
concurrentReadsOnSingleTransaction(),
but also start some threads that add and remove relationships and
properties while the readers are working; all tasks share a common
transaction.
The readers do not look for the properties or relationships the writers are mutating, since this is all happening on a common transaction.
Exception@RepeatedTest(value=10)
public void concurrentIndexReadWriteTest()
throws Exception
Exception@RepeatedTest(value=10)
public void testStandardIndexVertexPropertyReads()
throws InterruptedException,
ExecutionException
The load stage is serial. The read stage is concurrent.
Create a set of vertex property types with standard indices (threadPoolSize * 5 by default) serially. Serially write 1k vertices with values for all of the indexed property types. Concurrently query the properties. Each thread uses a single, distinct transaction for all index retrievals in that thread.
protected void testStandardIndexVertexPropertyReadsLogic()
throws InterruptedException,
ExecutionException
Copyright © 2012–2024. All rights reserved.