@Test public void testModifyPartition() throws Exception { int curIdx = 7; long curBorder = 800; Datasource ds = new Datasource(); ds.addProperty(new Property("url").setValue("jdbc:mysql://localhost:3306/fxhermesshard01db")); ds.addProperty(new Property("user").setValue("root")); ds.addProperty(new Property("password").setValue("")); Topic t = new Topic().setName("song.test").setId(1L); Partition p = new Partition(0); MessageTableContext ctx = new MessageTableContext(t, p, 0, 30, 2, 5); ctx.setDatasource(ds); List<PartitionInfo> addlist = new ArrayList<PartitionInfo>(); for (int i = 0; i < 5; i++) { PartitionInfo info = new PartitionInfo(); info.setUpperbound(curBorder + (i + 1) * 100); info.setName("p" + (curIdx + i + 1)); addlist.add(info); } m_service.addPartitions(ctx, addlist); m_service.dropPartitions(ctx, addlist); }
private Properties getProducerProperties(String topic) { Properties configs = KafkaProperties.getDefaultKafkaProducerProperties(); try { Properties envProperties = m_environment.getProducerConfig(topic); configs.putAll(envProperties); } catch (IOException e) { m_logger.warn("read producer config failed", e); } List<Partition> partitions = m_metaService.listPartitionsByTopic(topic); if (partitions == null || partitions.size() < 1) { return configs; } String producerDatasource = partitions.get(0).getWriteDatasource(); Storage producerStorage = m_metaService.findStorageByTopic(topic); if (producerStorage == null) { return configs; } for (Datasource datasource : producerStorage.getDatasources()) { if (producerDatasource.equals(datasource.getId())) { Map<String, Property> properties = datasource.getProperties(); for (Map.Entry<String, Property> prop : properties.entrySet()) { configs.put(prop.getValue().getName(), prop.getValue().getValue()); } break; } } return KafkaProperties.overrideByCtripDefaultProducerSetting(configs); }