Repository: spark
Updated Branches:
  refs/heads/master eaafcd8a2 -> 3528c08be


[SPARK-25611][SPARK-25612][SQL][TESTS] Improve test run time of 
CompressionCodecSuite

## What changes were proposed in this pull request?
Reduced the combination of codecs from 9 to 3 to improve the test runtime.

## How was this patch tested?
This is a test fix.

Closes #22641 from dilipbiswal/SPARK-25611.

Authored-by: Dilip Biswal <dbis...@us.ibm.com>
Signed-off-by: Sean Owen <sean.o...@databricks.com>


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/3528c08b
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/3528c08b
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/3528c08b

Branch: refs/heads/master
Commit: 3528c08bebbcad3dee7557945ddcd31c99deb50e
Parents: eaafcd8
Author: Dilip Biswal <dbis...@us.ibm.com>
Authored: Wed Oct 10 08:51:16 2018 -0700
Committer: Sean Owen <sean.o...@databricks.com>
Committed: Wed Oct 10 08:51:16 2018 -0700

----------------------------------------------------------------------
 .../spark/sql/hive/CompressionCodecSuite.scala  | 54 ++++++++------------
 1 file changed, 21 insertions(+), 33 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/spark/blob/3528c08b/sql/hive/src/test/scala/org/apache/spark/sql/hive/CompressionCodecSuite.scala
----------------------------------------------------------------------
diff --git 
a/sql/hive/src/test/scala/org/apache/spark/sql/hive/CompressionCodecSuite.scala 
b/sql/hive/src/test/scala/org/apache/spark/sql/hive/CompressionCodecSuite.scala
index 1bd7e52..398f4d2 100644
--- 
a/sql/hive/src/test/scala/org/apache/spark/sql/hive/CompressionCodecSuite.scala
+++ 
b/sql/hive/src/test/scala/org/apache/spark/sql/hive/CompressionCodecSuite.scala
@@ -229,8 +229,8 @@ class CompressionCodecSuite extends TestHiveSingleton with 
ParquetTest with Befo
       tableCompressionCodecs: List[String])
       (assertionCompressionCodec: (Option[String], String, String, Long) => 
Unit): Unit = {
     withSQLConf(getConvertMetastoreConfName(format) -> 
convertMetastore.toString) {
-      tableCompressionCodecs.foreach { tableCompression =>
-        compressionCodecs.foreach { sessionCompressionCodec =>
+      tableCompressionCodecs.zipAll(compressionCodecs, null, "SNAPPY").foreach 
{
+        case (tableCompression, sessionCompressionCodec) =>
           withSQLConf(getSparkCompressionConfName(format) -> 
sessionCompressionCodec) {
             // 'tableCompression = null' means no table-level compression
             val compression = Option(tableCompression)
@@ -240,7 +240,6 @@ class CompressionCodecSuite extends TestHiveSingleton with 
ParquetTest with Befo
                   compression, sessionCompressionCodec, realCompressionCodec, 
tableSize)
             }
           }
-        }
       }
     }
   }
@@ -262,7 +261,10 @@ class CompressionCodecSuite extends TestHiveSingleton with 
ParquetTest with Befo
     }
   }
 
-  def checkForTableWithCompressProp(format: String, compressCodecs: 
List[String]): Unit = {
+  def checkForTableWithCompressProp(
+      format: String,
+      tableCompressCodecs: List[String],
+      sessionCompressCodecs: List[String]): Unit = {
     Seq(true, false).foreach { isPartitioned =>
       Seq(true, false).foreach { convertMetastore =>
         Seq(true, false).foreach { usingCTAS =>
@@ -271,10 +273,10 @@ class CompressionCodecSuite extends TestHiveSingleton 
with ParquetTest with Befo
             isPartitioned,
             convertMetastore,
             usingCTAS,
-            compressionCodecs = compressCodecs,
-            tableCompressionCodecs = compressCodecs) {
+            compressionCodecs = sessionCompressCodecs,
+            tableCompressionCodecs = tableCompressCodecs) {
             case (tableCodec, sessionCodec, realCodec, tableSize) =>
-              val expectCodec = tableCodec.get
+              val expectCodec = tableCodec.getOrElse(sessionCodec)
               assert(expectCodec == realCodec)
               assert(checkTableSize(
                 format, expectCodec, isPartitioned, convertMetastore, 
usingCTAS, tableSize))
@@ -284,36 +286,22 @@ class CompressionCodecSuite extends TestHiveSingleton 
with ParquetTest with Befo
     }
   }
 
-  def checkForTableWithoutCompressProp(format: String, compressCodecs: 
List[String]): Unit = {
-    Seq(true, false).foreach { isPartitioned =>
-      Seq(true, false).foreach { convertMetastore =>
-        Seq(true, false).foreach { usingCTAS =>
-          checkTableCompressionCodecForCodecs(
-            format,
-            isPartitioned,
-            convertMetastore,
-            usingCTAS,
-            compressionCodecs = compressCodecs,
-            tableCompressionCodecs = List(null)) {
-            case (tableCodec, sessionCodec, realCodec, tableSize) =>
-              // Always expect session-level take effect
-              assert(sessionCodec == realCodec)
-              assert(checkTableSize(
-                format, sessionCodec, isPartitioned, convertMetastore, 
usingCTAS, tableSize))
-          }
-        }
-      }
-    }
-  }
-
   test("both table-level and session-level compression are set") {
-    checkForTableWithCompressProp("parquet", List("UNCOMPRESSED", "SNAPPY", 
"GZIP"))
-    checkForTableWithCompressProp("orc", List("NONE", "SNAPPY", "ZLIB"))
+    checkForTableWithCompressProp("parquet",
+      tableCompressCodecs = List("UNCOMPRESSED", "SNAPPY", "GZIP"),
+      sessionCompressCodecs = List("SNAPPY", "GZIP", "SNAPPY"))
+    checkForTableWithCompressProp("orc",
+      tableCompressCodecs = List("NONE", "SNAPPY", "ZLIB"),
+      sessionCompressCodecs = List("SNAPPY", "ZLIB", "SNAPPY"))
   }
 
   test("table-level compression is not set but session-level compressions is 
set ") {
-    checkForTableWithoutCompressProp("parquet", List("UNCOMPRESSED", "SNAPPY", 
"GZIP"))
-    checkForTableWithoutCompressProp("orc", List("NONE", "SNAPPY", "ZLIB"))
+    checkForTableWithCompressProp("parquet",
+      tableCompressCodecs = List.empty,
+      sessionCompressCodecs = List("UNCOMPRESSED", "SNAPPY", "GZIP"))
+    checkForTableWithCompressProp("orc",
+      tableCompressCodecs = List.empty,
+      sessionCompressCodecs = List("NONE", "SNAPPY", "ZLIB"))
   }
 
   def checkTableWriteWithCompressionCodecs(format: String, compressCodecs: 
List[String]): Unit = {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org
For additional commands, e-mail: commits-h...@spark.apache.org

Reply via email to