@BeforeClass public void setUp() { _tableSizeReader = mock(TableSizeReader.class); _tableConfig = mock(TableConfig.class); _quotaConfig = mock(QuotaConfig.class); _controllerMetrics = new ControllerMetrics(new MetricsRegistry()); _validationConfig = mock(SegmentsValidationAndRetentionConfig.class); _pinotHelixResourceManager = mock(PinotHelixResourceManager.class); when(_tableConfig.getValidationConfig()).thenReturn(_validationConfig); when(_validationConfig.getReplicationNumber()).thenReturn(2); TEST_DIR.mkdirs(); }
@Override public void init(Configuration configuration, TableConfig tableConfig, ZkHelixPropertyStore<ZNRecord> propertyStore, BrokerMetrics brokerMetrics) { super.init(configuration, tableConfig, propertyStore, brokerMetrics); String partitionColumn = tableConfig.getValidationConfig().getReplicaGroupStrategyConfig().getPartitionColumn(); _isPartitionLevelReplicaGroupAssignment = (partitionColumn != null); _numReplicas = tableConfig.getValidationConfig().getReplicationNumber(); }
int targetNumReplicaGroup = tableConfig.getValidationConfig().getReplicationNumber();
tableConfig.getIndexingConfig().getSegmentPartitionConfig().getNumPartitions(partitionColumn); int numReplicas = tableConfig.getValidationConfig().getReplicationNumber(); int numServers = servers.size();
int requestReplication; try { requestReplication = segmentsConfig.getReplicationNumber(); if (requestReplication < configMinReplication) { LOGGER.info("Creating table with minimum replication factor of: {} instead of requested replication: {}",
CombinedConfig tableConfigurationObject = CombinedConfigLoader.loadCombinedConfig(tableConfiguration); assertEquals(tableConfigurationObject.getOfflineTableConfig().getTableName(), "mytable_OFFLINE"); assertEquals(tableConfigurationObject.getOfflineTableConfig().getValidationConfig().getReplicationNumber(), 3); tableConfigurationObject = CombinedConfigLoader.loadCombinedConfig(tableConfiguration); assertEquals(tableConfigurationObject.getOfflineTableConfig().getTableName(), "mytable_OFFLINE"); assertEquals(tableConfigurationObject.getOfflineTableConfig().getValidationConfig().getReplicationNumber(), 4); assertEquals(tableConfigurationObject.getOfflineTableConfig().getIndexingConfig().getLoadMode(), "MMAP"); tableConfigurationObject = CombinedConfigLoader.loadCombinedConfig(tableConfiguration); assertEquals(tableConfigurationObject.getOfflineTableConfig().getTableName(), "mytable_OFFLINE"); assertEquals(tableConfigurationObject.getOfflineTableConfig().getValidationConfig().getReplicationNumber(), 3); assertEquals(tableConfigurationObject.getOfflineTableConfig().getIndexingConfig().getLoadMode(), "HEAP");
int numReplicas = _tableConfig.getValidationConfig().getReplicationNumber(); final String tableName = _tableConfig.getTableName();
private void testTableMinReplicationInternal(String tableName, int tableReplication) throws Exception { String tableJSONConfigString = _offlineBuilder.setTableName(tableName).setNumReplicas(tableReplication).build().toJSONConfigString(); sendPostRequest(_createTableUrl, tableJSONConfigString); // table creation should succeed TableConfig tableConfig = getTableConfig(tableName, "OFFLINE"); Assert.assertEquals(tableConfig.getValidationConfig().getReplicationNumber(), Math.max(tableReplication, MIN_NUM_REPLICAS)); addDummySchema(tableName); tableJSONConfigString = _realtimeBuilder.setTableName(tableName).setNumReplicas(tableReplication).build().toJSONConfigString(); sendPostRequest(_createTableUrl, tableJSONConfigString); tableConfig = getTableConfig(tableName, "REALTIME"); Assert.assertEquals(tableConfig.getValidationConfig().getReplicationNumber(), Math.max(tableReplication, MIN_NUM_REPLICAS)); // This test can only be done via integration test // int replicasPerPartition = Integer.valueOf(tableConfig.getValidationConfig().getReplicasPerPartition()); // Assert.assertEquals(replicasPerPartition, Math.max(tableReplication, TABLE_MIN_REPLICATION)); }