Uploaded image for project: 'Apache Cassandra'
  1. Apache Cassandra
  2. CASSANDRA-3639

Move streams too many data

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Low
    • Resolution: Fixed
    • 1.1.0
    • None
    • None

    Description

      During a move operation, we observed that the node streamed most of its data and received all its data.

      We are running Cassandra 0.8.7 (plus a few patches)

      After reading the code related to "move", we found out that :

      • in StorageService.java, line 2002 and line 2004 => ranges are returned in a non ordered collection, but calculateStreamAndFetchRanges() method (line 2011) assume ranges are sorted, thus, resulting in wider ranges to be fetched/streamed

      We managed to isolate and reproduce this in a unit test.
      We also propose a patch which :

      • does not rely on any sort
      • adds a few unit tests (may not be exhaustive...)

      Unit tests are done only for RF=2 and for the "OldNetworkStrategyTopology". For the sake of simplicity, we've put them in OldNetworkStrategyTopologyTest, but they probably should be moved.

      Attachments

        Activity

          People

            frousseau Fabien Rousseau
            frousseau Fabien Rousseau
            Fabien Rousseau
            paul cannon
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: