You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by GitBox <gi...@apache.org> on 2023/03/02 13:09:03 UTC
[GitHub] [pulsar] startjava created a discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
GitHub user startjava created a discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
BacklogQuota.RetentionPolicy policy = BacklogQuota.RetentionPolicy.producer_request_hold;
BacklogQuota quota = BacklogQuota.builder()
.limitSize(sizeLimit)
.limitTime(timeLimit)
.retentionPolicy(policy)
.build();
admin.namespaces().setBacklogQuota(myTenant + "/" + myNameSpace3, quota);
GitHub link: https://github.com/apache/pulsar/discussions/19695
----
This is an automatically sent email for commits@pulsar.apache.org.
To unsubscribe, please send an email to: commits-unsubscribe@pulsar.apache.org
[GitHub] [pulsar] startjava edited a comment on the discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
Posted by GitBox <gi...@apache.org>.
GitHub user startjava edited a comment on the discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
@momo-jun
source comment:
/** Policy which holds producer's send request until the resource becomes available (or holding times out). */
producer_request_hold,
but i run my demo result effect diff。
so , That's what the document says:
(1)Policy which holds producer's send request until the resource becomes available
(2)if Producer's sendTimeout() method is reach times out ,again send message show TimeoutException
??
GitHub link: https://github.com/apache/pulsar/discussions/19695#discussioncomment-5186838
----
This is an automatically sent email for commits@pulsar.apache.org.
To unsubscribe, please send an email to: commits-unsubscribe@pulsar.apache.org
[GitHub] [pulsar] startjava edited a discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
Posted by GitBox <gi...@apache.org>.
GitHub user startjava edited a discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
```
// long sizeLimit = 2147483648L;/
long sizeLimit = 50000L;// 50KB
int timeLimit = -1;/
BacklogQuota.RetentionPolicy policy = BacklogQuota.RetentionPolicy.producer_request_hold;
BacklogQuota quota = BacklogQuota.builder()
.limitSize(sizeLimit)
.limitTime(timeLimit)
.retentionPolicy(policy)
.build();
admin.namespaces().setBacklogQuota(myTenant + "/" + myNameSpace3, quota);
```
```
@Bean("producer6")
public Producer createProducer6_myTopic6() throws PulsarClientException {
Producer<String> stringProducer = pulsarClient.newProducer(Schema.STRING)
.topic(myTopic6)
.sendTimeout(10, TimeUnit.SECONDS)
.create();
return stringProducer;
}
```
```
public class MyMessageListener6 implements MessageListener {
@Override
public void received(Consumer consumer, Message msg) {
System.out.println("MyMessageListener6消费的消息:" + new String(msg.getData()));
// 不执行ACK操作
// consumer.acknowledge(msg);
}
}
```
GitHub link: https://github.com/apache/pulsar/discussions/19695
----
This is an automatically sent email for commits@pulsar.apache.org.
To unsubscribe, please send an email to: commits-unsubscribe@pulsar.apache.org
[GitHub] [pulsar] momo-jun added a comment to the discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
Posted by GitBox <gi...@apache.org>.
GitHub user momo-jun added a comment to the discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
@startjava To my best understanding, when the holding timeout is reached, it's correct for producers to send messages.
@zymap can you pls take a look at this question? Does the holding timeout has the assumption of the resource availability?
GitHub link: https://github.com/apache/pulsar/discussions/19695#discussioncomment-5222584
----
This is an automatically sent email for commits@pulsar.apache.org.
To unsubscribe, please send an email to: commits-unsubscribe@pulsar.apache.org
[GitHub] [pulsar] startjava added a comment to the discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
Posted by GitBox <gi...@apache.org>.
GitHub user startjava added a comment to the discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
doc:
/** Policy which holds producer's send request until the resource becomes available (or holding times out). */
producer_request_hold,
the "olding times out" representative what time out ??
producer sendtimeout ?? or other ?
GitHub link: https://github.com/apache/pulsar/discussions/19695#discussioncomment-5184854
----
This is an automatically sent email for commits@pulsar.apache.org.
To unsubscribe, please send an email to: commits-unsubscribe@pulsar.apache.org
[GitHub] [pulsar] startjava edited a discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
Posted by GitBox <gi...@apache.org>.
GitHub user startjava edited a discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
```
// long sizeLimit = 2147483648L;/
long sizeLimit = 50000L;// 50KB
int timeLimit = -1;/
BacklogQuota.RetentionPolicy policy = BacklogQuota.RetentionPolicy.producer_request_hold;
BacklogQuota quota = BacklogQuota.builder()
.limitSize(sizeLimit)
.limitTime(timeLimit)
.retentionPolicy(policy)
.build();
admin.namespaces().setBacklogQuota(myTenant + "/" + myNameSpace3, quota);
```
```
@Bean("producer6")
public Producer createProducer6_myTopic6() throws PulsarClientException {
Producer<String> stringProducer = pulsarClient.newProducer(Schema.STRING)
.topic(myTopic6)
.sendTimeout(10, TimeUnit.SECONDS)
.create();
return stringProducer;
}
```
```
public class MyMessageListener6 implements MessageListener {
@Override
public void received(Consumer consumer, Message msg) {
System.out.println("MyMessageListener6:" + new String(msg.getData()));
// consumer.acknowledge(msg);
}
}
```
GitHub link: https://github.com/apache/pulsar/discussions/19695
----
This is an automatically sent email for commits@pulsar.apache.org.
To unsubscribe, please send an email to: commits-unsubscribe@pulsar.apache.org
[GitHub] [pulsar] startjava edited a discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
Posted by GitBox <gi...@apache.org>.
GitHub user startjava edited a discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
// long sizeLimit = 2147483648L;/
long sizeLimit = 50000L;// 50KB
int timeLimit = -1;/
BacklogQuota.RetentionPolicy policy = BacklogQuota.RetentionPolicy.producer_request_hold;
BacklogQuota quota = BacklogQuota.builder()
.limitSize(sizeLimit)
.limitTime(timeLimit)
.retentionPolicy(policy)
.build();
admin.namespaces().setBacklogQuota(myTenant + "/" + myNameSpace3, quota);
GitHub link: https://github.com/apache/pulsar/discussions/19695
----
This is an automatically sent email for commits@pulsar.apache.org.
To unsubscribe, please send an email to: commits-unsubscribe@pulsar.apache.org
[GitHub] [pulsar] startjava edited a discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
Posted by GitBox <gi...@apache.org>.
GitHub user startjava edited a discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
```
// long sizeLimit = 2147483648L;/
long sizeLimit = 50000L;// 50KB
int timeLimit = -1;/
BacklogQuota.RetentionPolicy policy = BacklogQuota.RetentionPolicy.producer_request_hold;
BacklogQuota quota = BacklogQuota.builder()
.limitSize(sizeLimit)
.limitTime(timeLimit)
.retentionPolicy(policy)
.build();
admin.namespaces().setBacklogQuota(myTenant + "/" + myNameSpace3, quota);
```
```
@Bean("producer6")
public Producer createProducer6_myTopic6() throws PulsarClientException {
Producer<String> stringProducer = pulsarClient.newProducer(Schema.STRING)
.topic(myTopic6)
.sendTimeout(10, TimeUnit.SECONDS)
.create();
return stringProducer;
}
```
GitHub link: https://github.com/apache/pulsar/discussions/19695
----
This is an automatically sent email for commits@pulsar.apache.org.
To unsubscribe, please send an email to: commits-unsubscribe@pulsar.apache.org
[GitHub] [pulsar] startjava edited a comment on the discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
Posted by GitBox <gi...@apache.org>.
GitHub user startjava edited a comment on the discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
@momo-jun
source comment:
/** Policy which holds producer's send request until the resource becomes available (or holding times out). */
producer_request_hold,
but i run my demo result effect diff。
so , That's what the document says:
(1)Policy which holds producer's send request until the resource becomes available
(2)if times out ,again send message show TimeoutException
??
GitHub link: https://github.com/apache/pulsar/discussions/19695#discussioncomment-5186838
----
This is an automatically sent email for commits@pulsar.apache.org.
To unsubscribe, please send an email to: commits-unsubscribe@pulsar.apache.org
[GitHub] [pulsar] startjava added a comment to the discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
Posted by GitBox <gi...@apache.org>.
GitHub user startjava added a comment to the discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
but doc :
https://pulsar.apache.org/docs/2.11.x/cookbooks-retention-expiry/#backlog-quotas
say :
The producer holds the message and retris until client configuration sendTimeoutMs is exceeded.
GitHub link: https://github.com/apache/pulsar/discussions/19695#discussioncomment-5178619
----
This is an automatically sent email for commits@pulsar.apache.org.
To unsubscribe, please send an email to: commits-unsubscribe@pulsar.apache.org
[GitHub] [pulsar] startjava edited a comment on the discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
Posted by GitBox <gi...@apache.org>.
GitHub user startjava edited a comment on the discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
@momo-jun
source comment:
/** Policy which holds producer's send request until the resource becomes available (or holding times out). */
producer_request_hold,
but i run my demo result effect diff。
so , That's what the document says:
(1)Policy which holds producer's send request until the resource becomes available
(2)times out ,send message show TimeoutException
??
GitHub link: https://github.com/apache/pulsar/discussions/19695#discussioncomment-5186838
----
This is an automatically sent email for commits@pulsar.apache.org.
To unsubscribe, please send an email to: commits-unsubscribe@pulsar.apache.org
[GitHub] [pulsar] startjava edited a comment on the discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
Posted by GitBox <gi...@apache.org>.
GitHub user startjava edited a comment on the discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
doc:
/** Policy which holds producer's send request until the resource becomes available (or holding times out). */
producer_request_hold,
the "holding times out" representative what time out ??
producer sendtimeout ?? or other ?
GitHub link: https://github.com/apache/pulsar/discussions/19695#discussioncomment-5184854
----
This is an automatically sent email for commits@pulsar.apache.org.
To unsubscribe, please send an email to: commits-unsubscribe@pulsar.apache.org
[GitHub] [pulsar] startjava added a comment to the discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
Posted by GitBox <gi...@apache.org>.
GitHub user startjava added a comment to the discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
@merlimat @tisonkun
GitHub link: https://github.com/apache/pulsar/discussions/19695#discussioncomment-5184865
----
This is an automatically sent email for commits@pulsar.apache.org.
To unsubscribe, please send an email to: commits-unsubscribe@pulsar.apache.org
[GitHub] [pulsar] startjava edited a discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
Posted by GitBox <gi...@apache.org>.
GitHub user startjava edited a discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
```
// long sizeLimit = 2147483648L;/
long sizeLimit = 50000L;// 50KB
int timeLimit = -1;/
BacklogQuota.RetentionPolicy policy = BacklogQuota.RetentionPolicy.producer_request_hold;
BacklogQuota quota = BacklogQuota.builder()
.limitSize(sizeLimit)
.limitTime(timeLimit)
.retentionPolicy(policy)
.build();
admin.namespaces().setBacklogQuota(myTenant + "/" + myNameSpace3, quota);
```
```
@Bean("producer6")
public Producer createProducer6_myTopic6() throws PulsarClientException {
Producer<String> stringProducer = pulsarClient.newProducer(Schema.STRING)
.topic(myTopic6)
.sendTimeout(10, TimeUnit.SECONDS)
.create();
return stringProducer;
}
```
```
public class MyMessageListener6 implements MessageListener {
@Override
public void received(Consumer consumer, Message msg) {
System.out.println("MyMessageListener6:" + new String(msg.getData()));
// consumer.acknowledge(msg);
}
}
```
always print:
ERROR 1384 --- [r-client-io-8-1] o.a.pulsar.client.impl.ProducerImpl : [persistent://my-tenant/my-namespace3/my-topic6] [standalone-463-5] Failed to create producer: {"errorMsg":"org.apache.pulsar.broker.service.BrokerServiceException$TopicBacklogQuotaExceededException: Cannot create producer on topic with backlog quota exceeded","reqId":3015334629871480640, "remote":"/192.168.2.24:6650", "local":"/192.168.2.12:51773"}
GitHub link: https://github.com/apache/pulsar/discussions/19695
----
This is an automatically sent email for commits@pulsar.apache.org.
To unsubscribe, please send an email to: commits-unsubscribe@pulsar.apache.org
[GitHub] [pulsar] startjava edited a discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
Posted by GitBox <gi...@apache.org>.
GitHub user startjava edited a discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
```
// long sizeLimit = 2147483648L;/
long sizeLimit = 50000L;// 50KB
int timeLimit = -1;/
BacklogQuota.RetentionPolicy policy = BacklogQuota.RetentionPolicy.producer_request_hold;
BacklogQuota quota = BacklogQuota.builder()
.limitSize(sizeLimit)
.limitTime(timeLimit)
.retentionPolicy(policy)
.build();
admin.namespaces().setBacklogQuota(myTenant + "/" + myNameSpace3, quota);
```
```
@Bean("producer6")
public Producer createProducer6_myTopic6() throws PulsarClientException {
Producer<String> stringProducer = pulsarClient.newProducer(Schema.STRING)
.topic(myTopic6)
.sendTimeout(10, TimeUnit.SECONDS)
.create();
return stringProducer;
}
```
```
public class MyMessageListener6 implements MessageListener {
@Override
public void received(Consumer consumer, Message msg) {
System.out.println("MyMessageListener6:" + new String(msg.getData()));
// consumer.acknowledge(msg);
}
}
```
always print:
`ERROR 1384 --- [r-client-io-8-1] o.a.pulsar.client.impl.ProducerImpl : [persistent://my-tenant/my-namespace3/my-topic6] [standalone-463-5] Failed to create producer: {"errorMsg":"org.apache.pulsar.broker.service.BrokerServiceException$TopicBacklogQuotaExceededException: Cannot create producer on topic with backlog quota exceeded","reqId":3015334629871480640, "remote":"/192.168.2.24:6650", "local":"/192.168.2.12:51773"}`
GitHub link: https://github.com/apache/pulsar/discussions/19695
----
This is an automatically sent email for commits@pulsar.apache.org.
To unsubscribe, please send an email to: commits-unsubscribe@pulsar.apache.org
[GitHub] [pulsar] startjava edited a comment on the discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
Posted by GitBox <gi...@apache.org>.
GitHub user startjava edited a comment on the discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
@merlimat @tisonkun @MarvinCai
GitHub link: https://github.com/apache/pulsar/discussions/19695#discussioncomment-5184865
----
This is an automatically sent email for commits@pulsar.apache.org.
To unsubscribe, please send an email to: commits-unsubscribe@pulsar.apache.org
[GitHub] [pulsar] startjava added a comment to the discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
Posted by GitBox <gi...@apache.org>.
GitHub user startjava added a comment to the discussion: use "BacklogQuota.RetentionPolicy.producer_request_hold;",sendTimeout exceeded(no ack) ,but producer always retry send message!
@momo-jun
doc:
producer_request_hold | The producer holds the message and retris until client configuration sendTimeoutMs is exceeded.
but i run my demo result effect diff。
GitHub link: https://github.com/apache/pulsar/discussions/19695#discussioncomment-5186838
----
This is an automatically sent email for commits@pulsar.apache.org.
To unsubscribe, please send an email to: commits-unsubscribe@pulsar.apache.org