Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Fix Version/s: 1.2.6
    • Component/s: Core
    • 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.

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

        Issue Links

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development