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

    https://github.com/apache/carbondata/pull/2662#discussion_r214504804
  
    --- Diff: 
core/src/main/java/org/apache/carbondata/core/datastore/blocklet/EncodedBlocklet.java
 ---
    @@ -87,19 +91,24 @@ private void addPageMetadata(EncodedTablePage 
encodedTablePage) {
        * @param encodedTablePage
        * encoded table page
        */
    -  private void addEncodedMeasurePage(EncodedTablePage encodedTablePage) {
    +  private void addEncodedMeasurePage(EncodedTablePage encodedTablePage,
    +      Map<String, LocalDictionaryGenerator> localDictionaryGeneratorMap) {
         // for first page create new list
         if (null == encodedMeasureColumnPages) {
           encodedMeasureColumnPages = new ArrayList<>();
           // adding measure pages
           for (int i = 0; i < encodedTablePage.getNumMeasures(); i++) {
    -        BlockletEncodedColumnPage blockletEncodedColumnPage = new 
BlockletEncodedColumnPage(null);
    -        
blockletEncodedColumnPage.addEncodedColumnColumnPage(encodedTablePage.getMeasure(i));
    +        BlockletEncodedColumnPage blockletEncodedColumnPage = new 
BlockletEncodedColumnPage(null,
    +            Boolean.parseBoolean(CarbonProperties.getInstance()
    --- End diff --
    
    Instead of parsing every time for each encodedPage parse once in 
constructor and add in private field ...for measure u can directly pass false 
as local dictionary will not generated for measure page


---

Reply via email to