You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Hiroki Watanabe (JIRA)" <ji...@apache.org> on 2016/08/26 02:15:20 UTC

[jira] [Created] (CASSANDRA-12555) Network-Emulator Function

Hiroki Watanabe created CASSANDRA-12555:
-------------------------------------------

             Summary: Network-Emulator Function
                 Key: CASSANDRA-12555
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12555
             Project: Cassandra
          Issue Type: Wish
          Components: Tools
            Reporter: Hiroki Watanabe
            Priority: Minor


If we can use network-emulator function in Cassandra, it greatly helps us have some experiments assumed as real environment. 
For example, we can simulate the following situation in localhost with CCM or in your machine rack at hand:
{quote}
a Cluster consists of DC1 and DC2
DC1 is spatially far from DC2 (some network delay exists)
nodeA in DC1 and nodeB in DC2 are connected as follows
(nodeA:eth0) === (eth1:nodeB)
{quote}
\\ 
We design a simple usage like Linux tc command as follows.
{quote}
$ bin/nodetool netem CMD PROPERTY I/F VALUE
{quote}
If we realize 20ms RTT between DC1 and DC2, we execute the next command:
{quote}
(nodeA) $ bin/nodetool netem add delay eth0 10ms
(nodeB) $ bin/nodetool netem add delay eth1 10ms
{quote}
If we want to change RTT into 10ms, we execute the next command:
{quote}
(nodeA) $ bin/nodetool netem change delay eth0 5ms
(nodeB) $ bin/nodetool netem change delay eth0 5ms
{quote}
If we want to disable network-emulator function, we execute the next command:
{quote}
(nodeA) $ bin/nodetool netem del delay eth0
(nodeB) $ bin/nodetool netem del delay eth0
{quote}
In this design, we can implement other PROPERTYs in the future such as bandwidth.
\\
We think this function helps many people develop Cassandra!
Thank you for reading this, and what do you think about this function?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)