Slackbot
11/28/2023, 8:51 AMMurat Koptur
12/04/2023, 2:42 PMAlexander Preuß
12/04/2023, 3:21 PMMurat Koptur
12/04/2023, 3:22 PMAlexander Preuß
12/04/2023, 3:25 PMDavid K
12/04/2023, 6:17 PMMurat Koptur
12/05/2023, 6:01 AMMurat Koptur
12/05/2023, 9:43 AMtopicsToSub := []string{
"topic1",
"topic2",
"topic3",
}
consumer, err := pulsarClient.Subscribe(
pulsar.ConsumerOptions{
Topics: topicsToSub,
SubscriptionName: "websocketServerDev2",
Type: pulsar.Exclusive,
},
)
Topic 1 and Topic 3 is non persistent, topic 2 is a persistent topic. After two minutes, Topic 1 consumer stops consuming.Murat Koptur
12/05/2023, 10:27 AM"consumers" : [ {
"msgRateOut" : 1.766671142763563,
"msgThroughputOut" : 487424.15162074467,
"bytesOutCounter" : 274884284,
"msgOutCounter" : 1000,
"msgRateRedeliver" : 0.0,
"messageAckRate" : 1.4666703404314243,
"chunkedMessageRate" : 0.0,
"consumerName" : "bfhcb",
"availablePermits" : 0,
"unackedMessages" : 0,
"avgMessagesPerEntry" : 1,
"blockedConsumerOnUnackedMsgs" : false,
"lastAckedTimestamp" : 1701771776625,
"lastConsumedTimestamp" : 1701771776549,
"lastConsumedFlowTimestamp" : 1701771553526,
"metadata" : { },
"address" : "/172.30.240.192:40024",
"connectedSince" : "2023-12-05T10:19:13.526500503Z",
"clientVersion" : "Pulsar Go v0.9.1-0.20231010024926-0bf2f9b86f4e",
"lastAckedTime" : "2023-12-05T10:22:56.625Z",
"lastConsumedTime" : "2023-12-05T10:22:56.549Z"
} ],Alexander Preuß
12/05/2023, 2:45 PMavailablePermits being zero, the msgOutCounter is exactly 1000 (matching the default value of the receiverQueueSize). This suggests that there is some issue with the flow command being sent. Usually, you would see that there are unack’d messages but here it says zero, very strange. How do you ack messages in your application, do you do it individually?Murat Koptur
12/05/2023, 2:49 PMfor {
msgConsumed, err = consumer.Receive(context.Background())
if err != nil {
log.Fatalln("Could not read message: ", err)
}
msgConsumedStr := string(msgConsumed.Payload())
// some conditional statements over incoming messages
// send processed data to channel
// ...
consumer.Ack(msgConsumed)
}Alexander Preuß
12/05/2023, 2:56 PM