aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorAaron Davidson <aaron@databricks.com>2013-11-01 21:04:09 -0700
committerAaron Davidson <aaron@databricks.com>2013-11-03 21:34:43 -0800
commit7d44dec9bd7c4bbfb8daf4843a0968797e009bea (patch)
treeea13e0cf2a0b2591def764358d83502c0571a523 /core
parent7453f31181a173f1cacb2c957455bf05e52f43c2 (diff)
downloadspark-7d44dec9bd7c4bbfb8daf4843a0968797e009bea.tar.gz
spark-7d44dec9bd7c4bbfb8daf4843a0968797e009bea.tar.bz2
spark-7d44dec9bd7c4bbfb8daf4843a0968797e009bea.zip
Fix weird bug with specialized PrimitiveVector
Diffstat (limited to 'core')
-rw-r--r--core/src/main/scala/org/apache/spark/util/collection/PrimitiveVector.scala6
1 files changed, 5 insertions, 1 deletions
diff --git a/core/src/main/scala/org/apache/spark/util/collection/PrimitiveVector.scala b/core/src/main/scala/org/apache/spark/util/collection/PrimitiveVector.scala
index 721f12b711..369519c559 100644
--- a/core/src/main/scala/org/apache/spark/util/collection/PrimitiveVector.scala
+++ b/core/src/main/scala/org/apache/spark/util/collection/PrimitiveVector.scala
@@ -21,7 +21,11 @@ package org.apache.spark.util.collection
private[spark]
class PrimitiveVector[@specialized(Long, Int, Double) V: ClassManifest](initialSize: Int = 64) {
private var numElements = 0
- private var array = new Array[V](initialSize)
+ private var array: Array[V] = _
+
+ // NB: This must be separate from the declaration, otherwise the specialized parent class
+ // will get its own array with the same initial size. TODO: Figure out why...
+ array = new Array[V](initialSize)
def apply(index: Int): V = {
require(index < numElements)