This is an automated email from the ASF dual-hosted git repository.
nehapawar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git
The following commit(s) were added to refs/heads/master by this push:
new d0a87b5 Pass valid tableConfig to SegmentGeneratorConfig in all tests
(#5353)
d0a87b5 is described below
commit d0a87b5d3868d0d1f0427c1ae1f69fad19e511d7
Author: Neha Pawar <[email protected]>
AuthorDate: Fri May 8 17:32:24 2020 -0700
Pass valid tableConfig to SegmentGeneratorConfig in all tests (#5353)
---
.../indexsegment/generator/SegmentGeneratorConfig.java | 16 +++++++---------
.../org/apache/pinot/core/minion/SegmentConverter.java | 8 ++++----
.../org/apache/pinot/core/common/DataFetcherTest.java | 8 ++++++--
.../generator/SegmentGeneratorConfigTest.java | 12 ++++++++++--
.../core/segment/index/creator/RawIndexCreatorTest.java | 11 ++++++++---
.../creator/SegmentGenerationWithBytesTypeTest.java | 12 +++++++++---
.../SegmentGenerationWithNullValueVectorTest.java | 10 +++++++---
.../core/segment/index/creator/SegmentPartitionTest.java | 6 +++++-
.../segment/index/loader/SegmentPreProcessorTest.java | 8 +++++++-
.../pinot/core/startree/v2/BaseStarTreeV2Test.java | 6 +++++-
.../org/apache/pinot/queries/DistinctQueriesTest.java | 5 ++++-
.../org/apache/pinot/queries/FastHllQueriesTest.java | 7 ++++++-
.../pinot/queries/PercentileTDigestMVQueriesTest.java | 6 +++++-
.../pinot/queries/PercentileTDigestQueriesTest.java | 6 +++++-
.../RangePredicateWithSortedInvertedIndexTest.java | 12 +++++++++---
.../apache/pinot/queries/SerializedBytesQueriesTest.java | 7 ++++++-
.../org/apache/pinot/queries/TextSearchQueriesTest.java | 7 ++++++-
.../aggregation/DefaultAggregationExecutorTest.java | 9 +++++----
.../groupby/DictionaryBasedGroupKeyGeneratorTest.java | 7 ++++++-
.../groupby/NoDictionaryGroupKeyGeneratorTest.java | 7 ++++++-
.../segments/v1/creator/OnHeapDictionariesTest.java | 11 ++++++++---
.../pinot/segments/v1/creator/SegmentTestUtils.java | 13 +++++++++----
.../tests/DefaultCommitterRealtimeIntegrationTest.java | 4 +++-
.../org/apache/pinot/server/util/SegmentTestUtils.java | 15 +++++++++++----
.../java/org/apache/pinot/perf/RawIndexBenchmark.java | 7 +++++--
.../org/apache/pinot/perf/StringDictionaryPerfTest.java | 6 +++++-
26 files changed, 167 insertions(+), 59 deletions(-)
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/indexsegment/generator/SegmentGeneratorConfig.java
b/pinot-core/src/main/java/org/apache/pinot/core/indexsegment/generator/SegmentGeneratorConfig.java
index 11facac..252f648 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/indexsegment/generator/SegmentGeneratorConfig.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/indexsegment/generator/SegmentGeneratorConfig.java
@@ -112,24 +112,22 @@ public class SegmentGeneratorConfig {
* However, for maintaining backward compatibility, taking it
from schema if table config is null.
* This will not work once we start supporting multiple time
columns (DateTimeFieldSpec)
*/
- public SegmentGeneratorConfig(@Nullable TableConfig tableConfig, Schema
schema) {
+ public SegmentGeneratorConfig(TableConfig tableConfig, Schema schema) {
Preconditions.checkNotNull(schema);
+ Preconditions.checkNotNull(tableConfig);
setSchema(schema);
// NOTE: SegmentGeneratorConfig#setSchema doesn't set the time column
anymore. timeColumnName is expected to be read from table config.
- // But table config is not mandatory, and cannot be easily enforced as
the instantiation can happen in external code.
- // Hence, if table config is null, but timeFieldSpec is not null, read
time from schema
- // Once we move to multiple time columns - DateTimeFieldSpec - table
config has to be provided with valid time
- // If more than 1 dateTimeFieldSpec is found along with null table
config, throw exception.
+ // If time column name is not set in table config, read time from schema.
+ // WARN: Once we move to DateTimeFieldSpec - table config has to be
provided with valid time - if time needs to be set.
+ // We cannot deduce whether 1) one of the provided DateTimes should be
used as time column 2) if yes, which one
+ // Even if only 1 DateTime exists, we cannot determine whether it should
be primary time column (there could be no time column for table (REFRESH), but
still multiple DateTimeFieldSpec)
String timeColumnName = null;
- if (tableConfig != null && tableConfig.getValidationConfig() != null) {
+ if (tableConfig.getValidationConfig() != null) {
timeColumnName = tableConfig.getValidationConfig().getTimeColumnName();
}
setTime(timeColumnName, schema);
- if (tableConfig == null) {
- return;
- }
IndexingConfig indexingConfig = tableConfig.getIndexingConfig();
if (indexingConfig != null) {
List<String> noDictionaryColumns =
indexingConfig.getNoDictionaryColumns();
diff --git
a/pinot-core/src/main/java/org/apache/pinot/core/minion/SegmentConverter.java
b/pinot-core/src/main/java/org/apache/pinot/core/minion/SegmentConverter.java
index 988891a..c399505 100644
---
a/pinot-core/src/main/java/org/apache/pinot/core/minion/SegmentConverter.java
+++
b/pinot-core/src/main/java/org/apache/pinot/core/minion/SegmentConverter.java
@@ -104,7 +104,7 @@ public class SegmentConverter {
try (MapperRecordReader mapperRecordReader = new
MapperRecordReader(_inputIndexDirs, _recordTransformer,
_recordPartitioner, _totalNumPartition, currentPartition)) {
- buildSegment(mapperOutputPath, _tableName, outputSegmentName,
mapperRecordReader,
+ buildSegment(mapperOutputPath, outputSegmentName, mapperRecordReader,
mapperRecordReader.getSchema(), _tableConfig);
}
File outputSegment = new File(mapperOutputPath + File.separator +
outputSegmentName);
@@ -114,7 +114,7 @@ public class SegmentConverter {
String reducerOutputPath = _workingDir.getPath() + File.separator +
REDUCER_PREFIX + currentPartition;
try (ReducerRecordReader reducerRecordReader = new
ReducerRecordReader(outputSegment, _recordAggregator,
_groupByColumns)) {
- buildSegment(reducerOutputPath, _tableName, outputSegmentName,
reducerRecordReader,
+ buildSegment(reducerOutputPath, outputSegmentName,
reducerRecordReader,
reducerRecordReader.getSchema(), _tableConfig);
}
outputSegment = new File(reducerOutputPath + File.separator +
outputSegmentName);
@@ -130,7 +130,7 @@ public class SegmentConverter {
String indexGenerationOutputPath = _workingDir.getPath() +
File.separator + INDEX_PREFIX + currentPartition;
try (PinotSegmentRecordReader pinotSegmentRecordReader = new
PinotSegmentRecordReader(outputSegment, null,
sortedColumn)) {
- buildSegment(indexGenerationOutputPath, _tableName,
outputSegmentName, pinotSegmentRecordReader,
+ buildSegment(indexGenerationOutputPath, outputSegmentName,
pinotSegmentRecordReader,
pinotSegmentRecordReader.getSchema(), _tableConfig);
}
outputSegment = new File(indexGenerationOutputPath + File.separator
+ outputSegmentName);
@@ -147,7 +147,7 @@ public class SegmentConverter {
*
* TODO: Support all kinds of indexing (no dictionary)
*/
- private void buildSegment(String outputPath, String tableName, String
segmentName, RecordReader recordReader,
+ private void buildSegment(String outputPath, String segmentName,
RecordReader recordReader,
Schema schema, TableConfig tableConfig)
throws Exception {
SegmentGeneratorConfig segmentGeneratorConfig = new
SegmentGeneratorConfig(tableConfig, schema);
diff --git
a/pinot-core/src/test/java/org/apache/pinot/core/common/DataFetcherTest.java
b/pinot-core/src/test/java/org/apache/pinot/core/common/DataFetcherTest.java
index da634cb..7928fb9 100644
--- a/pinot-core/src/test/java/org/apache/pinot/core/common/DataFetcherTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/core/common/DataFetcherTest.java
@@ -26,6 +26,8 @@ import java.util.List;
import java.util.Map;
import java.util.Random;
import org.apache.commons.io.FileUtils;
+import org.apache.pinot.spi.config.table.TableConfig;
+import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.data.DimensionFieldSpec;
import org.apache.pinot.spi.data.FieldSpec;
import org.apache.pinot.spi.data.MetricFieldSpec;
@@ -37,6 +39,7 @@ import org.apache.pinot.core.indexsegment.IndexSegment;
import org.apache.pinot.core.indexsegment.generator.SegmentGeneratorConfig;
import org.apache.pinot.core.indexsegment.immutable.ImmutableSegmentLoader;
import
org.apache.pinot.core.segment.creator.impl.SegmentIndexCreationDriverImpl;
+import org.apache.pinot.spi.utils.builder.TableConfigBuilder;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
@@ -110,9 +113,10 @@ public class DataFetcherTest {
schema.addField(new MetricFieldSpec(NO_DICT_FLOAT_METRIC_NAME,
FieldSpec.DataType.FLOAT));
schema.addField(new MetricFieldSpec(NO_DICT_DOUBLE_METRIC_NAME,
FieldSpec.DataType.DOUBLE));
- SegmentGeneratorConfig config = new SegmentGeneratorConfig();
+ TableConfig tableConfig = new
TableConfigBuilder(TableType.OFFLINE).setTableName("test").build();
+
+ SegmentGeneratorConfig config = new SegmentGeneratorConfig(tableConfig,
schema);
FileUtils.deleteQuietly(new File(INDEX_DIR_PATH));
- config.setSchema(schema);
config.setOutDir(INDEX_DIR_PATH);
config.setSegmentName(SEGMENT_NAME);
config.setRawIndexCreationColumns(Arrays
diff --git
a/pinot-core/src/test/java/org/apache/pinot/core/indexsegment/generator/SegmentGeneratorConfigTest.java
b/pinot-core/src/test/java/org/apache/pinot/core/indexsegment/generator/SegmentGeneratorConfigTest.java
index e217ba0..6c19432 100644
---
a/pinot-core/src/test/java/org/apache/pinot/core/indexsegment/generator/SegmentGeneratorConfigTest.java
+++
b/pinot-core/src/test/java/org/apache/pinot/core/indexsegment/generator/SegmentGeneratorConfigTest.java
@@ -48,7 +48,11 @@ public class SegmentGeneratorConfigTest {
assertNull(segmentGeneratorConfig.getSimpleDateFormat());
// table config not provided
- segmentGeneratorConfig = new SegmentGeneratorConfig(null, schema);
+ // NOTE: this behavior will not hold true when we move to
dateTimeFieldSpec.
+ // MUST provide valid tableConfig with time column if time details are
wanted
+ tableConfig =
+ new TableConfigBuilder(TableType.OFFLINE).setTableName("test").build();
+ segmentGeneratorConfig = new SegmentGeneratorConfig(tableConfig, schema);
assertEquals(segmentGeneratorConfig.getTimeColumnName(), "daysSinceEpoch");
assertEquals(segmentGeneratorConfig.getTimeColumnType(),
SegmentGeneratorConfig.TimeColumnType.EPOCH);
assertEquals(segmentGeneratorConfig.getSegmentTimeUnit(), TimeUnit.DAYS);
@@ -70,7 +74,11 @@ public class SegmentGeneratorConfigTest {
assertEquals(segmentGeneratorConfig.getSimpleDateFormat(), "yyyyMMdd");
// Table config not provided
- segmentGeneratorConfig = new SegmentGeneratorConfig(null, schema);
+ // NOTE: this behavior will not hold true when we move to
dateTimeFieldSpec.
+ // MUST provide valid tableConfig with time column if time details are
wanted
+ tableConfig =
+ new TableConfigBuilder(TableType.OFFLINE).setTableName("test").build();
+ segmentGeneratorConfig = new SegmentGeneratorConfig(tableConfig, schema);
assertEquals(segmentGeneratorConfig.getTimeColumnName(), "Date");
assertEquals(segmentGeneratorConfig.getTimeColumnType(),
SegmentGeneratorConfig.TimeColumnType.SIMPLE_DATE);
assertNull(segmentGeneratorConfig.getSegmentTimeUnit());
diff --git
a/pinot-core/src/test/java/org/apache/pinot/core/segment/index/creator/RawIndexCreatorTest.java
b/pinot-core/src/test/java/org/apache/pinot/core/segment/index/creator/RawIndexCreatorTest.java
index 7ce7ef5..ad097f9 100644
---
a/pinot-core/src/test/java/org/apache/pinot/core/segment/index/creator/RawIndexCreatorTest.java
+++
b/pinot-core/src/test/java/org/apache/pinot/core/segment/index/creator/RawIndexCreatorTest.java
@@ -26,6 +26,8 @@ import java.util.List;
import java.util.Random;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.RandomStringUtils;
+import org.apache.pinot.spi.config.table.TableConfig;
+import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.data.DimensionFieldSpec;
import org.apache.pinot.spi.data.FieldSpec;
import org.apache.pinot.spi.data.Schema;
@@ -42,6 +44,7 @@ import
org.apache.pinot.core.segment.creator.impl.SegmentIndexCreationDriverImpl
import org.apache.pinot.core.segment.memory.PinotDataBuffer;
import org.apache.pinot.core.segment.store.ColumnIndexType;
import org.apache.pinot.core.segment.store.SegmentDirectory;
+import org.apache.pinot.spi.utils.builder.TableConfigBuilder;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
@@ -84,8 +87,10 @@ public class RawIndexCreatorTest {
schema.addField(new DimensionFieldSpec(DOUBLE_COLUMN,
FieldSpec.DataType.DOUBLE, true));
schema.addField(new DimensionFieldSpec(STRING_COLUMN,
FieldSpec.DataType.STRING, true));
+ TableConfig tableConfig = new
TableConfigBuilder(TableType.OFFLINE).setTableName("test").build();
+
_random = new Random(System.nanoTime());
- _recordReader = buildIndex(schema);
+ _recordReader = buildIndex(tableConfig, schema);
}
/**
@@ -202,9 +207,9 @@ public class RawIndexCreatorTest {
* @return Array of string values for the rows in the generated index.
* @throws Exception
*/
- private RecordReader buildIndex(Schema schema)
+ private RecordReader buildIndex(TableConfig tableConfig, Schema schema)
throws Exception {
- SegmentGeneratorConfig config = new SegmentGeneratorConfig(null, schema);
+ SegmentGeneratorConfig config = new SegmentGeneratorConfig(tableConfig,
schema);
config.setRawIndexCreationColumns(schema.getDimensionNames());
config.setOutDir(SEGMENT_DIR_NAME);
diff --git
a/pinot-core/src/test/java/org/apache/pinot/core/segment/index/creator/SegmentGenerationWithBytesTypeTest.java
b/pinot-core/src/test/java/org/apache/pinot/core/segment/index/creator/SegmentGenerationWithBytesTypeTest.java
index dcc83b8..efff01e 100644
---
a/pinot-core/src/test/java/org/apache/pinot/core/segment/index/creator/SegmentGenerationWithBytesTypeTest.java
+++
b/pinot-core/src/test/java/org/apache/pinot/core/segment/index/creator/SegmentGenerationWithBytesTypeTest.java
@@ -45,6 +45,8 @@ import
org.apache.pinot.core.segment.index.metadata.SegmentMetadata;
import org.apache.pinot.core.segment.index.readers.BaseImmutableDictionary;
import org.apache.pinot.core.segment.store.SegmentDirectory;
import org.apache.pinot.plugin.inputformat.avro.AvroUtils;
+import org.apache.pinot.spi.config.table.TableConfig;
+import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.data.DimensionFieldSpec;
import org.apache.pinot.spi.data.FieldSpec;
import org.apache.pinot.spi.data.MetricFieldSpec;
@@ -53,6 +55,7 @@ import org.apache.pinot.spi.data.readers.GenericRow;
import org.apache.pinot.spi.data.readers.RecordReader;
import org.apache.pinot.spi.utils.ByteArray;
import org.apache.pinot.spi.utils.BytesUtils;
+import org.apache.pinot.spi.utils.builder.TableConfigBuilder;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
@@ -84,6 +87,7 @@ public class SegmentGenerationWithBytesTypeTest {
private Random _random;
private RecordReader _recordReader;
private Schema _schema;
+ private TableConfig _tableConfig;
private ImmutableSegment _segment;
/**
@@ -101,6 +105,8 @@ public class SegmentGenerationWithBytesTypeTest {
_schema.addField(new DimensionFieldSpec(FIXED_BYTES_NO_DICT_COLUMN,
FieldSpec.DataType.BYTES, true));
_schema.addField(new DimensionFieldSpec(VARIABLE_BYTES_COLUMN,
FieldSpec.DataType.BYTES, true));
+ _tableConfig = new
TableConfigBuilder(TableType.OFFLINE).setTableName("test").build();
+
_random = new Random(System.nanoTime());
_recordReader = buildIndex(_schema);
_segment = ImmutableSegmentLoader.load(new File(SEGMENT_DIR_NAME,
SEGMENT_NAME), ReadMode.heap);
@@ -139,7 +145,7 @@ public class SegmentGenerationWithBytesTypeTest {
}
// Ensure both record readers are exhausted, ie same number of rows.
- Assert.assertTrue(!_recordReader.hasNext());
+ Assert.assertFalse(_recordReader.hasNext());
pinotReader.close();
}
@@ -223,7 +229,7 @@ public class SegmentGenerationWithBytesTypeTest {
private RecordReader buildIndex(Schema schema)
throws Exception {
- SegmentGeneratorConfig config = new SegmentGeneratorConfig(null, schema);
+ SegmentGeneratorConfig config = new SegmentGeneratorConfig(_tableConfig,
schema);
config.setOutDir(SEGMENT_DIR_NAME);
config.setSegmentName(SEGMENT_NAME);
@@ -321,7 +327,7 @@ public class SegmentGenerationWithBytesTypeTest {
*/
private IndexSegment buildSegmentFromAvro(Schema schema, String dirName,
String avroName, String segmentName)
throws Exception {
- SegmentGeneratorConfig config = new SegmentGeneratorConfig();
+ SegmentGeneratorConfig config = new SegmentGeneratorConfig(_tableConfig,
schema);
config.setInputFilePath(dirName + File.separator + avroName);
config.setOutDir(dirName);
config.setSegmentName(segmentName);
diff --git
a/pinot-core/src/test/java/org/apache/pinot/core/segment/index/creator/SegmentGenerationWithNullValueVectorTest.java
b/pinot-core/src/test/java/org/apache/pinot/core/segment/index/creator/SegmentGenerationWithNullValueVectorTest.java
index f568d7b..4d8402f 100644
---
a/pinot-core/src/test/java/org/apache/pinot/core/segment/index/creator/SegmentGenerationWithNullValueVectorTest.java
+++
b/pinot-core/src/test/java/org/apache/pinot/core/segment/index/creator/SegmentGenerationWithNullValueVectorTest.java
@@ -46,6 +46,8 @@ import org.apache.pinot.core.query.executor.QueryExecutor;
import org.apache.pinot.core.query.executor.ServerQueryExecutorV1Impl;
import org.apache.pinot.core.query.request.ServerQueryRequest;
import org.apache.pinot.pql.parsers.Pql2Compiler;
+import org.apache.pinot.spi.config.table.TableConfig;
+import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.data.DimensionFieldSpec;
import org.apache.pinot.spi.data.FieldSpec;
import org.apache.pinot.spi.data.Schema;
@@ -58,6 +60,7 @@ import
org.apache.pinot.core.indexsegment.immutable.ImmutableSegment;
import org.apache.pinot.core.indexsegment.immutable.ImmutableSegmentLoader;
import
org.apache.pinot.core.segment.creator.impl.SegmentIndexCreationDriverImpl;
import org.apache.pinot.core.segment.index.readers.NullValueVectorReader;
+import org.apache.pinot.spi.utils.builder.TableConfigBuilder;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
@@ -119,8 +122,9 @@ public class SegmentGenerationWithNullValueVectorTest {
_schema.addField(new DimensionFieldSpec(DOUBLE_COLUMN,
FieldSpec.DataType.DOUBLE, true));
_schema.addField(new DimensionFieldSpec(STRING_COLUMN,
FieldSpec.DataType.STRING, true));
+ TableConfig tableConfig = new
TableConfigBuilder(TableType.OFFLINE).setTableName(TABLE_NAME).build();
_random = new Random(System.nanoTime());
- buildIndex(_schema);
+ buildIndex(tableConfig, _schema);
_segment = ImmutableSegmentLoader.load(new File(SEGMENT_DIR_NAME,
SEGMENT_NAME), ReadMode.heap);
setupQueryServer();
@@ -162,9 +166,9 @@ public class SegmentGenerationWithNullValueVectorTest {
* @throws Exception
*/
- private void buildIndex(Schema schema)
+ private void buildIndex(TableConfig tableConfig, Schema schema)
throws Exception {
- SegmentGeneratorConfig config = new SegmentGeneratorConfig(null, schema);
+ SegmentGeneratorConfig config = new SegmentGeneratorConfig(tableConfig,
schema);
config.setOutDir(SEGMENT_DIR_NAME);
config.setSegmentName(SEGMENT_NAME);
diff --git
a/pinot-core/src/test/java/org/apache/pinot/core/segment/index/creator/SegmentPartitionTest.java
b/pinot-core/src/test/java/org/apache/pinot/core/segment/index/creator/SegmentPartitionTest.java
index e34aaf6..c670317 100644
---
a/pinot-core/src/test/java/org/apache/pinot/core/segment/index/creator/SegmentPartitionTest.java
+++
b/pinot-core/src/test/java/org/apache/pinot/core/segment/index/creator/SegmentPartitionTest.java
@@ -41,11 +41,14 @@ import
org.apache.pinot.core.segment.index.metadata.ColumnMetadata;
import org.apache.pinot.core.segment.index.metadata.SegmentMetadataImpl;
import org.apache.pinot.spi.config.table.ColumnPartitionConfig;
import org.apache.pinot.spi.config.table.SegmentPartitionConfig;
+import org.apache.pinot.spi.config.table.TableConfig;
+import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.data.DimensionFieldSpec;
import org.apache.pinot.spi.data.FieldSpec;
import org.apache.pinot.spi.data.Schema;
import org.apache.pinot.spi.data.readers.GenericRow;
import org.apache.pinot.spi.utils.JsonUtils;
+import org.apache.pinot.spi.utils.builder.TableConfigBuilder;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@@ -189,6 +192,7 @@ public class SegmentPartitionTest {
Schema schema = new Schema();
schema.addField(new DimensionFieldSpec(PARTITIONED_COLUMN_NAME,
FieldSpec.DataType.INT, true));
schema.addField(new DimensionFieldSpec(NON_PARTITIONED_COLUMN_NAME,
FieldSpec.DataType.INT, true));
+ TableConfig tableConfig = new
TableConfigBuilder(TableType.OFFLINE).setTableName(TABLE_NAME).build();
Random random = new Random();
Map<String, ColumnPartitionConfig> partitionFunctionMap = new HashMap<>();
@@ -197,7 +201,7 @@ public class SegmentPartitionTest {
.put(PARTITIONED_COLUMN_NAME, new
ColumnPartitionConfig(PARTITION_FUNCTION_NAME, NUM_PARTITIONS));
SegmentPartitionConfig segmentPartitionConfig = new
SegmentPartitionConfig(partitionFunctionMap);
- SegmentGeneratorConfig config = new SegmentGeneratorConfig(null, schema);
+ SegmentGeneratorConfig config = new SegmentGeneratorConfig(tableConfig,
schema);
config.setOutDir(SEGMENT_DIR_NAME);
config.setSegmentName(SEGMENT_NAME);
diff --git
a/pinot-core/src/test/java/org/apache/pinot/core/segment/index/loader/SegmentPreProcessorTest.java
b/pinot-core/src/test/java/org/apache/pinot/core/segment/index/loader/SegmentPreProcessorTest.java
index a2a2788..edc9fbe 100644
---
a/pinot-core/src/test/java/org/apache/pinot/core/segment/index/loader/SegmentPreProcessorTest.java
+++
b/pinot-core/src/test/java/org/apache/pinot/core/segment/index/loader/SegmentPreProcessorTest.java
@@ -42,8 +42,11 @@ import org.apache.pinot.core.segment.store.ColumnIndexType;
import org.apache.pinot.core.segment.store.SegmentDirectory;
import org.apache.pinot.core.segment.store.SegmentDirectoryPaths;
import org.apache.pinot.segments.v1.creator.SegmentTestUtils;
+import org.apache.pinot.spi.config.table.TableConfig;
+import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.data.FieldSpec;
import org.apache.pinot.spi.data.Schema;
+import org.apache.pinot.spi.utils.builder.TableConfigBuilder;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
@@ -87,6 +90,7 @@ public class SegmentPreProcessorTest {
private IndexLoadingConfig _indexLoadingConfig;
private File _avroFile;
private Schema _schema;
+ private TableConfig _tableConfig;
private Schema _newColumnsSchema1;
private Schema _newColumnsSchema2;
private Schema _newColumnsSchema3;
@@ -113,6 +117,8 @@ public class SegmentPreProcessorTest {
resourceUrl = classLoader.getResource(SCHEMA);
Assert.assertNotNull(resourceUrl);
_schema = Schema.fromFile(new File(resourceUrl.getFile()));
+ _tableConfig =
+ new
TableConfigBuilder(TableType.OFFLINE).setTableName("testTable").setTimeColumnName("daySinceEpoch").build();
resourceUrl = classLoader.getResource(NEW_COLUMNS_SCHEMA1);
Assert.assertNotNull(resourceUrl);
_newColumnsSchema1 = Schema.fromFile(new File(resourceUrl.getFile()));
@@ -133,7 +139,7 @@ public class SegmentPreProcessorTest {
// Create inverted index for 'column7' when constructing the segment.
SegmentGeneratorConfig segmentGeneratorConfig =
- SegmentTestUtils.getSegmentGeneratorConfigWithSchema(_avroFile,
INDEX_DIR, "testTable", _schema);
+ SegmentTestUtils.getSegmentGeneratorConfigWithSchema(_avroFile,
INDEX_DIR, "testTable", _tableConfig, _schema);
segmentGeneratorConfig.setInvertedIndexCreationColumns(Collections.singletonList(COLUMN7_NAME));
segmentGeneratorConfig.setRawIndexCreationColumns(Collections.singletonList(EXISTING_STRING_COL_RAW));
// The segment generation code in SegmentColumnarIndexCreator will throw
diff --git
a/pinot-core/src/test/java/org/apache/pinot/core/startree/v2/BaseStarTreeV2Test.java
b/pinot-core/src/test/java/org/apache/pinot/core/startree/v2/BaseStarTreeV2Test.java
index bd6b568..03177ae 100644
---
a/pinot-core/src/test/java/org/apache/pinot/core/startree/v2/BaseStarTreeV2Test.java
+++
b/pinot-core/src/test/java/org/apache/pinot/core/startree/v2/BaseStarTreeV2Test.java
@@ -30,6 +30,8 @@ import java.util.Map;
import java.util.Random;
import java.util.Set;
import org.apache.commons.io.FileUtils;
+import org.apache.pinot.spi.config.table.TableConfig;
+import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.data.FieldSpec.DataType;
import org.apache.pinot.spi.data.Schema;
import org.apache.pinot.common.function.AggregationFunctionType;
@@ -60,6 +62,7 @@ import
org.apache.pinot.core.startree.v2.builder.MultipleTreesBuilder;
import
org.apache.pinot.core.startree.v2.builder.MultipleTreesBuilder.BuildMode;
import org.apache.pinot.core.startree.v2.builder.StarTreeV2BuilderConfig;
import org.apache.pinot.pql.parsers.Pql2Compiler;
+import org.apache.pinot.spi.utils.builder.TableConfigBuilder;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
@@ -111,6 +114,7 @@ abstract class BaseStarTreeV2Test<R, A> {
schemaBuilder.addMetric(METRIC, rawValueType);
}
Schema schema = schemaBuilder.build();
+ TableConfig tableConfig = new
TableConfigBuilder(TableType.OFFLINE).setTableName(TABLE_NAME).build();
List<GenericRow> segmentRecords = new ArrayList<>(NUM_SEGMENT_RECORDS);
for (int i = 0; i < NUM_SEGMENT_RECORDS; i++) {
@@ -126,7 +130,7 @@ abstract class BaseStarTreeV2Test<R, A> {
}
SegmentIndexCreationDriverImpl driver = new
SegmentIndexCreationDriverImpl();
- SegmentGeneratorConfig segmentGeneratorConfig = new
SegmentGeneratorConfig(null, schema);
+ SegmentGeneratorConfig segmentGeneratorConfig = new
SegmentGeneratorConfig(tableConfig, schema);
segmentGeneratorConfig.setOutDir(TEMP_DIR.getPath());
segmentGeneratorConfig.setSegmentName(SEGMENT_NAME);
driver.init(segmentGeneratorConfig, new
GenericRowRecordReader(segmentRecords));
diff --git
a/pinot-core/src/test/java/org/apache/pinot/queries/DistinctQueriesTest.java
b/pinot-core/src/test/java/org/apache/pinot/queries/DistinctQueriesTest.java
index 28f646b..6417788 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/DistinctQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/DistinctQueriesTest.java
@@ -53,12 +53,14 @@ import
org.apache.pinot.core.query.aggregation.DistinctTable;
import org.apache.pinot.core.query.reduce.BrokerReduceService;
import
org.apache.pinot.core.segment.creator.impl.SegmentIndexCreationDriverImpl;
import org.apache.pinot.core.transport.ServerRoutingInstance;
+import org.apache.pinot.spi.config.table.TableConfig;
import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.data.FieldSpec.DataType;
import org.apache.pinot.spi.data.Schema;
import org.apache.pinot.spi.data.readers.GenericRow;
import org.apache.pinot.spi.utils.ByteArray;
import org.apache.pinot.spi.utils.BytesUtils;
+import org.apache.pinot.spi.utils.builder.TableConfigBuilder;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@@ -89,6 +91,7 @@ public class DistinctQueriesTest extends BaseQueriesTest {
.addSingleValueDimension(LONG_COLUMN,
DataType.LONG).addSingleValueDimension(FLOAT_COLUMN, DataType.FLOAT)
.addSingleValueDimension(DOUBLE_COLUMN,
DataType.DOUBLE).addSingleValueDimension(STRING_COLUMN, DataType.STRING)
.addSingleValueDimension(BYTES_COLUMN, DataType.BYTES).build();
+ private static final TableConfig TABLE = new
TableConfigBuilder(TableType.OFFLINE).setTableName(RAW_TABLE_NAME).build();
private IndexSegment _indexSegment;
private List<SegmentDataManager> _segmentDataManagers;
@@ -151,7 +154,7 @@ public class DistinctQueriesTest extends BaseQueriesTest {
throws Exception {
String segmentName = SEGMENT_NAME_PREFIX + index;
- SegmentGeneratorConfig segmentGeneratorConfig = new
SegmentGeneratorConfig(null, SCHEMA);
+ SegmentGeneratorConfig segmentGeneratorConfig = new
SegmentGeneratorConfig(TABLE, SCHEMA);
segmentGeneratorConfig.setTableName(RAW_TABLE_NAME);
segmentGeneratorConfig.setSegmentName(segmentName);
segmentGeneratorConfig.setOutDir(INDEX_DIR.getAbsolutePath());
diff --git
a/pinot-core/src/test/java/org/apache/pinot/queries/FastHllQueriesTest.java
b/pinot-core/src/test/java/org/apache/pinot/queries/FastHllQueriesTest.java
index 8b95d9b..41f7b9e 100644
--- a/pinot-core/src/test/java/org/apache/pinot/queries/FastHllQueriesTest.java
+++ b/pinot-core/src/test/java/org/apache/pinot/queries/FastHllQueriesTest.java
@@ -41,9 +41,12 @@ import
org.apache.pinot.core.query.aggregation.groupby.AggregationGroupByResult;
import org.apache.pinot.core.query.aggregation.groupby.GroupKeyGenerator;
import org.apache.pinot.core.segment.creator.SegmentIndexCreationDriver;
import
org.apache.pinot.core.segment.creator.impl.SegmentIndexCreationDriverImpl;
+import org.apache.pinot.spi.config.table.TableConfig;
+import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.data.FieldSpec;
import org.apache.pinot.spi.data.Schema;
import org.apache.pinot.spi.data.TimeGranularitySpec;
+import org.apache.pinot.spi.utils.builder.TableConfigBuilder;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -169,9 +172,11 @@ public class FastHllQueriesTest extends BaseQueriesTest {
.addTime(new TimeGranularitySpec(FieldSpec.DataType.INT,
TimeUnit.DAYS, "daysSinceEpoch"), null)
.addSingleValueDimension("column17_HLL", FieldSpec.DataType.STRING)
.addSingleValueDimension("column18_HLL",
FieldSpec.DataType.STRING).build();
+ TableConfig tableConfig =
+ new
TableConfigBuilder(TableType.OFFLINE).setTableName("testTable").setTimeColumnName("daysSinceEpoch").build();
// Create the segment generator config
- SegmentGeneratorConfig segmentGeneratorConfig = new
SegmentGeneratorConfig(null, schema);
+ SegmentGeneratorConfig segmentGeneratorConfig = new
SegmentGeneratorConfig(tableConfig, schema);
segmentGeneratorConfig.setInputFilePath(filePath);
segmentGeneratorConfig.setTableName("testTable");
segmentGeneratorConfig.setOutDir(INDEX_DIR.getAbsolutePath());
diff --git
a/pinot-core/src/test/java/org/apache/pinot/queries/PercentileTDigestMVQueriesTest.java
b/pinot-core/src/test/java/org/apache/pinot/queries/PercentileTDigestMVQueriesTest.java
index ade08cf..254adaa 100644
---
a/pinot-core/src/test/java/org/apache/pinot/queries/PercentileTDigestMVQueriesTest.java
+++
b/pinot-core/src/test/java/org/apache/pinot/queries/PercentileTDigestMVQueriesTest.java
@@ -24,6 +24,8 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
+import org.apache.pinot.spi.config.table.TableConfig;
+import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.data.DimensionFieldSpec;
import org.apache.pinot.spi.data.FieldSpec;
import org.apache.pinot.spi.data.MetricFieldSpec;
@@ -34,6 +36,7 @@ import org.apache.pinot.spi.data.readers.RecordReader;
import org.apache.pinot.core.indexsegment.generator.SegmentGeneratorConfig;
import
org.apache.pinot.core.query.aggregation.function.PercentileTDigestAggregationFunction;
import
org.apache.pinot.core.segment.creator.impl.SegmentIndexCreationDriverImpl;
+import org.apache.pinot.spi.utils.builder.TableConfigBuilder;
/**
@@ -83,8 +86,9 @@ public class PercentileTDigestMVQueriesTest extends
PercentileTDigestQueriesTest
schema.addField(new DimensionFieldSpec(DOUBLE_COLUMN,
FieldSpec.DataType.DOUBLE, false));
schema.addField(new MetricFieldSpec(TDIGEST_COLUMN,
FieldSpec.DataType.BYTES));
schema.addField(new DimensionFieldSpec(GROUP_BY_COLUMN,
FieldSpec.DataType.STRING, true));
+ TableConfig tableConfig = new
TableConfigBuilder(TableType.OFFLINE).setTableName(TABLE_NAME).build();
- SegmentGeneratorConfig config = new SegmentGeneratorConfig(null, schema);
+ SegmentGeneratorConfig config = new SegmentGeneratorConfig(tableConfig,
schema);
config.setOutDir(INDEX_DIR.getPath());
config.setTableName(TABLE_NAME);
config.setSegmentName(SEGMENT_NAME);
diff --git
a/pinot-core/src/test/java/org/apache/pinot/queries/PercentileTDigestQueriesTest.java
b/pinot-core/src/test/java/org/apache/pinot/queries/PercentileTDigestQueriesTest.java
index a0d8c6b..dcae9e7 100644
---
a/pinot-core/src/test/java/org/apache/pinot/queries/PercentileTDigestQueriesTest.java
+++
b/pinot-core/src/test/java/org/apache/pinot/queries/PercentileTDigestQueriesTest.java
@@ -31,6 +31,8 @@ import java.util.List;
import java.util.Map;
import java.util.Random;
import org.apache.commons.io.FileUtils;
+import org.apache.pinot.spi.config.table.TableConfig;
+import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.data.DimensionFieldSpec;
import org.apache.pinot.spi.data.FieldSpec;
import org.apache.pinot.spi.data.MetricFieldSpec;
@@ -55,6 +57,7 @@ import
org.apache.pinot.core.query.aggregation.function.PercentileTDigestAggrega
import
org.apache.pinot.core.query.aggregation.groupby.AggregationGroupByResult;
import org.apache.pinot.core.query.aggregation.groupby.GroupKeyGenerator;
import
org.apache.pinot.core.segment.creator.impl.SegmentIndexCreationDriverImpl;
+import org.apache.pinot.spi.utils.builder.TableConfigBuilder;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
@@ -145,8 +148,9 @@ public class PercentileTDigestQueriesTest extends
BaseQueriesTest {
schema.addField(new MetricFieldSpec(DOUBLE_COLUMN,
FieldSpec.DataType.DOUBLE));
schema.addField(new MetricFieldSpec(TDIGEST_COLUMN,
FieldSpec.DataType.BYTES));
schema.addField(new DimensionFieldSpec(GROUP_BY_COLUMN,
FieldSpec.DataType.STRING, true));
+ TableConfig tableConfig = new
TableConfigBuilder(TableType.OFFLINE).setTableName(TABLE_NAME).build();
- SegmentGeneratorConfig config = new SegmentGeneratorConfig(null, schema);
+ SegmentGeneratorConfig config = new SegmentGeneratorConfig(tableConfig,
schema);
config.setOutDir(INDEX_DIR.getPath());
config.setTableName(TABLE_NAME);
config.setSegmentName(SEGMENT_NAME);
diff --git
a/pinot-core/src/test/java/org/apache/pinot/queries/RangePredicateWithSortedInvertedIndexTest.java
b/pinot-core/src/test/java/org/apache/pinot/queries/RangePredicateWithSortedInvertedIndexTest.java
index 2aa55cf..2f34a01 100644
---
a/pinot-core/src/test/java/org/apache/pinot/queries/RangePredicateWithSortedInvertedIndexTest.java
+++
b/pinot-core/src/test/java/org/apache/pinot/queries/RangePredicateWithSortedInvertedIndexTest.java
@@ -36,10 +36,13 @@ import
org.apache.pinot.core.indexsegment.immutable.ImmutableSegmentLoader;
import org.apache.pinot.core.operator.blocks.IntermediateResultsBlock;
import org.apache.pinot.core.operator.query.SelectionOnlyOperator;
import
org.apache.pinot.core.segment.creator.impl.SegmentIndexCreationDriverImpl;
+import org.apache.pinot.spi.config.table.TableConfig;
+import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.data.FieldSpec;
import org.apache.pinot.spi.data.Schema;
import org.apache.pinot.spi.data.readers.GenericRow;
import org.apache.pinot.spi.data.readers.RecordReader;
+import org.apache.pinot.spi.utils.builder.TableConfigBuilder;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
@@ -68,6 +71,7 @@ public class RangePredicateWithSortedInvertedIndexTest
extends BaseQueriesTest {
private final long[] longValues = new long[NUM_ROWS];
private Schema _schema;
+ private TableConfig _tableConfig;
@BeforeClass
public void setUp() {
@@ -84,6 +88,7 @@ public class RangePredicateWithSortedInvertedIndexTest
extends BaseQueriesTest {
_schema =
new
Schema.SchemaBuilder().setSchemaName(TABLE_NAME).addSingleValueDimension(D1,
FieldSpec.DataType.STRING)
.addMetric(M1, FieldSpec.DataType.INT).addMetric(M2,
FieldSpec.DataType.LONG).build();
+ _tableConfig = new
TableConfigBuilder(TableType.OFFLINE).setTableName(TABLE_NAME).build();
}
private void createTestData() {
@@ -114,9 +119,10 @@ public class RangePredicateWithSortedInvertedIndexTest
extends BaseQueriesTest {
return null;
}
- private void createSegment(Schema schema, RecordReader recordReader, String
segmentName, String tableName)
+ private void createSegment(TableConfig tableConfig, Schema schema,
RecordReader recordReader, String segmentName,
+ String tableName)
throws Exception {
- SegmentGeneratorConfig segmentGeneratorConfig = new
SegmentGeneratorConfig(null, schema);
+ SegmentGeneratorConfig segmentGeneratorConfig = new
SegmentGeneratorConfig(tableConfig, schema);
segmentGeneratorConfig.setTableName(tableName);
segmentGeneratorConfig.setOutDir(INDEX_DIR.getAbsolutePath());
segmentGeneratorConfig.setSegmentName(segmentName);
@@ -141,7 +147,7 @@ public class RangePredicateWithSortedInvertedIndexTest
extends BaseQueriesTest {
throws Exception {
Random random = new Random();
try (RecordReader recordReader = new GenericRowRecordReader(_rows)) {
- createSegment(_schema, recordReader, SEGMENT_NAME_1, TABLE_NAME);
+ createSegment(_tableConfig, _schema, recordReader, SEGMENT_NAME_1,
TABLE_NAME);
final ImmutableSegment immutableSegment = loadSegment(SEGMENT_NAME_1);
_indexSegments.add(immutableSegment);
diff --git
a/pinot-core/src/test/java/org/apache/pinot/queries/SerializedBytesQueriesTest.java
b/pinot-core/src/test/java/org/apache/pinot/queries/SerializedBytesQueriesTest.java
index 889695e..29300ad 100644
---
a/pinot-core/src/test/java/org/apache/pinot/queries/SerializedBytesQueriesTest.java
+++
b/pinot-core/src/test/java/org/apache/pinot/queries/SerializedBytesQueriesTest.java
@@ -29,6 +29,8 @@ import java.util.Iterator;
import java.util.List;
import java.util.Random;
import org.apache.commons.io.FileUtils;
+import org.apache.pinot.spi.config.table.TableConfig;
+import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.data.FieldSpec.DataType;
import org.apache.pinot.spi.data.Schema;
import org.apache.pinot.common.response.broker.AggregationResult;
@@ -54,6 +56,7 @@ import
org.apache.pinot.core.query.aggregation.function.customobject.QuantileDig
import
org.apache.pinot.core.query.aggregation.groupby.AggregationGroupByResult;
import org.apache.pinot.core.query.aggregation.groupby.GroupKeyGenerator;
import
org.apache.pinot.core.segment.creator.impl.SegmentIndexCreationDriverImpl;
+import org.apache.pinot.spi.utils.builder.TableConfigBuilder;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@@ -207,7 +210,9 @@ public class SerializedBytesQueriesTest extends
BaseQueriesTest {
.addMetric(DISTINCT_COUNT_HLL_COLUMN,
DataType.BYTES).addMetric(MIN_MAX_RANGE_COLUMN, DataType.BYTES)
.addMetric(PERCENTILE_EST_COLUMN,
DataType.BYTES).addMetric(PERCENTILE_TDIGEST_COLUMN, DataType.BYTES).build();
- SegmentGeneratorConfig config = new SegmentGeneratorConfig(null, schema);
+ TableConfig tableConfig = new
TableConfigBuilder(TableType.OFFLINE).setTableName(RAW_TABLE_NAME).build();
+
+ SegmentGeneratorConfig config = new SegmentGeneratorConfig(tableConfig,
schema);
config.setOutDir(INDEX_DIR.getPath());
config.setTableName(RAW_TABLE_NAME);
config.setSegmentName(SEGMENT_NAME);
diff --git
a/pinot-core/src/test/java/org/apache/pinot/queries/TextSearchQueriesTest.java
b/pinot-core/src/test/java/org/apache/pinot/queries/TextSearchQueriesTest.java
index fa0686c..da29a42 100644
---
a/pinot-core/src/test/java/org/apache/pinot/queries/TextSearchQueriesTest.java
+++
b/pinot-core/src/test/java/org/apache/pinot/queries/TextSearchQueriesTest.java
@@ -63,10 +63,13 @@ import
org.apache.pinot.core.operator.query.AggregationOperator;
import org.apache.pinot.core.operator.query.SelectionOnlyOperator;
import
org.apache.pinot.core.segment.creator.impl.SegmentIndexCreationDriverImpl;
import org.apache.pinot.core.segment.index.loader.IndexLoadingConfig;
+import org.apache.pinot.spi.config.table.TableConfig;
+import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.data.FieldSpec;
import org.apache.pinot.spi.data.Schema;
import org.apache.pinot.spi.data.readers.GenericRow;
import org.apache.pinot.spi.data.readers.RecordReader;
+import org.apache.pinot.spi.utils.builder.TableConfigBuilder;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
@@ -94,6 +97,7 @@ public class TextSearchQueriesTest extends BaseQueriesTest {
private List<GenericRow> _rows = new ArrayList<>();
private RecordReader _recordReader;
Schema _schema;
+ private TableConfig _tableConfig;
private List<IndexSegment> _indexSegments = new ArrayList<>(1);
private List<SegmentDataManager> _segmentDataManagers = new ArrayList<>();
@@ -139,13 +143,14 @@ public class TextSearchQueriesTest extends
BaseQueriesTest {
.addSingleValueDimension(QUERY_LOG_TEXT_COL_NAME,
FieldSpec.DataType.STRING)
.addSingleValueDimension(SKILLS_TEXT_COL_NAME,
FieldSpec.DataType.STRING)
.addMetric(INT_COL_NAME, FieldSpec.DataType.INT).build();
+ _tableConfig = new
TableConfigBuilder(TableType.OFFLINE).setTableName(TABLE_NAME).build();
}
private void createSegment()
throws Exception {
textIndexColumns.add(QUERY_LOG_TEXT_COL_NAME);
textIndexColumns.add(SKILLS_TEXT_COL_NAME);
- SegmentGeneratorConfig segmentGeneratorConfig = new
SegmentGeneratorConfig(null, _schema);
+ SegmentGeneratorConfig segmentGeneratorConfig = new
SegmentGeneratorConfig(_tableConfig, _schema);
segmentGeneratorConfig.setTableName(TABLE_NAME);
segmentGeneratorConfig.setOutDir(INDEX_DIR.getAbsolutePath());
segmentGeneratorConfig.setSegmentName(SEGMENT_NAME);
diff --git
a/pinot-core/src/test/java/org/apache/pinot/query/aggregation/DefaultAggregationExecutorTest.java
b/pinot-core/src/test/java/org/apache/pinot/query/aggregation/DefaultAggregationExecutorTest.java
index 5fd7cdc..ee13450 100644
---
a/pinot-core/src/test/java/org/apache/pinot/query/aggregation/DefaultAggregationExecutorTest.java
+++
b/pinot-core/src/test/java/org/apache/pinot/query/aggregation/DefaultAggregationExecutorTest.java
@@ -47,10 +47,12 @@ import
org.apache.pinot.core.query.aggregation.AggregationFunctionContext;
import org.apache.pinot.core.query.aggregation.DefaultAggregationExecutor;
import
org.apache.pinot.core.query.aggregation.function.AggregationFunctionUtils;
import
org.apache.pinot.core.segment.creator.impl.SegmentIndexCreationDriverImpl;
+import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.data.FieldSpec;
import org.apache.pinot.spi.data.MetricFieldSpec;
import org.apache.pinot.spi.data.Schema;
import org.apache.pinot.spi.data.readers.GenericRow;
+import org.apache.pinot.spi.utils.builder.TableConfigBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.Assert;
@@ -169,13 +171,12 @@ public class DefaultAggregationExecutorTest {
FileUtils.deleteQuietly(INDEX_DIR);
}
- SegmentGeneratorConfig config = new SegmentGeneratorConfig();
+ SegmentGeneratorConfig config =
+ new SegmentGeneratorConfig(new
TableConfigBuilder(TableType.OFFLINE).setTableName("test").build(),
+ buildSchema());
config.setSegmentName(SEGMENT_NAME);
config.setOutDir(INDEX_DIR.getAbsolutePath());
- Schema schema = buildSchema();
- config.setSchema(schema);
-
List<GenericRow> rows = new ArrayList<>(NUM_ROWS);
for (int i = 0; i < NUM_ROWS; i++) {
Map<String, Object> map = new HashMap<>();
diff --git
a/pinot-core/src/test/java/org/apache/pinot/query/aggregation/groupby/DictionaryBasedGroupKeyGeneratorTest.java
b/pinot-core/src/test/java/org/apache/pinot/query/aggregation/groupby/DictionaryBasedGroupKeyGeneratorTest.java
index 64c8046..2223c32 100644
---
a/pinot-core/src/test/java/org/apache/pinot/query/aggregation/groupby/DictionaryBasedGroupKeyGeneratorTest.java
+++
b/pinot-core/src/test/java/org/apache/pinot/query/aggregation/groupby/DictionaryBasedGroupKeyGeneratorTest.java
@@ -45,10 +45,13 @@ import
org.apache.pinot.core.query.aggregation.groupby.DictionaryBasedGroupKeyGe
import org.apache.pinot.core.query.aggregation.groupby.GroupKeyGenerator;
import
org.apache.pinot.core.segment.creator.impl.SegmentIndexCreationDriverImpl;
import org.apache.pinot.pql.parsers.Pql2Compiler;
+import org.apache.pinot.spi.config.table.TableConfig;
+import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.data.DimensionFieldSpec;
import org.apache.pinot.spi.data.FieldSpec;
import org.apache.pinot.spi.data.Schema;
import org.apache.pinot.spi.data.readers.GenericRow;
+import org.apache.pinot.spi.utils.builder.TableConfigBuilder;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@@ -122,7 +125,9 @@ public class DictionaryBasedGroupKeyGeneratorTest {
schema.addField(new DimensionFieldSpec(multiValueColumn,
FieldSpec.DataType.INT, false));
}
- SegmentGeneratorConfig config = new SegmentGeneratorConfig(null, schema);
+ TableConfig tableConfig = new
TableConfigBuilder(TableType.OFFLINE).setTableName("test").build();
+
+ SegmentGeneratorConfig config = new SegmentGeneratorConfig(tableConfig,
schema);
config.setOutDir(INDEX_DIR_PATH);
config.setSegmentName(SEGMENT_NAME);
diff --git
a/pinot-core/src/test/java/org/apache/pinot/query/aggregation/groupby/NoDictionaryGroupKeyGeneratorTest.java
b/pinot-core/src/test/java/org/apache/pinot/query/aggregation/groupby/NoDictionaryGroupKeyGeneratorTest.java
index 9f67005..e8ca22a 100644
---
a/pinot-core/src/test/java/org/apache/pinot/query/aggregation/groupby/NoDictionaryGroupKeyGeneratorTest.java
+++
b/pinot-core/src/test/java/org/apache/pinot/query/aggregation/groupby/NoDictionaryGroupKeyGeneratorTest.java
@@ -46,11 +46,14 @@ import
org.apache.pinot.core.query.aggregation.groupby.NoDictionaryMultiColumnGr
import
org.apache.pinot.core.query.aggregation.groupby.NoDictionarySingleColumnGroupKeyGenerator;
import
org.apache.pinot.core.segment.creator.impl.SegmentIndexCreationDriverImpl;
import org.apache.pinot.pql.parsers.Pql2Compiler;
+import org.apache.pinot.spi.config.table.TableConfig;
+import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.data.DimensionFieldSpec;
import org.apache.pinot.spi.data.FieldSpec;
import org.apache.pinot.spi.data.Schema;
import org.apache.pinot.spi.data.readers.GenericRow;
import org.apache.pinot.spi.data.readers.RecordReader;
+import org.apache.pinot.spi.utils.builder.TableConfigBuilder;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@@ -217,7 +220,9 @@ public class NoDictionaryGroupKeyGeneratorTest {
schema.addField(dimensionFieldSpec);
}
- SegmentGeneratorConfig config = new SegmentGeneratorConfig(null, schema);
+ TableConfig tableConfig = new
TableConfigBuilder(TableType.OFFLINE).setTableName("test").build();
+
+ SegmentGeneratorConfig config = new SegmentGeneratorConfig(tableConfig,
schema);
config.setRawIndexCreationColumns(Arrays.asList(NO_DICT_COLUMN_NAMES));
config.setOutDir(INDEX_DIR_PATH);
diff --git
a/pinot-core/src/test/java/org/apache/pinot/segments/v1/creator/OnHeapDictionariesTest.java
b/pinot-core/src/test/java/org/apache/pinot/segments/v1/creator/OnHeapDictionariesTest.java
index 303a455..a122dc4 100644
---
a/pinot-core/src/test/java/org/apache/pinot/segments/v1/creator/OnHeapDictionariesTest.java
+++
b/pinot-core/src/test/java/org/apache/pinot/segments/v1/creator/OnHeapDictionariesTest.java
@@ -28,6 +28,8 @@ import java.util.List;
import java.util.Random;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.RandomStringUtils;
+import org.apache.pinot.spi.config.table.TableConfig;
+import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.data.DimensionFieldSpec;
import org.apache.pinot.spi.data.FieldSpec;
import org.apache.pinot.spi.data.Schema;
@@ -43,6 +45,7 @@ import
org.apache.pinot.core.indexsegment.immutable.ImmutableSegmentLoader;
import
org.apache.pinot.core.segment.creator.impl.SegmentIndexCreationDriverImpl;
import org.apache.pinot.core.segment.index.loader.IndexLoadingConfig;
import org.apache.pinot.core.segment.index.readers.Dictionary;
+import org.apache.pinot.spi.utils.builder.TableConfigBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.Assert;
@@ -75,7 +78,9 @@ public class OnHeapDictionariesTest {
public void setup()
throws Exception {
Schema schema = buildSchema();
- buildSegment(SEGMENT_DIR_NAME, SEGMENT_NAME, schema);
+
+ TableConfig tableConfig = new
TableConfigBuilder(TableType.OFFLINE).setTableName("test").build();
+ buildSegment(SEGMENT_DIR_NAME, SEGMENT_NAME, tableConfig, schema);
IndexLoadingConfig loadingConfig = new IndexLoadingConfig();
loadingConfig.setReadMode(ReadMode.mmap);
@@ -163,10 +168,10 @@ public class OnHeapDictionariesTest {
* @return Schema built for the segment
* @throws Exception
*/
- private Schema buildSegment(String segmentDirName, String segmentName,
Schema schema)
+ private Schema buildSegment(String segmentDirName, String segmentName,
TableConfig tableConfig, Schema schema)
throws Exception {
- SegmentGeneratorConfig config = new SegmentGeneratorConfig(null, schema);
+ SegmentGeneratorConfig config = new SegmentGeneratorConfig(tableConfig,
schema);
config.setOutDir(segmentDirName);
config.setFormat(FileFormat.AVRO);
config.setSegmentName(segmentName);
diff --git
a/pinot-core/src/test/java/org/apache/pinot/segments/v1/creator/SegmentTestUtils.java
b/pinot-core/src/test/java/org/apache/pinot/segments/v1/creator/SegmentTestUtils.java
index c6d541d..ed801f6 100644
---
a/pinot-core/src/test/java/org/apache/pinot/segments/v1/creator/SegmentTestUtils.java
+++
b/pinot-core/src/test/java/org/apache/pinot/segments/v1/creator/SegmentTestUtils.java
@@ -37,12 +37,15 @@ import org.apache.commons.collections.Predicate;
import org.apache.pinot.core.indexsegment.generator.SegmentGeneratorConfig;
import org.apache.pinot.core.indexsegment.generator.SegmentVersion;
import org.apache.pinot.plugin.inputformat.avro.AvroSchemaUtil;
+import org.apache.pinot.spi.config.table.TableConfig;
+import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.data.DimensionFieldSpec;
import org.apache.pinot.spi.data.FieldSpec;
import org.apache.pinot.spi.data.FieldSpec.DataType;
import org.apache.pinot.spi.data.MetricFieldSpec;
import org.apache.pinot.spi.data.Schema;
import org.apache.pinot.spi.data.readers.FileFormat;
+import org.apache.pinot.spi.utils.builder.TableConfigBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -55,7 +58,8 @@ public class SegmentTestUtils {
@Nonnull File outputDir, @Nonnull String tableName)
throws IOException {
SegmentGeneratorConfig segmentGeneratorConfig =
- new SegmentGeneratorConfig(null,
extractSchemaFromAvroWithoutTime(avroFile));
+ new SegmentGeneratorConfig(new
TableConfigBuilder(TableType.OFFLINE).setTableName(tableName).build(),
+ extractSchemaFromAvroWithoutTime(avroFile));
segmentGeneratorConfig.setInputFilePath(avroFile.getAbsolutePath());
segmentGeneratorConfig.setOutDir(outputDir.getAbsolutePath());
segmentGeneratorConfig.setTableName(tableName);
@@ -66,7 +70,8 @@ public class SegmentTestUtils {
String timeColumn, TimeUnit timeUnit, String tableName)
throws IOException {
final SegmentGeneratorConfig segmentGenSpec =
- new SegmentGeneratorConfig(null,
extractSchemaFromAvroWithoutTime(inputAvro));
+ new SegmentGeneratorConfig(new
TableConfigBuilder(TableType.OFFLINE).setTableName(tableName).build(),
+ extractSchemaFromAvroWithoutTime(inputAvro));
segmentGenSpec.setInputFilePath(inputAvro.getAbsolutePath());
segmentGenSpec.setTimeColumnName(timeColumn);
segmentGenSpec.setSegmentTimeUnit(timeUnit);
@@ -79,8 +84,8 @@ public class SegmentTestUtils {
}
public static SegmentGeneratorConfig
getSegmentGeneratorConfigWithSchema(File inputAvro, File outputDir,
- String tableName, Schema schema) {
- SegmentGeneratorConfig segmentGeneratorConfig = new
SegmentGeneratorConfig(null, schema);
+ String tableName, TableConfig tableConfig, Schema schema) {
+ SegmentGeneratorConfig segmentGeneratorConfig = new
SegmentGeneratorConfig(tableConfig, schema);
segmentGeneratorConfig.setInputFilePath(inputAvro.getAbsolutePath());
segmentGeneratorConfig.setOutDir(outputDir.getAbsolutePath());
segmentGeneratorConfig.setFormat(FileFormat.AVRO);
diff --git
a/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/DefaultCommitterRealtimeIntegrationTest.java
b/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/DefaultCommitterRealtimeIntegrationTest.java
index adcb014..c2d4101 100644
---
a/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/DefaultCommitterRealtimeIntegrationTest.java
+++
b/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/DefaultCommitterRealtimeIntegrationTest.java
@@ -41,6 +41,7 @@ import org.apache.pinot.spi.data.Schema;
import org.apache.pinot.spi.data.readers.GenericRow;
import org.apache.pinot.spi.data.readers.RecordReader;
import org.apache.pinot.spi.utils.JsonUtils;
+import org.apache.pinot.spi.utils.builder.TableNameBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.annotations.BeforeClass;
@@ -139,7 +140,8 @@ public class DefaultCommitterRealtimeIntegrationTest
extends RealtimeClusterInte
public void buildSegment()
throws Exception {
Schema schema = _helixResourceManager.getSchema(getTableName());
- TableConfig tableConfig =
_helixResourceManager.getTableConfig(getTableName());
+ TableConfig tableConfig = _helixResourceManager
+
.getTableConfig(TableNameBuilder.forType(TableType.REALTIME).tableNameWithType(getTableName()));
String _segmentOutputDir = Files.createTempDir().toString();
List<GenericRow> _rows = PinotSegmentUtil.createTestData(schema, 1);
RecordReader _recordReader = new GenericRowRecordReader(_rows);
diff --git
a/pinot-integration-tests/src/test/java/org/apache/pinot/server/util/SegmentTestUtils.java
b/pinot-integration-tests/src/test/java/org/apache/pinot/server/util/SegmentTestUtils.java
index 89d7daa..2a3e88f 100644
---
a/pinot-integration-tests/src/test/java/org/apache/pinot/server/util/SegmentTestUtils.java
+++
b/pinot-integration-tests/src/test/java/org/apache/pinot/server/util/SegmentTestUtils.java
@@ -24,10 +24,13 @@ import java.util.concurrent.TimeUnit;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.apache.pinot.plugin.inputformat.avro.AvroUtils;
+import org.apache.pinot.spi.config.table.TableConfig;
+import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.data.Schema;
import org.apache.pinot.spi.data.readers.FileFormat;
import org.apache.pinot.core.indexsegment.generator.SegmentGeneratorConfig;
import org.apache.pinot.core.indexsegment.generator.SegmentVersion;
+import org.apache.pinot.spi.utils.builder.TableConfigBuilder;
public class SegmentTestUtils {
@@ -38,12 +41,16 @@ public class SegmentTestUtils {
public static SegmentGeneratorConfig getSegmentGeneratorConfig(@Nonnull File
inputAvro, @Nonnull File outputDir,
@Nonnull TimeUnit timeUnit, @Nonnull String tableName, @Nullable Schema
pinotSchema)
throws IOException {
- SegmentGeneratorConfig segmentGeneratorConfig;
if (pinotSchema == null) {
- segmentGeneratorConfig = new SegmentGeneratorConfig(null,
AvroUtils.getPinotSchemaFromAvroDataFile(inputAvro));
- } else {
- segmentGeneratorConfig = new SegmentGeneratorConfig(null, pinotSchema);
+ pinotSchema = AvroUtils.getPinotSchemaFromAvroDataFile(inputAvro);
+ }
+ TableConfigBuilder tableConfigBuilder = new
TableConfigBuilder(TableType.OFFLINE).setTableName(tableName);
+ // TODO: change to getDateTimeFieldSpecs().get(0)
+ if (pinotSchema.getTimeFieldSpec() != null) {
+
tableConfigBuilder.setTimeColumnName(pinotSchema.getTimeFieldSpec().getName());
}
+ TableConfig tableConfig = tableConfigBuilder.build();
+ SegmentGeneratorConfig segmentGeneratorConfig = new
SegmentGeneratorConfig(tableConfig, pinotSchema);
segmentGeneratorConfig.setInputFilePath(inputAvro.getAbsolutePath());
segmentGeneratorConfig.setSegmentTimeUnit(timeUnit);
diff --git
a/pinot-perf/src/main/java/org/apache/pinot/perf/RawIndexBenchmark.java
b/pinot-perf/src/main/java/org/apache/pinot/perf/RawIndexBenchmark.java
index 6d7abd9..0fddedc 100644
--- a/pinot-perf/src/main/java/org/apache/pinot/perf/RawIndexBenchmark.java
+++ b/pinot-perf/src/main/java/org/apache/pinot/perf/RawIndexBenchmark.java
@@ -28,6 +28,8 @@ import java.util.List;
import java.util.Map;
import java.util.Random;
import org.apache.commons.io.FileUtils;
+import org.apache.pinot.spi.config.table.TableConfig;
+import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.data.DimensionFieldSpec;
import org.apache.pinot.spi.data.FieldSpec;
import org.apache.pinot.spi.data.Schema;
@@ -47,6 +49,7 @@ import
org.apache.pinot.core.operator.filter.TestFilterOperator;
import org.apache.pinot.core.plan.DocIdSetPlanNode;
import
org.apache.pinot.core.segment.creator.impl.SegmentIndexCreationDriverImpl;
import org.apache.pinot.core.segment.creator.impl.V1Constants;
+import org.apache.pinot.spi.utils.builder.TableConfigBuilder;
import org.kohsuke.args4j.CmdLineParser;
import org.kohsuke.args4j.Option;
@@ -127,8 +130,8 @@ public class RawIndexBenchmark {
DimensionFieldSpec dimensionFieldSpec = new DimensionFieldSpec(column,
FieldSpec.DataType.STRING, true);
schema.addField(dimensionFieldSpec);
}
-
- SegmentGeneratorConfig config = new SegmentGeneratorConfig(null, schema);
+ TableConfig tableConfig = new
TableConfigBuilder(TableType.OFFLINE).setTableName("test").build();
+ SegmentGeneratorConfig config = new SegmentGeneratorConfig(tableConfig,
schema);
config.setRawIndexCreationColumns(Collections.singletonList(_rawIndexColumn));
config.setOutDir(SEGMENT_DIR_NAME);
diff --git
a/pinot-perf/src/main/java/org/apache/pinot/perf/StringDictionaryPerfTest.java
b/pinot-perf/src/main/java/org/apache/pinot/perf/StringDictionaryPerfTest.java
index 6f585ac..9484cf9 100644
---
a/pinot-perf/src/main/java/org/apache/pinot/perf/StringDictionaryPerfTest.java
+++
b/pinot-perf/src/main/java/org/apache/pinot/perf/StringDictionaryPerfTest.java
@@ -29,6 +29,8 @@ import java.util.Set;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.RandomStringUtils;
import org.apache.commons.math.stat.descriptive.DescriptiveStatistics;
+import org.apache.pinot.spi.config.table.TableConfig;
+import org.apache.pinot.spi.config.table.TableType;
import org.apache.pinot.spi.data.DimensionFieldSpec;
import org.apache.pinot.spi.data.FieldSpec;
import org.apache.pinot.spi.data.Schema;
@@ -42,6 +44,7 @@ import
org.apache.pinot.core.indexsegment.immutable.ImmutableSegmentLoader;
import
org.apache.pinot.core.segment.creator.impl.SegmentIndexCreationDriverImpl;
import org.apache.pinot.core.segment.index.loader.IndexLoadingConfig;
import org.apache.pinot.core.segment.index.readers.Dictionary;
+import org.apache.pinot.spi.utils.builder.TableConfigBuilder;
/**
@@ -77,11 +80,12 @@ public class StringDictionaryPerfTest {
FieldSpec fieldSpec = new DimensionFieldSpec(COLUMN_NAME,
FieldSpec.DataType.STRING, true);
schema.addField(fieldSpec);
+ TableConfig tableConfig = new
TableConfigBuilder(TableType.OFFLINE).setTableName("test").build();
_dictLength = dictLength;
_inputStrings = new String[dictLength];
- SegmentGeneratorConfig config = new SegmentGeneratorConfig(null, schema);
+ SegmentGeneratorConfig config = new SegmentGeneratorConfig(tableConfig,
schema);
config.setOutDir(_indexDir.getParent());
config.setFormat(FileFormat.AVRO);
config.setSegmentName(segmentName);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]