Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Fix Version/s: 1.2.6
    • Component/s: None
    • Labels:
      None

      Description

      We group messages by destination as follows to avoid sending multiple messages to a remote datacenter:

              // Multimap that holds onto all the messages and addresses meant for a specific datacenter
              Map<String, Multimap<Message, InetAddress>> dcMessages
      

      When we cleaned out the MessageProducer stuff for 2.0, this code

                          Multimap<Message, InetAddress> messages = dcMessages.get(dc);
      ...
                          messages.put(producer.getMessage(Gossiper.instance.getVersion(destination)), destination);
      

      turned into

                          Multimap<MessageOut, InetAddress> messages = dcMessages.get(dc);
      ...
                          messages.put(rm.createMessage(), destination);
      

      Thus, we weren't actually grouping anything anymore – each destination replica was stored under a separate Message key, unlike under the old CachingMessageProducer.

        Attachments

        1. 5632-v2.txt
          9 kB
          Jonathan Ellis
        2. fix_patch_bug.log
          4 kB
          Hayato Shimizu
        3. cassandra-topology.properties
          0.9 kB
          Hayato Shimizu
        4. 5632.txt
          5 kB
          Jonathan Ellis

          Issue Links

            Activity

              People

              • Assignee:
                jbellis Jonathan Ellis
                Reporter:
                jbellis Jonathan Ellis
                Reviewer:
                Dave Brosius
                Tester:
                Hayato Shimizu
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: