[
https://issues.apache.org/jira/browse/CASSANDRA-14821?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16653424#comment-16653424
]
Alex Petrov commented on CASSANDRA-14821:
-----------------------------------------
[[email protected]] MessagingService mocks are great for the purposes you've
listed in the original ticket (asserting that the outgoing messages are correct
and a node proceeds correctly on response). In my view, intention here is
rather orthogonal to MS mocks, since we're trying to capture end-to-end
behaviour and interaction of multiple nodes (potentially with in different
states / having different data).
We can start off a wider discussion separately on how we could use both
approaches together or which tests we could write that would use MS mocks, as
both approaches might be useful for verifying different behaviours.
> 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
> Priority: Major
>
> 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]