Alex Petrov created CASSANDRA-14821:
---------------------------------------
Summary: Make it possible to run multi-node coordinator/replica
tests in a single JVM
Key: CASSANDRA-14821
URL: https://issues.apache.org/jira/browse/CASSANDRA-14821
Project: Cassandra
Issue Type: Test
Reporter: Alex Petrov
Assignee: Alex Petrov
Currently, dtests are complex to write, hard to modify and slow to run. The
only option to manipulate a cluster state is either to shut down nodes or run
unreliable Byteman queries.
In order to improve the situation, a new Distributed Tester is proposed. It
fires up multiple Cassandra Instances in a single JVM. It is done through
having distinct class loaders in order to work around the singleton problem in
Cassandra. In order to be able to pass some information between the nodes, a
common class loader is used that loads up java standard library and several
helper classes. Tests look a lot like CQLTester tests would usually look like.
Each Cassandra Instance, with its distinct class loader is using serialisation
and class loading mechanisms in order to run instance-local queries and execute
node state manipulation code, hooks, callbacks etc.
First version mocks out Messaging Service and simplifies schema management by
simply running schema change commands on each of the instances separately.
Internode communication is mocked by passing ByteBuffers through shared class
loader.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]