-
Hello everyone, I'm just starting to use NATS, and I'm hoping someone in the community can help me interpret the following message that appears occasionally in my logs:
To provide some background, I'm building an application using the NATS Java client that subscribes to an existing pull consumer. For each message it receives, the application applies a transformation pipeline consisting of the following steps:
Each step also sends an inProgress acknowledgment to extend the time available to process the message. It also sends a nack or an end acknowledgment based on the type of error encountered during the execution of the specific step (to clarify, I am not sure if I'm using the inProgress acknowledgment correctly. Is it legal to send it multiple times?). This application will then be run on multiple servers, binding to the same consumer to balance the workload. It's a work in progress, and so far, everything seems to work fine. The messages appear to get processed correctly. However, I see those messages appearing in the logs and have no idea how to interpret them. I'm not even sure if it's an error, a warning, or just normal information that the client prints. Thanks for your patience and keep up the amazing work being done on NATS and the Java client. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
Flow control is just a warning, saying the server is not sending you more data until you finish processing what I already gave you. The push subscription handles it. You could just override extend the default error listener and change the impl to do nothing on that warning. At one point I was convinced to have a default logging implementation and I regret turning that one on. I probably should change the object store and key value code to tell the system to not report that error. |
Beta Was this translation helpful? Give feedback.
Flow control is just a warning, saying the server is not sending you more data until you finish processing what I already gave you. The push subscription handles it. You could just override extend the default error listener and change the impl to do nothing on that warning. At one point I was convinced to have a default logging implementation and I regret turning that one on. I probably should change the object store and key value code to tell the system to not report that error.