This is an automated email from the ASF dual-hosted git repository. siddteotia pushed a commit to branch hotfix-0530 in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git
commit 67ab425655c9b95d0a796f105170d9b746b50ea5 Author: Siddharth Teotia <[email protected]> AuthorDate: Sat May 30 21:10:30 2020 -0700 Initialize _aggregateMetric in constructor --- .../pinot/core/indexsegment/mutable/MutableSegmentImpl.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pinot-core/src/main/java/org/apache/pinot/core/indexsegment/mutable/MutableSegmentImpl.java b/pinot-core/src/main/java/org/apache/pinot/core/indexsegment/mutable/MutableSegmentImpl.java index 0e24664..709fefa 100644 --- a/pinot-core/src/main/java/org/apache/pinot/core/indexsegment/mutable/MutableSegmentImpl.java +++ b/pinot-core/src/main/java/org/apache/pinot/core/indexsegment/mutable/MutableSegmentImpl.java @@ -171,6 +171,7 @@ public class MutableSegmentImpl implements MutableSegment { _partitionFunction = config.getPartitionFunction(); _partitionId = config.getPartitionId(); _nullHandlingEnabled = config.isNullHandlingEnabled(); + _aggregateMetrics = config.aggregateMetrics(); Collection<FieldSpec> allFieldSpecs = _schema.getAllFieldSpecs(); List<FieldSpec> physicalFieldSpecs = new ArrayList<>(allFieldSpecs.size()); @@ -219,7 +220,7 @@ public class MutableSegmentImpl implements MutableSegment { FieldSpec.DataType dataType = fieldSpec.getDataType(); boolean isFixedWidthColumn = dataType.isFixedWidth(); int forwardIndexColumnSize = -1; - if (isNoDictionaryColumn(noDictionaryColumns, invertedIndexColumns, fieldSpec, column)) { + if (isNoDictionaryColumn(noDictionaryColumns, invertedIndexColumns, fieldSpec, column, config)) { // no dictionary // each forward index entry will be equal to size of data for that row // For INT, LONG, FLOAT, DOUBLE it is equal to the number of fixed bytes used to store the value, @@ -329,7 +330,7 @@ public class MutableSegmentImpl implements MutableSegment { * @return true if column is no-dictionary, false if dictionary encoded */ private boolean isNoDictionaryColumn(Set<String> noDictionaryColumns, Set<String> invertedIndexColumns, - FieldSpec fieldSpec, String column) { + FieldSpec fieldSpec, String column, RealtimeSegmentConfig config) { FieldSpec.DataType dataType = fieldSpec.getDataType(); if (noDictionaryColumns.contains(column)) { // Earlier we didn't support noDict in consuming segments for STRING and BYTES columns. @@ -344,7 +345,8 @@ public class MutableSegmentImpl implements MutableSegment { // if the column is part of noDictionary set from table config if (fieldSpec instanceof DimensionFieldSpec && _aggregateMetrics && (dataType == FieldSpec.DataType.STRING || dataType == FieldSpec.DataType.BYTES)) { - _logger.info("Not creating dictionary in consuming segment for column {} of type {}", column, dataType.toString()); + _logger.info("Aggregate metrics is enabled. Will create dictionary in consuming segment for column {} of type {}", + column, dataType.toString()); return false; } // So don't create dictionary if the column is member of noDictionary, is single-value @@ -857,7 +859,6 @@ public class MutableSegmentImpl implements MutableSegment { */ private IdMap<FixedIntArray> enableMetricsAggregationIfPossible(RealtimeSegmentConfig config, Set<String> noDictionaryColumns) { - _aggregateMetrics = config.aggregateMetrics(); if (!_aggregateMetrics) { _logger.info("Metrics aggregation is disabled."); return null; --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
