As of now I can see for a Persistent receiver there is ack call on specific message but not able to view any specific implementation for Nack in go language.
The Nack is required for me to do requeue and discard a solace message.
could you please suggest on it or provide me solution for it.
Hi @Mastan ,
The ability to NACK messages will be available with the next release of our Go API which is tentatively scheduled for release sometime this month. I will update you on this thread once that release is available.
Cheers,
MV
Thanks for update…
Can we call C native API’s from go lang code and achieve NACK functionality.?
using this:
solClient_flow_settleMsg (solClient_opaqueFlow_pt,solClient_msgId_t,solClient_msgOutcome_t)
Suggestions and sample implementation if you have please provide me.
Regards,
Mastan
Hi @Mastan ,
I’m happy to say that as of version 1.8.0 of our Go API, it now supports the NACK functionality.
Latest version of the API can be sourced from here:
https://github.com/SolaceProducts/pubsubplus-go-client/releases.
The documentation around the usage of this feature can be found here:
Thank you,
MV
Thanks for update…
Could you please provide inputs how to handle redelivery with intervals and max redelivery attemps if are using below for creating PersistentReceiver
config.PersistentReceiverFailedOutcome
Is the redelivery count is being maintained for reciever level or queue level?.Could you please help on it,how we can manage if mutiple receivers are available for a queue and redeliver of a message can be implemented.
As I can see from one receiver with nack if redelivering a message it is moving to another receivers and still the redelivery count is one.And further the message moved to unacknowledged.If this is the case it is not reaching to maxdeliverycount and not moved DMQ as expected.
Thoughts on it please…
Thanks
Mastan
Hi @Mastan ,
Redelivery is maintained at the queue level.
Can you confirm that the receivers are connecting to a single non-exclusive queue and that the queue Redelivery setting Try Forever is set to false? Can you also confirm that the messages are DMQ eligible?
Thanks for update. Currently facing issue with message redelivery with deplay. I am getting at the receiver.start() , error while creating receiver flow: Redelivery delay support required.
Could you please guide on it and any samples please share.
Are you trying to use the delayed redelivery feature? If yes, it is not supported in the Go API (feature support in this table ) so that could be the issue.
Note that this does not prevent the redelivery on a queue from working. It is a separate feature.
@marc
i was wondering when the support for delayed redelivery is coming to go. Without it the processing of messages with backoff is resource heavy on the consumers itself and having support for the delayed redelivery would definitely be more elegant.
Or is it possible to find the roadmap for the CA Features itself?
Hi @SvenG ,
Great to see you again! I don’t see it on our immediate roadmap, but we recently launched an ideas portal that allows folks to submit feature requests. Would you mind logging in over at ideas.solace.com and submitting it? That will get it tracked in a way you can get updates + bring it to the direct attention of our product management team.
I’d suggest submitting one specifically for Go, but you might also want to upvote this one: