incubator-cassandra-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jonathan Ellis <jbel...@gmail.com>
Subject Re: Trying to write tests for CASSANDRA-3127 (Internode Compression)
Date Sun, 23 Oct 2011 16:18:30 GMT
I see a couple options.

StorageProxy has this constant:

    private static final boolean OPTIMIZE_LOCAL_REQUESTS = true; //
set to false to test messagingservice path on single node

So, you could make it an instance variable and create a SP object with
it set to false for tests.

Or, you could do a test using ccm for multinode control, as in the
long_read.sh test on
https://issues.apache.org/jira/browse/CASSANDRA-3303.

On Fri, Oct 21, 2011 at 4:28 PM, Zach Richardson
<j.zach.richardson@gmail.com> wrote:
> Hi All,
>
> I have been working on an implementation for internode compression
> (CASSANDRA-3127.) https://issues.apache.org/jira/browse/CASSANDRA-3127
>
> I have written code that "works," but I'm looking for some advice on
> how to write unit tests for it.  At the moment it compresses where:
>
> interrnode_message_compression_threshold > 0 means it compress
> messages larger than it
> compresses all messags if it is == 0
> and compresses none if less than 0
>
> The code itself has been tested in an environment outside of cassandra
> (i.e. a few mock classes, and a heavily modified OutboundTcpConnection
> and IncomingTcpConnection.) and inside of Cassandra all of the current
> unit tests are passing.
>
> Since I can't inject a mocked MessagingService into
> IncomingTcpConnection, I'm guessing I have to do the testing from the
> outside of MessagingService, but the MessagingService itself checks to
> see if you are sending messages to yourself, and doesn't put them over
> the connection.  Are there any tricks to letting me mock different
> endpoints from within a unit test?
>
> Can this only be tested in a distributed fashion at the OS level?
>
> Also the internode_message_compression_threshold is set through the
> cassandra.yaml file--is it possible to set these properties at
> runtime?  Can I just change the public entry for it in the static
> Config class directly, or will that break other things?
>
> Thanks for you help and time,
>
> Zach
>



-- 
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of DataStax, the source for professional Cassandra support
http://www.datastax.com

Mime
View raw message