Github user joan38 commented on a diff in the pull request:
https://github.com/apache/spark/pull/12157#discussion_r58634718
--- Diff: core/src/main/scala/org/apache/spark/rdd/HadoopRDD.scala ---
@@ -53,14 +53,22 @@ import org.apache.spark.util.{NextIterator,
SerializableConfiguration, ShutdownH
/**
* A Spark split class that wraps around a Hadoop InputSplit.
*/
-private[spark] class HadoopPartition(rddId: Int, idx: Int, s: InputSplit)
+private[spark] class HadoopPartition(rddId: Int, override val index: Int,
s: InputSplit)
extends Partition {
val inputSplit = new SerializableWritable[InputSplit](s)
- override def hashCode(): Int = 41 * (41 + rddId) + idx
+ override def hashCode(): Int = 41 * (41 + rddId) + index
- override val index: Int = idx
+ def canEqual(other: Any): Boolean = other.isInstanceOf[HadoopPartition]
+
+ override def equals(other: Any): Boolean = other match {
+ case that: HadoopPartition =>
+ super.equals(that) &&
+ (that canEqual this) &&
+ index == that.index
--- End diff --
Lot's of questions... Do we need more people to review this? Or I can leave
this for now but that will just report the issue to later.
Here is something I was thinking of:
```scala
private[spark] class HadoopPartition(
private val rddId: Int,
override val index: Int,
s: InputSplit)
extends Partition {
val inputSplit = new SerializableWritable[InputSplit](s)
override def hashCode(): Int = 41 * (41 + rddId) + index
override def equals(other: Any): Boolean = other match {
case that: HadoopPartition =>
super.equals(that) &&
rddId == that.rddId &&
index == that.index
case _ => false
}
...
```
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]