aboutsummaryrefslogtreecommitdiff
path: root/core/src
diff options
context:
space:
mode:
authorJosh Rosen <joshrosen@databricks.com>2016-01-08 20:50:08 -0800
committerReynold Xin <rxin@databricks.com>2016-01-08 20:50:08 -0800
commit1fdf9bbd67b884f23150b651f0fefdab6ccf008a (patch)
treefe1f1c5110ae741ec506287f622b86fcb07ca57d /core/src
parentd9447cac747823e71b676c08c75f4aab34de12a2 (diff)
downloadspark-1fdf9bbd67b884f23150b651f0fefdab6ccf008a.tar.gz
spark-1fdf9bbd67b884f23150b651f0fefdab6ccf008a.tar.bz2
spark-1fdf9bbd67b884f23150b651f0fefdab6ccf008a.zip
[SPARK-12730][TESTS] De-duplicate some test code in BlockManagerSuite
This patch deduplicates some test code in BlockManagerSuite. I'm splitting this change off from a larger PR in order to make things easier to review. Author: Josh Rosen <joshrosen@databricks.com> Closes #10667 from JoshRosen/block-mgr-tests-cleanup.
Diffstat (limited to 'core/src')
-rw-r--r--core/src/test/scala/org/apache/spark/storage/BlockManagerSuite.scala88
1 files changed, 25 insertions, 63 deletions
diff --git a/core/src/test/scala/org/apache/spark/storage/BlockManagerSuite.scala b/core/src/test/scala/org/apache/spark/storage/BlockManagerSuite.scala
index 21db3b1c9f..67210e5d4c 100644
--- a/core/src/test/scala/org/apache/spark/storage/BlockManagerSuite.scala
+++ b/core/src/test/scala/org/apache/spark/storage/BlockManagerSuite.scala
@@ -505,38 +505,27 @@ class BlockManagerSuite extends SparkFunSuite with Matchers with BeforeAndAfterE
}
test("in-memory LRU storage") {
- store = makeBlockManager(12000)
- val a1 = new Array[Byte](4000)
- val a2 = new Array[Byte](4000)
- val a3 = new Array[Byte](4000)
- store.putSingle("a1", a1, StorageLevel.MEMORY_ONLY)
- store.putSingle("a2", a2, StorageLevel.MEMORY_ONLY)
- store.putSingle("a3", a3, StorageLevel.MEMORY_ONLY)
- assert(store.getSingle("a2").isDefined, "a2 was not in store")
- assert(store.getSingle("a3").isDefined, "a3 was not in store")
- assert(store.getSingle("a1") === None, "a1 was in store")
- assert(store.getSingle("a2").isDefined, "a2 was not in store")
- // At this point a2 was gotten last, so LRU will getSingle rid of a3
- store.putSingle("a1", a1, StorageLevel.MEMORY_ONLY)
- assert(store.getSingle("a1").isDefined, "a1 was not in store")
- assert(store.getSingle("a2").isDefined, "a2 was not in store")
- assert(store.getSingle("a3") === None, "a3 was in store")
+ testInMemoryLRUStorage(StorageLevel.MEMORY_ONLY)
}
test("in-memory LRU storage with serialization") {
+ testInMemoryLRUStorage(StorageLevel.MEMORY_ONLY_SER)
+ }
+
+ private def testInMemoryLRUStorage(storageLevel: StorageLevel): Unit = {
store = makeBlockManager(12000)
val a1 = new Array[Byte](4000)
val a2 = new Array[Byte](4000)
val a3 = new Array[Byte](4000)
- store.putSingle("a1", a1, StorageLevel.MEMORY_ONLY_SER)
- store.putSingle("a2", a2, StorageLevel.MEMORY_ONLY_SER)
- store.putSingle("a3", a3, StorageLevel.MEMORY_ONLY_SER)
+ store.putSingle("a1", a1, storageLevel)
+ store.putSingle("a2", a2, storageLevel)
+ store.putSingle("a3", a3, storageLevel)
assert(store.getSingle("a2").isDefined, "a2 was not in store")
assert(store.getSingle("a3").isDefined, "a3 was not in store")
assert(store.getSingle("a1") === None, "a1 was in store")
assert(store.getSingle("a2").isDefined, "a2 was not in store")
// At this point a2 was gotten last, so LRU will getSingle rid of a3
- store.putSingle("a1", a1, StorageLevel.MEMORY_ONLY_SER)
+ store.putSingle("a1", a1, storageLevel)
assert(store.getSingle("a1").isDefined, "a1 was not in store")
assert(store.getSingle("a2").isDefined, "a2 was not in store")
assert(store.getSingle("a3") === None, "a3 was in store")
@@ -618,62 +607,35 @@ class BlockManagerSuite extends SparkFunSuite with Matchers with BeforeAndAfterE
}
test("disk and memory storage") {
- store = makeBlockManager(12000)
- val a1 = new Array[Byte](4000)
- val a2 = new Array[Byte](4000)
- val a3 = new Array[Byte](4000)
- store.putSingle("a1", a1, StorageLevel.MEMORY_AND_DISK)
- store.putSingle("a2", a2, StorageLevel.MEMORY_AND_DISK)
- store.putSingle("a3", a3, StorageLevel.MEMORY_AND_DISK)
- assert(store.getSingle("a2").isDefined, "a2 was not in store")
- assert(store.getSingle("a3").isDefined, "a3 was not in store")
- assert(store.memoryStore.getValues("a1") == None, "a1 was in memory store")
- assert(store.getSingle("a1").isDefined, "a1 was not in store")
- assert(store.memoryStore.getValues("a1").isDefined, "a1 was not in memory store")
+ testDiskAndMemoryStorage(StorageLevel.MEMORY_AND_DISK, _.getSingle)
}
test("disk and memory storage with getLocalBytes") {
- store = makeBlockManager(12000)
- val a1 = new Array[Byte](4000)
- val a2 = new Array[Byte](4000)
- val a3 = new Array[Byte](4000)
- store.putSingle("a1", a1, StorageLevel.MEMORY_AND_DISK)
- store.putSingle("a2", a2, StorageLevel.MEMORY_AND_DISK)
- store.putSingle("a3", a3, StorageLevel.MEMORY_AND_DISK)
- assert(store.getLocalBytes("a2").isDefined, "a2 was not in store")
- assert(store.getLocalBytes("a3").isDefined, "a3 was not in store")
- assert(store.memoryStore.getValues("a1") == None, "a1 was in memory store")
- assert(store.getLocalBytes("a1").isDefined, "a1 was not in store")
- assert(store.memoryStore.getValues("a1").isDefined, "a1 was not in memory store")
+ testDiskAndMemoryStorage(StorageLevel.MEMORY_AND_DISK, _.getLocalBytes)
}
test("disk and memory storage with serialization") {
- store = makeBlockManager(12000)
- val a1 = new Array[Byte](4000)
- val a2 = new Array[Byte](4000)
- val a3 = new Array[Byte](4000)
- store.putSingle("a1", a1, StorageLevel.MEMORY_AND_DISK_SER)
- store.putSingle("a2", a2, StorageLevel.MEMORY_AND_DISK_SER)
- store.putSingle("a3", a3, StorageLevel.MEMORY_AND_DISK_SER)
- assert(store.getSingle("a2").isDefined, "a2 was not in store")
- assert(store.getSingle("a3").isDefined, "a3 was not in store")
- assert(store.memoryStore.getValues("a1") == None, "a1 was in memory store")
- assert(store.getSingle("a1").isDefined, "a1 was not in store")
- assert(store.memoryStore.getValues("a1").isDefined, "a1 was not in memory store")
+ testDiskAndMemoryStorage(StorageLevel.MEMORY_AND_DISK_SER, _.getSingle)
}
test("disk and memory storage with serialization and getLocalBytes") {
+ testDiskAndMemoryStorage(StorageLevel.MEMORY_AND_DISK_SER, _.getLocalBytes)
+ }
+
+ def testDiskAndMemoryStorage(
+ storageLevel: StorageLevel,
+ accessMethod: BlockManager => BlockId => Option[_]): Unit = {
store = makeBlockManager(12000)
val a1 = new Array[Byte](4000)
val a2 = new Array[Byte](4000)
val a3 = new Array[Byte](4000)
- store.putSingle("a1", a1, StorageLevel.MEMORY_AND_DISK_SER)
- store.putSingle("a2", a2, StorageLevel.MEMORY_AND_DISK_SER)
- store.putSingle("a3", a3, StorageLevel.MEMORY_AND_DISK_SER)
- assert(store.getLocalBytes("a2").isDefined, "a2 was not in store")
- assert(store.getLocalBytes("a3").isDefined, "a3 was not in store")
- assert(store.memoryStore.getValues("a1") == None, "a1 was in memory store")
- assert(store.getLocalBytes("a1").isDefined, "a1 was not in store")
+ store.putSingle("a1", a1, storageLevel)
+ store.putSingle("a2", a2, storageLevel)
+ store.putSingle("a3", a3, storageLevel)
+ assert(accessMethod(store)("a2").isDefined, "a2 was not in store")
+ assert(accessMethod(store)("a3").isDefined, "a3 was not in store")
+ assert(store.memoryStore.getValues("a1").isEmpty, "a1 was in memory store")
+ assert(accessMethod(store)("a1").isDefined, "a1 was not in store")
assert(store.memoryStore.getValues("a1").isDefined, "a1 was not in memory store")
}