You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2018/08/12 16:29:44 UTC
hbase git commit: HBASE-21038 SAXParseException when
hbase.spark.use.hbasecontext=false (Ajith S)
Repository: hbase
Updated Branches:
refs/heads/master 953e5aa88 -> 067fbaa5b
HBASE-21038 SAXParseException when hbase.spark.use.hbasecontext=false (Ajith S)
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/067fbaa5
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/067fbaa5
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/067fbaa5
Branch: refs/heads/master
Commit: 067fbaa5b5b56dd68700f805f192457f0a0d6120
Parents: 953e5aa
Author: tedyu <yu...@gmail.com>
Authored: Sun Aug 12 09:29:37 2018 -0700
Committer: tedyu <yu...@gmail.com>
Committed: Sun Aug 12 09:29:37 2018 -0700
----------------------------------------------------------------------
.../hadoop/hbase/spark/DefaultSource.scala | 4 ++--
.../hadoop/hbase/spark/DefaultSourceSuite.scala | 23 ++++++++++++++++++++
2 files changed, 25 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/067fbaa5/hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/DefaultSource.scala
----------------------------------------------------------------------
diff --git a/hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/DefaultSource.scala b/hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/DefaultSource.scala
index 08df635..9e13954 100644
--- a/hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/DefaultSource.scala
+++ b/hbase-spark/src/main/scala/org/apache/hadoop/hbase/spark/DefaultSource.scala
@@ -105,7 +105,7 @@ case class HBaseRelation (
val catalog = HBaseTableCatalog(parameters)
def tableName = catalog.name
- val configResources = parameters.getOrElse(HBaseSparkConf.HBASE_CONFIG_LOCATION, "")
+ val configResources = parameters.get(HBaseSparkConf.HBASE_CONFIG_LOCATION)
val useHBaseContext = parameters.get(HBaseSparkConf.USE_HBASECONTEXT).map(_.toBoolean).getOrElse(HBaseSparkConf.DEFAULT_USE_HBASECONTEXT)
val usePushDownColumnFilter = parameters.get(HBaseSparkConf.PUSHDOWN_COLUMN_FILTER)
.map(_.toBoolean).getOrElse(HBaseSparkConf.DEFAULT_PUSHDOWN_COLUMN_FILTER)
@@ -132,7 +132,7 @@ case class HBaseRelation (
LatestHBaseContextCache.latest
} else {
val config = HBaseConfiguration.create()
- configResources.split(",").foreach( r => config.addResource(r))
+ configResources.map(resource => resource.split(",").foreach(r => config.addResource(r)))
new HBaseContext(sqlContext.sparkContext, config)
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/067fbaa5/hbase-spark/src/test/scala/org/apache/hadoop/hbase/spark/DefaultSourceSuite.scala
----------------------------------------------------------------------
diff --git a/hbase-spark/src/test/scala/org/apache/hadoop/hbase/spark/DefaultSourceSuite.scala b/hbase-spark/src/test/scala/org/apache/hadoop/hbase/spark/DefaultSourceSuite.scala
index 6298ed0..89b68f4 100644
--- a/hbase-spark/src/test/scala/org/apache/hadoop/hbase/spark/DefaultSourceSuite.scala
+++ b/hbase-spark/src/test/scala/org/apache/hadoop/hbase/spark/DefaultSourceSuite.scala
@@ -28,6 +28,7 @@ import org.apache.spark.sql.functions._
import org.apache.spark.sql.{DataFrame, SQLContext}
import org.apache.spark.{SparkConf, SparkContext}
import org.scalatest.{BeforeAndAfterAll, BeforeAndAfterEach, FunSuite}
+import org.xml.sax.SAXParseException
case class HBaseRecord(
col0: String,
@@ -1038,4 +1039,26 @@ BeforeAndAfterEach with BeforeAndAfterAll with Logging {
s.show()
assert(s.count() == 7)
}
+
+ test("test create HBaseRelation with new context throws SAXParseException") {
+ val catalog = s"""{
+ |"table":{"namespace":"default", "name":"t1NotThere"},
+ |"rowkey":"key",
+ |"columns":{
+ |"KEY_FIELD":{"cf":"rowkey", "col":"key", "type":"string"},
+ |"A_FIELD":{"cf":"c", "col":"a", "type":"string"},
+ |"B_FIELD":{"cf":"c", "col":"c", "type":"string"}
+ |}
+ |}""".stripMargin
+ try {
+ HBaseRelation(Map(HBaseTableCatalog.tableCatalog -> catalog,
+ HBaseSparkConf.USE_HBASECONTEXT -> "false"), None)(sqlContext)
+ } catch {
+ case e: Throwable => if(e.getCause.isInstanceOf[SAXParseException]) {
+ fail("SAXParseException due to configuration loading empty resource")
+ } else {
+ println("Failed due to some other exception, ignore " + e.getMessage)
+ }
+ }
+ }
}