Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-12470

Incorrect calculation of row size in o.a.s.sql.catalyst.expressions.codegen.GenerateUnsafeRowJoiner

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 1.5.2
    • Fix Version/s: 1.6.1, 2.0.0
    • Component/s: SQL
    • Labels:
      None

      Description

      While looking into https://issues.apache.org/jira/browse/SPARK-12319 I noticed that the row size is incorrectly calculated.

      The "sizeReduction" value is calculated in words:

      // The number of words we can reduce when we concat two rows together.
      // The only reduction comes from merging the bitset portion of the two rows, saving 1 word.
      val sizeReduction = bitset1Words + bitset2Words - outputBitsetWords

      but then it is subtracted from the size of the row in bytes:

      out.pointTo(buf, ${schema1.size + schema2.size}, sizeInBytes - $sizeReduction);

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                robbinspg Peter George Robbins
                Reporter:
                robbinspg Peter George Robbins
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: