chia7712 commented on code in PR #18641:
URL: https://github.com/apache/kafka/pull/18641#discussion_r1938724850


##########
core/src/main/scala/kafka/server/DynamicBrokerConfig.scala:
##########
@@ -48,13 +48,6 @@ import scala.collection._
 import scala.jdk.CollectionConverters._
 
 /**
-  * Dynamic broker configurations are stored in ZooKeeper and may be defined 
at two levels:

Review Comment:
   in kraft mode, the two levels are still existent. could you please revise it 
instead of removing it?



##########
core/src/main/scala/kafka/server/DynamicConfig.scala:
##########
@@ -85,12 +85,10 @@ object DynamicConfig {
     def validate(props: Properties): util.Map[String, AnyRef] = 
DynamicConfig.validate(ipConfigs, props, customPropsAllowed = false)
 
     def isValidIpEntity(ip: String): Boolean = {

Review Comment:
   this is used by `ConfigCommand` only, so could you please move this method 
to `ConfigCommand`?



##########
core/src/main/scala/kafka/server/metadata/ClientQuotaMetadataManager.scala:
##########
@@ -145,27 +149,43 @@ class ClientQuotaMetadataManager(private[metadata] val 
quotaManagers: QuotaManag
     }
 
     // Convert entity into Options with sanitized values for QuotaManagers
-    val (sanitizedUser, sanitizedClientId) = quotaEntity match {
-      case UserEntity(user) => (Some(Sanitizer.sanitize(user)), None)
-      case DefaultUserEntity => (Some(ZooKeeperInternals.DEFAULT_STRING), None)
-      case ClientIdEntity(clientId) => (None, 
Some(Sanitizer.sanitize(clientId)))
-      case DefaultClientIdEntity => (None, 
Some(ZooKeeperInternals.DEFAULT_STRING))
-      case ExplicitUserExplicitClientIdEntity(user, clientId) => 
(Some(Sanitizer.sanitize(user)), Some(Sanitizer.sanitize(clientId)))
-      case ExplicitUserDefaultClientIdEntity(user) => 
(Some(Sanitizer.sanitize(user)), Some(ZooKeeperInternals.DEFAULT_STRING))
-      case DefaultUserExplicitClientIdEntity(clientId) => 
(Some(ZooKeeperInternals.DEFAULT_STRING), Some(Sanitizer.sanitize(clientId)))
-      case DefaultUserDefaultClientIdEntity => 
(Some(ZooKeeperInternals.DEFAULT_STRING), 
Some(ZooKeeperInternals.DEFAULT_STRING))
-      case IpEntity(_) | DefaultIpEntity => throw new 
IllegalStateException("Should not see IP quota entities here")
-    }
+    val (userEntity, sanitizedClientEntity) = 
transferToClientQuotaEntity(quotaEntity)
 
     val quotaValue = newValue.map(new Quota(_, true))
     try {
       manager.updateQuota(
-        sanitizedUser = sanitizedUser,
-        clientId = sanitizedClientId.map(Sanitizer.desanitize),
-        sanitizedClientId = sanitizedClientId,
-        quota = quotaValue)
+        userEntity = userEntity,
+        sanitizedClientEntity = sanitizedClientEntity,
+        quota = quotaValue
+      )
     } catch {
       case t: Throwable => error(s"Failed to update user-client quota 
$quotaEntity", t)
     }
   }
 }
+
+object ClientQuotaMetadataManager {
+
+  def transferToClientQuotaEntity(quotaEntity: QuotaEntity): 
(Option[BaseUserEntity], Option[ClientQuotaConfigEntity]) = {
+    val (userEntity, sanitizedClientEntity) = quotaEntity match {

Review Comment:
   it is unnecessary to declare `val (userEntity, sanitizedClientEntity)`
   ```scala
       quotaEntity match {
         case UserEntity(user) =>
           (Some(ClientQuotaManager.UserEntity(Sanitizer.sanitize(user))), None)
         case DefaultUserEntity =>
           (Some(ClientQuotaManager.DefaultUserEntity), None)
         case ClientIdEntity(clientId) =>
           (None, 
Some(ClientQuotaManager.ClientIdEntity(Sanitizer.sanitize(clientId))))
         case DefaultClientIdEntity =>
           (None, Some(ClientQuotaManager.DefaultClientIdEntity))
         case ExplicitUserExplicitClientIdEntity(user, clientId) =>
           (Some(ClientQuotaManager.UserEntity(Sanitizer.sanitize(user))), 
Some(ClientQuotaManager.ClientIdEntity(Sanitizer.sanitize(clientId))))
         case ExplicitUserDefaultClientIdEntity(user) =>
           (Some(ClientQuotaManager.UserEntity(Sanitizer.sanitize(user))), 
Some(ClientQuotaManager.DefaultClientIdEntity))
         case DefaultUserExplicitClientIdEntity(clientId) =>
           (Some(ClientQuotaManager.DefaultUserEntity), 
Some(ClientQuotaManager.ClientIdEntity(Sanitizer.sanitize(clientId))))
         case DefaultUserDefaultClientIdEntity =>
           (Some(ClientQuotaManager.DefaultUserEntity), 
Some(ClientQuotaManager.DefaultClientIdEntity))
         case IpEntity(_) | DefaultIpEntity => throw new 
IllegalStateException("Should not see IP quota entities here")
       }
   ```



##########
core/src/main/scala/kafka/server/ClientQuotaManager.scala:
##########
@@ -55,7 +55,7 @@ object QuotaTypes {
 object ClientQuotaManager {
   // Purge sensors after 1 hour of inactivity
   val InactiveSensorExpirationTimeSeconds = 3600
-
+  private val DefaultString = "<default>"

Review Comment:
   How about renaming it to `DefaultName`?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to