private SegmentPartitionMetadata getPartitionMetadataFromTableConfig(String tableName, int numPartitions, int partitionId) { Map<String, ColumnPartitionMetadata> partitionMetadataMap = new HashMap<>(); if (_propertyStore == null) { return null; } TableConfig tableConfig = getRealtimeTableConfig(tableName); SegmentPartitionMetadata partitionMetadata = null; SegmentPartitionConfig partitionConfig = tableConfig.getIndexingConfig().getSegmentPartitionConfig(); if (partitionConfig != null && partitionConfig.getColumnPartitionMap() != null && partitionConfig.getColumnPartitionMap().size() > 0) { Map<String, ColumnPartitionConfig> columnPartitionMap = partitionConfig.getColumnPartitionMap(); for (Map.Entry<String, ColumnPartitionConfig> entry : columnPartitionMap.entrySet()) { String column = entry.getKey(); ColumnPartitionConfig columnPartitionConfig = entry.getValue(); partitionMetadataMap.put(column, new ColumnPartitionMetadata(columnPartitionConfig.getFunctionName(), numPartitions, Collections.singleton(partitionId))); } partitionMetadata = new SegmentPartitionMetadata(partitionMetadataMap); } return partitionMetadata; }
if (partitionColumn != null) { numColumnPartitions = tableConfig.getIndexingConfig().getSegmentPartitionConfig().getNumPartitions(partitionColumn);
_segmentPartitionConfig = indexingConfig.getSegmentPartitionConfig();
@Test public void testSegmentPartitionConfig() throws IOException { int numColumns = 5; Map<String, ColumnPartitionConfig> expectedColumnPartitionMap = new HashMap<>(5); for (int i = 0; i < numColumns; i++) { expectedColumnPartitionMap.put("column_" + i, new ColumnPartitionConfig("function_" + i, i + 1)); } SegmentPartitionConfig expectedPartitionConfig = new SegmentPartitionConfig(expectedColumnPartitionMap); IndexingConfig expectedIndexingConfig = new IndexingConfig(); expectedIndexingConfig.setSegmentPartitionConfig(expectedPartitionConfig); IndexingConfig actualIndexingConfig = JsonUtils.stringToObject(JsonUtils.objectToString(expectedIndexingConfig), IndexingConfig.class); SegmentPartitionConfig actualPartitionConfig = actualIndexingConfig.getSegmentPartitionConfig(); Map<String, ColumnPartitionConfig> actualColumnPartitionMap = actualPartitionConfig.getColumnPartitionMap(); assertEquals(actualColumnPartitionMap.size(), expectedColumnPartitionMap.size()); for (String column : expectedColumnPartitionMap.keySet()) { assertEquals(actualPartitionConfig.getFunctionName(column), expectedPartitionConfig.getFunctionName(column)); assertEquals(actualPartitionConfig.getNumPartitions(column), expectedPartitionConfig.getNumPartitions(column)); } }
makeStreamMetadataProvider("Starting"); SegmentPartitionConfig segmentPartitionConfig = indexingConfig.getSegmentPartitionConfig(); if (segmentPartitionConfig != null) { try {