You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@carbondata.apache.org by ja...@apache.org on 2018/04/12 23:59:35 UTC

carbondata git commit: [CARBONDATA-2324] Support config ExecutorService in search mode

Repository: carbondata
Updated Branches:
  refs/heads/master 687118a1c -> 520481838


[CARBONDATA-2324] Support config ExecutorService in search mode

Make scan thread configurable in search mode

This closes #2150


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

Branch: refs/heads/master
Commit: 5204818380b43366b2a2545b0969fa736e59f660
Parents: 687118a
Author: Manhua <ke...@qq.com>
Authored: Sun Apr 8 19:44:22 2018 +0800
Committer: Jacky Li <ja...@qq.com>
Committed: Fri Apr 13 07:59:05 2018 +0800

----------------------------------------------------------------------
 .../core/constants/CarbonCommonConstants.java           |  9 ++++++---
 .../impl/SearchModeVectorDetailQueryExecutor.java       | 12 ++++++++----
 2 files changed, 14 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/carbondata/blob/52048183/core/src/main/java/org/apache/carbondata/core/constants/CarbonCommonConstants.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/carbondata/core/constants/CarbonCommonConstants.java b/core/src/main/java/org/apache/carbondata/core/constants/CarbonCommonConstants.java
index aca317a..e644680 100644
--- a/core/src/main/java/org/apache/carbondata/core/constants/CarbonCommonConstants.java
+++ b/core/src/main/java/org/apache/carbondata/core/constants/CarbonCommonConstants.java
@@ -1635,12 +1635,15 @@ public final class CarbonCommonConstants {
   public static final String CARBON_SEARCH_MODE_ENABLE_DEFAULT = "false";
 
   /**
-   * Num of threads used in query executor when using search mode.
+   * Thread size of static ExecutorService in each Node when using search mode.
+   * Default value is -1, it means that Executors.newCachedThreadPool() will be used to
+   * maximize utilization. If thread numbers has to be limited, set it a positive Integer
+   * will call Executors.newFixedThreadPool(int nThreads) instead
    */
   @CarbonProperty
-  public static final String CARBON_SEARCH_MODE_THREAD = "carbon.search.mode.thread";
+  public static final String CARBON_SEARCH_MODE_SCAN_THREAD = "carbon.search.mode.scan.thread";
 
-  public static final String CARBON_SEARCH_MODE_THREAD_DEFAULT = "3";
+  public static final String CARBON_SEARCH_MODE_SCAN_THREAD_DEFAULT = "-1";
 
   private CarbonCommonConstants() {
   }

http://git-wip-us.apache.org/repos/asf/carbondata/blob/52048183/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 a729966..439cadf 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
@@ -43,13 +43,17 @@ public class SearchModeVectorDetailQueryExecutor extends AbstractQueryExecutor<O
     int nThread;
     try {
       nThread = Integer.parseInt(CarbonProperties.getInstance()
-              .getProperty(CarbonCommonConstants.CARBON_SEARCH_MODE_THREAD,
-                      CarbonCommonConstants.CARBON_SEARCH_MODE_THREAD_DEFAULT));
+              .getProperty(CarbonCommonConstants.CARBON_SEARCH_MODE_SCAN_THREAD,
+                      CarbonCommonConstants.CARBON_SEARCH_MODE_SCAN_THREAD_DEFAULT));
     } catch (NumberFormatException e) {
-      nThread = Integer.parseInt(CarbonCommonConstants.CARBON_SEARCH_MODE_THREAD_DEFAULT);
+      nThread = Integer.parseInt(CarbonCommonConstants.CARBON_SEARCH_MODE_SCAN_THREAD_DEFAULT);
       LOGGER.warn("The carbon.search.mode.thread is invalid. Using the default value " + nThread);
     }
-    executorService = Executors.newFixedThreadPool(nThread);
+    if (nThread > 0) {
+      executorService =  Executors.newFixedThreadPool(nThread);
+    } else {
+      executorService = Executors.newCachedThreadPool();
+    }
   }
 
   @Override