siddharthteotia commented on a change in pull request #6876:
URL: https://github.com/apache/incubator-pinot/pull/6876#discussion_r626272227



##########
File path: 
pinot-segment-spi/src/main/java/org/apache/pinot/segment/spi/creator/SegmentGeneratorConfig.java
##########
@@ -262,6 +266,21 @@ private void 
extractH3IndexConfigsFromTableConfig(TableConfig tableConfig) {
     }
   }
 
+  private void 
extractNoDictionaryColumnCompressionCodecConfigsFromTableConfig(TableConfig 
tableConfig) {
+    Map<String, String> rawIndexColumnsToCompressionTypeMap = new HashMap<>();
+    List<String> rawIndexColumns = new ArrayList<>();
+    List<FieldConfig> fieldConfigList = tableConfig.getFieldConfigList();
+    if (fieldConfigList != null) {
+      for (FieldConfig fieldConfig : fieldConfigList) {
+        if (fieldConfig.getEncodingType() == FieldConfig.EncodingType.RAW && 
fieldConfig.getNoDictionaryColumnCompressionCodec() != null) {
+          rawIndexColumns.add(fieldConfig.getName());
+          rawIndexColumnsToCompressionTypeMap.put(fieldConfig.getName(), 
fieldConfig.getNoDictionaryColumnCompressionCodec().name());
+        }
+      }
+    }
+    setRawIndexColumnCompressionType(rawIndexColumns, 
rawIndexColumnsToCompressionTypeMap);

Review comment:
       The current code won't be able to handle the compression config set 
through old way
   
   Lets say column1 and column2 in an existing table T.
   
   For column1, someone specified compression config through old way 
(noDictionaryConfig map)
   For column2, someone specified compression config (SNAPPY, ZSTD) through new 
way (FieldConfig)
   
   The current code won't be able to preserve the config of column1 which we 
need to handle until everything is migrated from existing way to FieldConfig
   
   I haven't seen the old way of config being used so far at Li in production. 
But we don't know if someone in open source is using it or not. If they are, it 
will break things for them




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to