You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Qiping Li (JIRA)" <ji...@apache.org> on 2015/04/28 05:53:05 UTC

[jira] [Created] (SPARK-7181) External Sorter merge with aggregation doesn't aggregate all the values for the same key when we have a total ordering

Qiping Li created SPARK-7181:
--------------------------------

             Summary: External Sorter merge with aggregation doesn't aggregate all the values for the same key when we have a total ordering
                 Key: SPARK-7181
                 URL: https://issues.apache.org/jira/browse/SPARK-7181
             Project: Spark
          Issue Type: Bug
          Components: Spark Core
    Affects Versions: 1.3.1
            Reporter: Qiping Li
            Priority: Critical
             Fix For: 1.3.2, 1.4.0


In the function {{mergeWithAggregation}} of {{ExternalSorter.scala}}, when there is a total ordering for keys K, values of the same key in the sorted iterator should be combined. Currently this is done by this:

{code}
  val elem = sorted.next()
  val k = elem._1
  var c = elem._2
  while (sorted.hasNext && sorted.head._1 == k) {
    c = mergeCombiners(c, sorted.head._2)
  }
{code}

This will only combine the first two values with the same key, which is not what expected.So in the while loop, we should call {{sorted.next()}} to combine other values too.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org