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

row cache / streaming aren't aware of each other

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Low
    • Resolution: Fixed
    • Fix Version/s: 0.7.5, 0.8 beta 1
    • Component/s: None
    • Labels:
      None
    • Severity:
      Low

      Description

      SSTableWriter.Builder.build() takes tables that resulted from streaming, repair, bootstrapping, et cetera and builds the indexes and bloom filters before "adding" it so the current node is aware of it.

      However, if there is data present in the cache for a row that is also present in the streamed table the row cache can over shadow the data in the newly built table. In other words, until the row in row cache is removed from the cache (e.g. because it's pushed out because of size, the node is restarted, the cache is manually cleared) the data in the newly built table will never be returned to clients.

      The solution that seems most reasonable at this point is to have SSTableWriter.Builder.build() (or something below it) update the row cache if the row key in the table being built is also present in the cache.

        Attachments

        1. 0001-Handle-the-row-cache-for-streamed-row.patch
          13 kB
          Sylvain Lebresne
        2. 0001-Handle-the-row-cache-for-streamed-row-v2.patch
          12 kB
          Sylvain Lebresne
        3. 2420-for-0.7.patch
          1 kB
          Sylvain Lebresne

          Activity

            People

            • Assignee:
              slebresne Sylvain Lebresne
              Reporter:
              mdennis Matthew F. Dennis
              Authors:
              Sylvain Lebresne
              Reviewers:
              Jonathan Ellis
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: