You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@carbondata.apache.org by ra...@apache.org on 2018/06/05 10:42:08 UTC
[23/26] carbondata git commit: [CARBONDATA-2508] Fix the exception
that can't get executorService when start search mode twice
[CARBONDATA-2508] Fix the exception that can't get executorService when start search mode twice
This closes #2355
Project: http://git-wip-us.apache.org/repos/asf/carbondata/repo
Commit: http://git-wip-us.apache.org/repos/asf/carbondata/commit/dc0ec1e2
Tree: http://git-wip-us.apache.org/repos/asf/carbondata/tree/dc0ec1e2
Diff: http://git-wip-us.apache.org/repos/asf/carbondata/diff/dc0ec1e2
Branch: refs/heads/branch-1.4
Commit: dc0ec1e270f12f80fca60ae825e2ea91237e3787
Parents: 43e0c59
Author: xubo245 <xu...@huawei.com>
Authored: Thu May 31 09:15:16 2018 +0800
Committer: ravipesala <ra...@gmail.com>
Committed: Tue Jun 5 16:04:20 2018 +0530
----------------------------------------------------------------------
.../executor/impl/SearchModeDetailQueryExecutor.java | 6 ++++--
.../impl/SearchModeVectorDetailQueryExecutor.java | 6 ++++--
.../testsuite/detailquery/SearchModeTestCase.scala | 13 +++++++++++++
3 files changed, 21 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/carbondata/blob/dc0ec1e2/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/SearchModeDetailQueryExecutor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/SearchModeDetailQueryExecutor.java b/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/SearchModeDetailQueryExecutor.java
index aed472c..ae14327 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/SearchModeDetailQueryExecutor.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/SearchModeDetailQueryExecutor.java
@@ -37,8 +37,10 @@ public class SearchModeDetailQueryExecutor extends AbstractQueryExecutor<Object>
LogServiceFactory.getLogService(SearchModeDetailQueryExecutor.class.getName());
private static ExecutorService executorService = null;
- static {
- initThreadPool();
+ public SearchModeDetailQueryExecutor() {
+ if (executorService == null) {
+ initThreadPool();
+ }
}
private static synchronized void initThreadPool() {
http://git-wip-us.apache.org/repos/asf/carbondata/blob/dc0ec1e2/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/SearchModeVectorDetailQueryExecutor.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/SearchModeVectorDetailQueryExecutor.java b/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/SearchModeVectorDetailQueryExecutor.java
index 00fd511..705c451 100644
--- a/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/SearchModeVectorDetailQueryExecutor.java
+++ b/core/src/main/java/org/apache/carbondata/core/scan/executor/impl/SearchModeVectorDetailQueryExecutor.java
@@ -40,8 +40,10 @@ public class SearchModeVectorDetailQueryExecutor extends AbstractQueryExecutor<O
LogServiceFactory.getLogService(SearchModeVectorDetailQueryExecutor.class.getName());
private static ExecutorService executorService = null;
- static {
- initThreadPool();
+ public SearchModeVectorDetailQueryExecutor() {
+ if (executorService == null) {
+ initThreadPool();
+ }
}
private static synchronized void initThreadPool() {
http://git-wip-us.apache.org/repos/asf/carbondata/blob/dc0ec1e2/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/detailquery/SearchModeTestCase.scala
----------------------------------------------------------------------
diff --git a/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/detailquery/SearchModeTestCase.scala b/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/detailquery/SearchModeTestCase.scala
index d278fc5..3e6adaf 100644
--- a/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/detailquery/SearchModeTestCase.scala
+++ b/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/detailquery/SearchModeTestCase.scala
@@ -136,4 +136,17 @@ class SearchModeTestCase extends QueryTest with BeforeAndAfterAll {
sql("DROP DATAMAP if exists dm3 ON TABLE main")
}
+ test("start search mode twice") {
+ sqlContext.sparkSession.asInstanceOf[CarbonSession].startSearchMode()
+ assert(sqlContext.sparkSession.asInstanceOf[CarbonSession].isSearchModeEnabled)
+ checkSearchAnswer("select id from main where id = '3' limit 10")
+ sqlContext.sparkSession.asInstanceOf[CarbonSession].stopSearchMode()
+ assert(!sqlContext.sparkSession.asInstanceOf[CarbonSession].isSearchModeEnabled)
+
+ // start twice
+ sqlContext.sparkSession.asInstanceOf[CarbonSession].startSearchMode()
+ assert(sqlContext.sparkSession.asInstanceOf[CarbonSession].isSearchModeEnabled)
+ checkSearchAnswer("select id from main where id = '3' limit 10")
+ sqlContext.sparkSession.asInstanceOf[CarbonSession].stopSearchMode()
+ }
}