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]

Reply via email to