Github user kumarvishal09 commented on a diff in the pull request:

    https://github.com/apache/carbondata/pull/2148#discussion_r183063006
  
    --- Diff: 
core/src/main/java/org/apache/carbondata/core/scan/executor/impl/SearchModeVectorDetailQueryExecutor.java
 ---
    @@ -31,35 +31,53 @@
     import 
org.apache.carbondata.core.scan.result.iterator.SearchModeResultIterator;
     import org.apache.carbondata.core.util.CarbonProperties;
     
    +import static 
org.apache.carbondata.core.constants.CarbonCommonConstants.CARBON_SEARCH_MODE_SCAN_THREAD;
    +
     /**
      * Below class will be used to execute the detail query and returns 
columnar vectors.
      */
     public class SearchModeVectorDetailQueryExecutor extends 
AbstractQueryExecutor<Object> {
       private static final LogService LOGGER =
               
LogServiceFactory.getLogService(SearchModeVectorDetailQueryExecutor.class.getName());
    -  private static ExecutorService executorService;
    +  private static ExecutorService executorService = null;
     
       static {
    +    initThreadPool();
    +  }
    +
    +  private static synchronized void initThreadPool() {
         int nThread;
         try {
           nThread = Integer.parseInt(CarbonProperties.getInstance()
    -              
.getProperty(CarbonCommonConstants.CARBON_SEARCH_MODE_SCAN_THREAD,
    +              .getProperty(CARBON_SEARCH_MODE_SCAN_THREAD,
                           
CarbonCommonConstants.CARBON_SEARCH_MODE_SCAN_THREAD_DEFAULT));
         } catch (NumberFormatException e) {
           nThread = 
Integer.parseInt(CarbonCommonConstants.CARBON_SEARCH_MODE_SCAN_THREAD_DEFAULT);
    -      LOGGER.warn("The carbon.search.mode.thread is invalid. Using the 
default value " + nThread);
    +      LOGGER.warn("The " + CARBON_SEARCH_MODE_SCAN_THREAD + " is invalid. "
    +          + "Using the default value " + nThread);
         }
         if (nThread > 0) {
    -      executorService =  Executors.newFixedThreadPool(nThread);
    +      executorService = Executors.newFixedThreadPool(nThread);
    --- End diff --
    
    yes in Thread pool you can pass thread factory object and assign pool name 
        ExecutorService executorService = Executors.newFixedThreadPool(1,
            new CarbonThreadFactory("CarbonRecordWriter:" + 
loadModel.getTableName()));;


---

Reply via email to