Rancho-7 commented on code in PR #18966:
URL: https://github.com/apache/kafka/pull/18966#discussion_r1997838383


##########
core/src/test/scala/integration/kafka/api/PlaintextAdminIntegrationTest.scala:
##########
@@ -138,6 +138,57 @@ class PlaintextAdminIntegrationTest extends 
BaseAdminIntegrationTest {
     assertEquals(configEntries, quotaEntities.get(entity).asScala)
   }
 
+  @Test
+  def testDefaultNameQuotaIsNotEqualToDefaultQuota(): Unit = {
+    val config = createConfig
+    val defaultQuota = "<default>"
+    client = Admin.create(config)
+
+    //"<default>" can not create default quota
+    val userEntity = new ClientQuotaEntity(Map(ClientQuotaEntity.USER -> 
defaultQuota).asJava)
+    val clientEntity = new ClientQuotaEntity(Map(ClientQuotaEntity.CLIENT_ID 
-> defaultQuota).asJava)
+    val userAlterations = new ClientQuotaAlteration(userEntity,
+      Collections.singleton(new ClientQuotaAlteration.Op("consumer_byte_rate", 
10000D)))
+    val clientAlterations = new ClientQuotaAlteration(clientEntity,
+      Collections.singleton(new ClientQuotaAlteration.Op("producer_byte_rate", 
10000D)))
+    val alterations = List(userAlterations, clientAlterations)
+    client.alterClientQuotas(alterations.asJava).all().get()
+
+    TestUtils.waitUntilTrue(() => {
+      try {
+        val userQuotas = 
client.describeClientQuotas(ClientQuotaFilter.containsOnly(Collections.singletonList(
+          
ClientQuotaFilterComponent.ofDefaultEntity(ClientQuotaEntity.USER)))).entities().get()
+        val clientQuotas = 
client.describeClientQuotas(ClientQuotaFilter.containsOnly(Collections.singletonList(
+          
ClientQuotaFilterComponent.ofDefaultEntity(ClientQuotaEntity.CLIENT_ID)))).entities().get()
+        userQuotas.size() == 0 && clientQuotas.size() == 0
+      } catch {
+        case _: Exception => false
+      }
+    }, "Timed out waiting for quota config to be propagated to all servers")
+
+    val userQuotas = 
client.describeClientQuotas(ClientQuotaFilter.containsOnly(Collections.singletonList(
+      
ClientQuotaFilterComponent.ofDefaultEntity(ClientQuotaEntity.USER)))).entities().get()
+    val clientQuotas = 
client.describeClientQuotas(ClientQuotaFilter.containsOnly(Collections.singletonList(
+      
ClientQuotaFilterComponent.ofDefaultEntity(ClientQuotaEntity.CLIENT_ID)))).entities().get()
+    assertEquals(0, userQuotas.size())
+    assertEquals(0, clientQuotas.size())
+
+    //null can create default quota
+    val correctDefaultEntity = new 
ClientQuotaEntity(Map(ClientQuotaEntity.USER -> 
Option.empty[String].orNull).asJava)

Review Comment:
   Thanks for pointing that out! Will fix it.



-- 
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