eolivelli commented on a change in pull request #11671:
URL: https://github.com/apache/pulsar/pull/11671#discussion_r688929927
##########
File path:
pulsar-broker/src/test/java/org/apache/pulsar/broker/service/BacklogQuotaManagerTest.java
##########
@@ -1211,5 +1218,45 @@ public void
testProducerExceptionAndThenUnblockTimeQuota() throws Exception {
client.close();
}
+ @Test(dataProvider = "backlogQuotaSizeGB")
+ public void testBacklogQuotaInGB(boolean backlogQuotaSizeGB) throws
Exception {
+
+ pulsar.close();
+ long backlogQuotaByte = 10 * 1024;
+ if (backlogQuotaSizeGB) {
+ config.setBacklogQuotaDefaultLimitGB(((double) backlogQuotaByte) /
BacklogQuotaImpl.BYTES_IN_GIGABYTE);
+ } else {
+ config.setBacklogQuotaDefaultLimitByte(backlogQuotaByte);
+ }
+
config.setBacklogQuotaDefaultRetentionPolicy(BacklogQuota.RetentionPolicy.consumer_backlog_eviction);
+ pulsar = new PulsarService(config);
+ pulsar.start();
+
+ @Cleanup
+ PulsarClient client =
PulsarClient.builder().serviceUrl(pulsar.getBrokerServiceUrl()).statsInterval(0,
TimeUnit.SECONDS)
+ .build();
+
+ final String topic1 = "persistent://prop/ns-quota/topic2";
+ final String subName1 = "c1";
+ final String subName2 = "c2";
+ final int numMsgs = 20;
+
+ Consumer<byte[]> consumer1 =
client.newConsumer().topic(topic1).subscriptionName(subName1).subscribe();
+ Consumer<byte[]> consumer2 =
client.newConsumer().topic(topic1).subscriptionName(subName2).subscribe();
+ org.apache.pulsar.client.api.Producer<byte[]> producer =
createProducer(client, topic1);
+ byte[] content = new byte[1024];
+ for (int i = 0; i < numMsgs; i++) {
+ producer.send(content);
+ consumer1.receive();
+ consumer2.receive();
+ }
+
+ Thread.sleep((TIME_TO_CHECK_BACKLOG_QUOTA + 1) * 1000);
+ rolloverStats();
+
+ TopicStats stats = admin.topics().getStats(topic1);
+ assertTrue(stats.getBacklogSize() < 10 * 1024, "Storage size is [" +
stats.getStorageSize() + "]");
+ System.out.println("finish");
Review comment:
Nit: user logger or drop this line
##########
File path:
pulsar-broker-common/src/main/java/org/apache/pulsar/broker/ServiceConfiguration.java
##########
@@ -334,12 +334,19 @@
)
private int backlogQuotaCheckIntervalInSeconds = 60;
+ @Deprecated
+ @FieldContext(
+ category = CATEGORY_POLICIES,
+ doc = "@deprecated - Use backlogQuotaDefaultLimitByte instead.\""
+ )
+ private double backlogQuotaDefaultLimitGB = -1;
+
@FieldContext(
category = CATEGORY_POLICIES,
doc = "Default per-topic backlog quota limit by size, less than 0
means no limitation. default is -1."
+ " Increase it if you want to allow larger msg backlog"
)
- private long backlogQuotaDefaultLimitGB = -1;
+ private long backlogQuotaDefaultLimitByte = -1;
Review comment:
What about using plural form for the unit?
backlogQuotaDefaultLimitBytes
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]