You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Once a connection is made to the nats server and a pull subscription is created using the js_PullSubscribe method, the errno (provided by errno.h) gets set to code 84 (EOVERFLOW : Value too large to be stored in data type).
Expected behavior
errno should not be set to a value post js_PullSubscribe call.
Server and client version
I have compiled the nats c client from source code (main branch) and using it in my c project.
Server version: 2.10.18
Host environment
Host env: MacOs Sonoma 14.4
Steps to reproduce
Here's a sample code to reproduce the above behaviour:
#include <iostream>
extern "C" {
#include <nats/nats.h>
}
int main()
{
natsStatus status;
natsConnection *conn = nullptr;
// Initialize the NATS client
status = natsConnection_ConnectTo(&conn, "nats://localhost:4222");
if (status != NATS_OK) {
std::cerr << "Error connecting to NATS: " << natsStatus_GetText(status) << std::endl;
return 1;
}
natsSubscription *sub = NULL;
jsSubOptions opts;
status = jsSubOptions_Init(&opts);
if(status != NATS_OK) {
perror(natsStatus_GetText(status));
}
opts.Consumer = "pull_consumer";
jsCtx *jetStreamContext = nullptr;
natsConnection_JetStream(&jetStreamContext,conn,NULL);
jsSubOptions subOpts;
status = jsSubOptions_Init(&subOpts);
if(status != NATS_OK) {
perror(natsStatus_GetText(status));
}
opts.Consumer = "pull_consumer";
subOpts.Config.AckPolicy = js_AckExplicit;
natsSubscription *ns = nullptr;
perror("error before js_PullSubscribe");
status = js_PullSubscribe(&ns,jetStreamContext,"foo","pull_consumer",NULL,&subOpts,nullptr);
if (status != NATS_OK) {
perror("error while pull subscription");
}
perror("error after js_PullSubscribe");
// Clean up
natsSubscription_Destroy(ns);
natsConnection_Destroy(conn);
nats_Close();
return 0;
}
This consistently results in the following output:
error before js_PullSubscribe: Resource temporarily unavailable
error after js_PullSubscribe: Value too large to be stored in data type
Process finished with exit code 0
While it has no direct impact on the functioning of the library, it could be an indicator of some underlying issue.
The text was updated successfully, but these errors were encountered:
Observed behavior
Once a connection is made to the nats server and a pull subscription is created using the js_PullSubscribe method, the errno (provided by errno.h) gets set to code 84 (EOVERFLOW : Value too large to be stored in data type).
Expected behavior
errno should not be set to a value post js_PullSubscribe call.
Server and client version
I have compiled the nats c client from source code (main branch) and using it in my c project.
Server version: 2.10.18
Host environment
Host env: MacOs Sonoma 14.4
Steps to reproduce
Here's a sample code to reproduce the above behaviour:
This consistently results in the following output:
Process finished with exit code 0
While it has no direct impact on the functioning of the library, it could be an indicator of some underlying issue.
The text was updated successfully, but these errors were encountered: