Jonathan Ellis created CASSANDRA-5632:
-----------------------------------------
Summary: Cross-DC bandwidth-saving broken
Key: CASSANDRA-5632
URL: https://issues.apache.org/jira/browse/CASSANDRA-5632
Project: Cassandra
Issue Type: Bug
Components: Core
Affects Versions: 1.2.0
Reporter: Jonathan Ellis
Assignee: Jonathan Ellis
Fix For: 1.2.6
We group messages by destination as follows to avoid sending multiple messages to a remote
datacenter:
{code}
// Multimap that holds onto all the messages and addresses meant for a specific datacenter
Map<String, Multimap<Message, InetAddress>> dcMessages
{code}
When we cleaned out the MessageProducer stuff for 2.0, this code
{code}
Multimap<Message, InetAddress> messages = dcMessages.get(dc);
...
messages.put(producer.getMessage(Gossiper.instance.getVersion(destination)),
destination);
{code}
turned into
{code}
Multimap<MessageOut, InetAddress> messages = dcMessages.get(dc);
...
messages.put(rm.createMessage(), destination);
{code}
Thus, we weren't actually grouping anything anymore -- each destination replica was stored
under a separate Message key, unlike under the old CachingMessageProducer.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
|