Skip to content

Commit a1d66c5

Browse files
committed
Fix NullPointerException with functions.rand()
1 parent e9471d3 commit a1d66c5

File tree

1 file changed

+5
-1
lines changed
  • sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions

1 file changed

+5
-1
lines changed

sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/random.scala

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,11 @@ abstract class RDG(seed: Long) extends LeafExpression with Serializable {
3737
* Record ID within each partition. By being transient, the Random Number Generator is
3838
* reset every time we serialize and deserialize it.
3939
*/
40-
@transient protected lazy val rng = new XORShiftRandom(seed + TaskContext.get().partitionId())
40+
@transient protected lazy val partitionId = TaskContext.get() match {
41+
case null => 0
42+
case _ => TaskContext.get().partitionId()
43+
}
44+
@transient protected lazy val rng = new XORShiftRandom(seed + partitionId)
4145

4246
override def deterministic: Boolean = false
4347

0 commit comments

Comments
 (0)