Skip to content
代码片段 群组 项目
未验证 提交 3edb94eb 编辑于 作者: Edoardo Comar's avatar Edoardo Comar 提交者: GitHub
浏览文件

KAFKA-10557: Missing docs when describing topic configs including (#9360)



Reviewers: Rajini Sivaram <rajinisivaram@gmail.com>

Co-authored-by: default avatarEdoardo Comar <ecomar@uk.ibm.com>
Co-authored-by: default avatarMickael Maison <mickael.maison@gmail.com>
上级 57c22168
No related branches found
No related tags found
无相关合并请求
......@@ -764,7 +764,7 @@ class AdminManager(val config: KafkaConfig,
val source = if (allSynonyms.isEmpty) ConfigSource.DEFAULT_CONFIG.id else allSynonyms.head.source
val synonyms = if (!includeSynonyms) List.empty else allSynonyms
val dataType = configResponseType(configEntryType)
val configDocumentation = if (includeDocumentation) brokerDocumentation(name) else null
val configDocumentation = if (includeDocumentation) logConfig.documentationOf(name) else null
new DescribeConfigsResponseData.DescribeConfigsResourceResult()
.setName(name).setValue(valueAsString).setConfigSource(source)
.setIsSensitive(isSensitive).setReadOnly(false).setSynonyms(synonyms.asJava)
......
......@@ -29,6 +29,9 @@ import org.apache.kafka.common.protocol.Errors
import org.junit.{After, Test}
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertNotNull
import org.junit.Assert.assertNotEquals
import java.util.Properties
class AdminManagerTest {
......@@ -80,4 +83,33 @@ class AdminManagerTest {
assertEquals(Errors.NONE.code, results.head.errorCode())
assertFalse("Should return configs", results.head.configs().isEmpty)
}
@Test
def testDescribeConfigsWithDocumentation(): Unit = {
EasyMock.expect(zkClient.getEntityConfigs(ConfigType.Topic, topic)).andReturn(new Properties)
EasyMock.expect(zkClient.getEntityConfigs(ConfigType.Broker, brokerId.toString)).andReturn(new Properties)
EasyMock.expect(metadataCache.contains(topic)).andReturn(true)
EasyMock.replay(zkClient, metadataCache)
val adminManager = createAdminManager()
val resources = List(
new DescribeConfigsRequestData.DescribeConfigsResource()
.setResourceName(topic)
.setResourceType(ConfigResource.Type.TOPIC.id),
new DescribeConfigsRequestData.DescribeConfigsResource()
.setResourceName(brokerId.toString)
.setResourceType(ConfigResource.Type.BROKER.id))
val results: List[DescribeConfigsResponseData.DescribeConfigsResult] = adminManager.describeConfigs(resources, true, true)
assertEquals(2, results.size)
results.foreach(r => {
assertEquals(Errors.NONE.code, r.errorCode)
assertFalse("Should return configs", r.configs.isEmpty)
r.configs.forEach(c => {
assertNotNull(s"Config ${c.name} should have non null documentation", c.documentation)
assertNotEquals(s"Config ${c.name} should have non blank documentation", "", c.documentation.trim)
})
})
}
}
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册