You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by si...@apache.org on 2020/05/31 20:44:43 UTC
[incubator-pinot] 01/01: Initialize _aggregateMetric in constructor
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 <st...@steotia-mn1.linkedin.biz>
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: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org