-
Notifications
You must be signed in to change notification settings - Fork 151
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NATSConnectionException: Authentication Timeout #883
Comments
@Zetanova Is this still a problem in 1.1.5? Are there any steps to reproduce? |
Yes, I workaround it for now by wrapping the connect inside a LongRunning TaskPool Thread Workaround: var task = Task.Factory.StartNew(state =>
{
var fc = new ConnectionFactory();
return fc.CreateConnection((Options)state!);
},
opt,
CancellationToken.None,
TaskCreationOptions.LongRunning,
TaskScheduler.Default);
return task.GetAwaiter().GetResult(); |
Is the problem that the client wants more threads than the environment it's running in can provide? Is this a real production configuration? |
Yes debug and production on startup. The issue is the hidden deadlock
Until the TaskPoolManager decides to increase the Thread count on process startup connect |
Kubernetes |
Observed behavior
The nats.client <1.1.4 has sometimes an issue to connect to a server with "Authentication Timeout" exception.
This happens sometimes on vs debug sessions on windows or docker-desktop and in production under k8s
with dotnet 6 and 8. The nats server has an auth timeout of 5s.
With an new aspnet project in production that triggered this issue not only sometimes,
but always at startup in k8s
The nats.client requires real-concurrency (2+ cores) to connect.
A cpu limit env. like
docker run --cpus=1
will trigger the lockafter the
UserSignatureEventHandler
callExpected behavior
the connection should succeed with cpu limit of 1
Server and client version
nats.client 1.1.4
Host environment
windows and docker
dotnet 6 & 8
Steps to reproduce
set cpu limit to 1 in docker or resources.limits.cpu: 500m in kubernetes
The text was updated successfully, but these errors were encountered: