TableConfig tableConfig = new TableConfig.Builder(CommonConstants.Helix.TableType.OFFLINE).setTableName(tableName) .setBrokerTenant("testBroker").setServerTenant("testServer").build(); _pinotResourceManager.addTable(tableConfig);
.constructStreamProperty(streamType, StreamConfigProperties.STREAM_CONSUMER_OFFSET_CRITERIA), "smallest"); TableConfig tableConfig = new TableConfig.Builder(Helix.TableType.REALTIME).setTableName(tableName).setLLC(useLlc) .setTimeColumnName(timeColumnName).setTimeType(timeType).setSchemaName(schemaName).setBrokerTenant(brokerTenant) .setServerTenant(serverTenant).setLoadMode(loadMode).setSortedColumn(sortedColumn) .setInvertedIndexColumns(invertedIndexColumns).setBloomFilterColumns(bloomFilterColumns) .setNoDictionaryColumns(noDictionaryColumns).setStreamConfigs(streamConfigs).setTaskConfig(taskConfig).build();
new TableConfig.Builder(CommonConstants.Helix.TableType.OFFLINE).setTableName(TABLE_NAME_BALANCED) .setSegmentAssignmentStrategy("BalanceNumSegmentAssignmentStrategy").setNumReplicas(numReplicas).build(); _pinotHelixResourceManager.addTable(tableConfig);
@Test public void testSerializeDeserialize() throws Exception { TableConfig.Builder tableConfigBuilder = new TableConfig.Builder(TableType.OFFLINE).setTableName("myTable"); TableConfig tableConfig = tableConfigBuilder.build(); TableConfig tableConfig = tableConfigBuilder.setQuotaConfig(quotaConfig).build(); tableConfig = tableConfigBuilder.setQuotaConfig(quotaConfig).build(); Assert.assertNotNull(tableConfig.getQuotaConfig()); Assert.assertNotNull(tableConfig.getQuotaConfig().getMaxQueriesPerSecond()); tableConfigBuilder.setServerTenant("aServerTenant").setBrokerTenant("aBrokerTenant").build(); tableConfig = tableConfigBuilder.setTagOverrideConfig(tagOverrideConfig).build(); tableConfigBuilder.setSegmentAssignmentStrategy("ReplicaGroupSegmentAssignmentStrategy").build(); tableConfig.getValidationConfig().setReplicaGroupStrategyConfig(replicaGroupConfig); TableConfig tableConfig = tableConfigBuilder.build(); Assert.assertEquals( tableConfig.getIndexingConfig().getStreamConsumptionConfig().getStreamPartitionAssignmentStrategy(), tableConfigBuilder.setStreamPartitionAssignmentStrategy("BalancedStreamPartitionAssignment").build(); Assert.assertEquals( tableConfig.getIndexingConfig().getStreamConsumptionConfig().getStreamPartitionAssignmentStrategy(), TableConfig tableConfig = tableConfigBuilder.build(); tableConfig.getIndexingConfig().setStarTreeIndexSpec(starTreeIndexSpec);
int targetNumReplicas = nReplicas; tableConfig = new TableConfig.Builder(CommonConstants.Helix.TableType.REALTIME).setTableName(realtimeTableName).setLLC(true) .setNumReplicas(targetNumReplicas).setServerTenant(serverTenant).build(); new TableConfig.Builder(CommonConstants.Helix.TableType.REALTIME).setTableName(realtimeTableName).setLLC(true) .setNumReplicas(targetNumReplicas).setServerTenant(serverTenant).build(); rebalancedIdealState = testRebalanceRealtime(rebalancedIdealState, tableConfig, rebalanceUserConfig, newPartitionAssignment, setPartitionAssignment(newPartitionAssignment, targetNumReplicas, consumingInstances); tableConfig = new TableConfig.Builder(CommonConstants.Helix.TableType.REALTIME).setTableName(realtimeTableName).setLLC(true) .setNumReplicas(targetNumReplicas).setServerTenant(serverTenant).build(); rebalancedIdealState = testRebalanceRealtime(rebalancedIdealState, tableConfig, rebalanceUserConfig, newPartitionAssignment,
new TableConfig.Builder(CommonConstants.Helix.TableType.OFFLINE).setTableName(TEST_TABLE_NAME).build(); ZkHelixPropertyStore<ZNRecord> fakePropertyStore = new FakePropertyStore(); segmentSelector.init(tableConfig, fakePropertyStore);
public void testFlushThresholdUpdater() { FlushThresholdUpdateManager manager = new FlushThresholdUpdateManager(); TableConfig.Builder tableConfigBuilder = new TableConfig.Builder(CommonConstants.Helix.TableType.REALTIME); tableConfigBuilder.setTableName("tableName_REALTIME"); TableConfig realtimeTableConfig; .put(StreamConfigProperties.constructStreamProperty(streamType, StreamConfigProperties.STREAM_DECODER_CLASS), decoderClass); tableConfigBuilder.setStreamConfigs(streamConfigs); realtimeTableConfig = tableConfigBuilder.build(); flushThresholdUpdater = manager.getFlushThresholdUpdater(realtimeTableConfig); Assert.assertEquals(flushThresholdUpdater.getClass(), DefaultFlushThresholdUpdater.class); realtimeTableConfig = tableConfigBuilder.build(); flushThresholdUpdater = manager.getFlushThresholdUpdater(realtimeTableConfig); Assert.assertEquals(flushThresholdUpdater.getClass(), DefaultFlushThresholdUpdater.class); realtimeTableConfig = tableConfigBuilder.build(); flushThresholdUpdater = manager.getFlushThresholdUpdater(realtimeTableConfig); Assert.assertEquals(flushThresholdUpdater.getClass(), SegmentSizeBasedFlushThresholdUpdater.class); realtimeTableConfig = tableConfigBuilder.build(); FlushThresholdUpdater flushThresholdUpdaterSame = manager.getFlushThresholdUpdater(realtimeTableConfig); Assert.assertEquals(flushThresholdUpdaterSame.getClass(), SegmentSizeBasedFlushThresholdUpdater.class); realtimeTableConfig = tableConfigBuilder.build(); flushThresholdUpdater = manager.getFlushThresholdUpdater(realtimeTableConfig); Assert.assertEquals(flushThresholdUpdater.getClass(), DefaultFlushThresholdUpdater.class);
TableConfig offlineTableConfig = _offlineBuilder.build(); offlineTableConfig.setTableName("bad__table__name"); try { TableConfig realtimeTableConfig = _realtimeBuilder.build(); realtimeTableConfig.setTableName("bad__table__name"); try { _realtimeBuilder.setSchemaName("invalidSchemaName"); TableConfig invalidConfig = _realtimeBuilder.build(); try { sendPostRequest(_createTableUrl, realtimeTableConfig.toJSONConfigString()); _realtimeBuilder.setSchemaName(schemaName); _realtimeBuilder.setTableName("RT_TABLE"); addDummySchema(schemaName); TableConfig diffConfig = _realtimeBuilder.build(); sendPostRequest(_createTableUrl, diffConfig.toJSONConfigString()); _realtimeBuilder.setTableName(REALTIME_TABLE_NAME); _realtimeBuilder.setSchemaName(REALTIME_TABLE_NAME); TableConfig config = _realtimeBuilder.build(); String realtimeTableJSONConfigString = config.toJSONConfigString(); sendPostRequest(_createTableUrl, realtimeTableJSONConfigString);
tableConfig = new TableConfig.Builder(CommonConstants.Helix.TableType.OFFLINE).setTableName(offlineTableName) .setNumReplicas(targetNumReplicas).setServerTenant(serverTenant).build(); rebalancedIdealState = testRebalance(idealState, tableConfig, rebalanceUserConfig, targetNumReplicas, nSegments, instances, false); tableConfig = new TableConfig.Builder(CommonConstants.Helix.TableType.OFFLINE).setTableName(offlineTableName) .setNumReplicas(targetNumReplicas).setServerTenant(serverTenant).build(); rebalancedIdealState = testRebalance(rebalancedIdealState, tableConfig, rebalanceUserConfig, targetNumReplicas, nSegments, instances, tableConfig = new TableConfig.Builder(CommonConstants.Helix.TableType.OFFLINE).setTableName(offlineTableName) .setNumReplicas(targetNumReplicas).setServerTenant(serverTenant).build(); testRebalance(rebalancedIdealState, tableConfig, rebalanceUserConfig, targetNumReplicas, nSegments, instances, true);
String tableName = "updateTC"; String tableJSONConfigString = _offlineBuilder.setTableName(tableName).setNumReplicas(2).build().toJSONConfigString(); sendPostRequest(_createTableUrl, tableJSONConfigString); tableJSONConfigString = _realtimeBuilder.setTableName(tableName).setNumReplicas(2).build().toJSONConfigString(); sendPostRequest(_createTableUrl, tableJSONConfigString); tableConfig = getTableConfig(tableName, "REALTIME");
new TableConfig.Builder(CommonConstants.Helix.TableType.OFFLINE).setTableName(RAW_TABLE_NAME) .setNumReplicas(NUM_INSTANCES).build().toJSONConfigString(); sendPostRequest(_controllerRequestURLBuilder.forTableCreate(), tableJSONConfigString); Assert.assertEquals(
TableConfig tableConfig = new TableConfig.Builder(CommonConstants.Helix.TableType.OFFLINE) .setTableName(TABLE_NAME_PARTITION_LEVEL_REPLICA_GROUP).setNumReplicas(NUM_REPLICA) .setSegmentAssignmentStrategy("ReplicaGroupSegmentAssignmentStrategy").build();
NUM_SERVER_INSTANCES, true); _offlineBuilder.setTableName("testOfflineTable").setTimeColumnName("timeColumn").setTimeType("DAYS") .setRetentionTimeUnit("DAYS").setRetentionTimeValue("5"); streamConfigs.put(StreamConfigProperties .constructStreamProperty(streamType, StreamConfigProperties.STREAM_CONSUMER_OFFSET_CRITERIA), "smallest"); _realtimeBuilder.setTableName(REALTIME_TABLE_NAME).setTimeColumnName("timeColumn").setTimeType("DAYS") .setRetentionTimeUnit("DAYS").setRetentionTimeValue("5").setSchemaName(REALTIME_TABLE_NAME) .setStreamConfigs(streamConfigs);
NUM_SERVER_INSTANCES, true); _offlineBuilder.setTableName("testOfflineTable").setTimeColumnName("timeColumn").setTimeType("DAYS") .setRetentionTimeUnit("DAYS").setRetentionTimeValue("5").setServerTenant("DefaultTenant"); TableConfig offlineTableConfig = _offlineBuilder.build(); offlineTableConfig.setTableName("mytable_OFFLINE"); String offlineTableJSONConfigString = offlineTableConfig.toJSONConfigString();
new TableConfig.Builder(CommonConstants.Helix.TableType.OFFLINE).setTableName(TABLE_NAME).setNumReplicas(3) .setBrokerTenant(BROKER_TENANT_NAME).setServerTenant(SERVER_TENANT_NAME).build(); _helixResourceManager.addTable(tableConfig);
new TableConfig.Builder(CommonConstants.Helix.TableType.OFFLINE).setTableName(tableName).setNumReplicas(3) .build().toJSONConfigString(); sendPostRequest(_controllerRequestURLBuilder.forTableCreate(), tableJSONConfigString); Assert.assertEquals(
new TableConfig.Builder(CommonConstants.Helix.TableType.OFFLINE).setTableName(TABLE_NAME).setNumReplicas(1) .build(); _helixResourceManager.addTable(tableConfig);
TableConfig tableConfig = new TableConfig.Builder(CommonConstants.Helix.TableType.OFFLINE) .setTableName(TABLE_NAME_REPLICA_GROUP_PARTITION_ASSIGNMENT) .setSegmentAssignmentStrategy("RandomAssignmentStrategy").setNumReplicas(NUM_REPLICA).build(); _pinotHelixResourceManager.addTable(tableConfig); replicaGroupStrategyConfig.setMirrorAssignmentAcrossReplicaGroups(true); TableConfig replicaGroupTableConfig = new TableConfig.Builder(CommonConstants.Helix.TableType.OFFLINE) .setTableName(TABLE_NAME_REPLICA_GROUP_PARTITION_ASSIGNMENT).setNumReplicas(NUM_REPLICA) .setSegmentAssignmentStrategy("ReplicaGroupSegmentAssignmentStrategy").build();
new TableConfig.Builder(CommonConstants.Helix.TableType.OFFLINE).setTableName(RAW_DINING_TABLE_NAME) .setTimeColumnName("timeColumn").setTimeType("DAYS").build(); _pinotResourceManager.addTable(offlineTableConfig); setupRealtimeTable();
new TableConfig.Builder(CommonConstants.Helix.TableType.OFFLINE).setTableName(TEST_TABLE_TWO).build(); _pinotHelixResourceManager.addTable(offlineTableConfigTwo); String partitionNameTwo = offlineTableConfigTwo.getTableName();