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

Skip rows with empty columns when slicing entire row

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Fix Version/s: 0.8.8
    • Component/s: CQL
    • Labels:

      Description

      We have been finding that range ghosts appear in results from Hadoop via Pig. This could also happen if rows don't have data for the slice predicate that is given. This leads to having to do a painful amount of defensive checking on the Pig side, especially in the case of range ghosts.

      We would like to add an option to skip rows that have no column values in it. That functionality existed before in core Cassandra but was removed because of the performance penalty of that checking. However with Hadoop support in the RecordReader, that is batch oriented anyway, so individual row reading performance isn't as much of an issue. Also we would make it an optional config parameter for each job anyway, so people wouldn't have to incur that penalty if they are confident that there won't be those empty rows or they don't care.

      It could be parameter cassandra.skip.empty.rows and be true/false.

        Attachments

        1. 2855-v2.txt
          1 kB
          Jeremy Hanna
        2. 2855-v3.txt
          3 kB
          Jeremy Hanna
        3. 2855-v4.txt
          4 kB
          Jeremy Hanna
        4. 2855-v5.txt
          3 kB
          Brandon Williams
        5. ASF.LICENSE.NOT.GRANTED--v1-0001-CASSANDRA-2855-ignore-ghosts-when-no-predicate-specifi.txt
          5 kB
          T Jake Luciani

          Activity

            People

            • Assignee:
              tjake T Jake Luciani
              Reporter:
              jeromatron Jeremy Hanna
              Reviewer:
              Brandon Williams
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: