mirror of https://github.com/apache/kafka.git
MINOR: fix leak in `GroupEndToEndAuthorizationTest` (#14975)
Session expiration in ZkClient can lead to a thread leak, and does fail CI on master. This is happening in testNoDescribeProduceOrConsumeWithoutTopicDescribeAcl, and possibly other tests. Use try-with-resources to close ZkClient if this happens. This does not fix the underlying session expiration in ZK. Reviewers: David Jacot <djacot@confluent.io>
This commit is contained in:
parent
f80f991c79
commit
134eabee16
|
|
@ -200,23 +200,23 @@ trait SaslSetup {
|
|||
|
||||
def createScramCredentials(zkConnect: String, userName: String, password: String): Unit = {
|
||||
val zkClientConfig = new ZKClientConfig()
|
||||
val zkClient = KafkaZkClient(
|
||||
TestUtils.resource(KafkaZkClient(
|
||||
zkConnect, JaasUtils.isZkSaslEnabled || KafkaConfig.zkTlsClientAuthEnabled(zkClientConfig), 30000, 30000,
|
||||
Int.MaxValue, Time.SYSTEM, name = "SaslSetup", zkClientConfig = zkClientConfig)
|
||||
val adminZkClient = new AdminZkClient(zkClient)
|
||||
Int.MaxValue, Time.SYSTEM, name = "SaslSetup", zkClientConfig = zkClientConfig)) { zkClient =>
|
||||
val adminZkClient = new AdminZkClient(zkClient)
|
||||
|
||||
val entityType = ConfigType.User
|
||||
val entityName = userName
|
||||
val configs = adminZkClient.fetchEntityConfig(entityType, entityName)
|
||||
val entityType = ConfigType.User
|
||||
val entityName = userName
|
||||
val configs = adminZkClient.fetchEntityConfig(entityType, entityName)
|
||||
|
||||
ScramMechanism.values().foreach(mechanism => {
|
||||
val credential = new ScramFormatter(mechanism).generateCredential(password, 4096)
|
||||
val credentialString = ScramCredentialUtils.credentialToString(credential)
|
||||
configs.setProperty(mechanism.mechanismName, credentialString)
|
||||
})
|
||||
ScramMechanism.values().foreach(mechanism => {
|
||||
val credential = new ScramFormatter(mechanism).generateCredential(password, 4096)
|
||||
val credentialString = ScramCredentialUtils.credentialToString(credential)
|
||||
configs.setProperty(mechanism.mechanismName, credentialString)
|
||||
})
|
||||
|
||||
adminZkClient.changeConfigs(entityType, entityName, configs)
|
||||
zkClient.close()
|
||||
adminZkClient.changeConfigs(entityType, entityName, configs)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue