Details

    • Type: Improvement
    • Status: Resolved
    • Priority: High
    • Resolution: Fixed
    • Fix Version/s: 4.0
    • Component/s: Messaging/Internode
    • Labels:
      None

      Description

      CASSANDRA-8457 introduced asynchronous networking to internode messaging, but there have been several follow-up endeavours to improve some semantic issues. CASSANDRA-14503 and CASSANDRA-13630 are the latest such efforts, and were combined some months ago into a single overarching refactor of the original work, to address some of the issues that have been discovered. Given the criticality of this work to the project, we wanted to bring some more eyes to bear to ensure the release goes ahead smoothly. In doing so, we uncovered a number of issues with messaging, some of which long standing, that we felt needed to be addressed. This patch widens the scope of CASSANDRA-14503 and CASSANDRA-13630 in an effort to close the book on the messaging service, at least for the foreseeable future.

      The patch includes a number of clarifying refactors that touch outside of the net.async package, and a number of semantic changes to the net.async packages itself. We believe it clarifies the intent and behaviour of the code while improving system stability, which we will outline in comments below.

      https://github.com/belliottsmith/cassandra/tree/messaging-improvements

        Attachments

        1. baseline_patch_vs_30x.png
          193 kB
          Joseph Lynch
        2. 60k_RPS.png
          156 kB
          Joseph Lynch
        3. increasing_reads_latency.png
          87 kB
          Joseph Lynch
        4. 60k_RPS_CPU_bottleneck.png
          63 kB
          Joseph Lynch
        5. 20k_backfill.png
          81 kB
          Joseph Lynch
        6. many_reads_cass_perf_ft_msg_tst.svg
          1.32 MB
          Joseph Lynch
        7. backfill_cass_perf_ft_msg_tst.svg
          1.50 MB
          Joseph Lynch

          Issue Links

            Activity

              People

              • Assignee:
                benedict Benedict
                Reporter:
                benedict Benedict
                Authors:
                Aleksey Yeschenko, Benedict
                Reviewers:
                Aleksey Yeschenko, Alex Petrov, Benedict
              • Votes:
                0 Vote for this issue
                Watchers:
                25 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: