Hi Dojo,
I've been having an issue when starting up DM after system startup for the first time, every time I have to restart DM in order for it to startup properly. The first time I start DM after system startup my elements do not load and I can see the following exceptions in SLErrors:
2024/01/07 18:51:35.271|SLServiceManager.txt|SLNet.exe|Initialize|ERR|0|49|Exception occurred while initializing ServiceManager.
Exception occurred: (Code: 0x80131500) Skyline.DataMiner.Net.Exceptions.DataMinerException: Sending SLDataGateway message request:Skyline.DataMiner.Net.Messages.SLDataGateway.GetDataFromConfigFileRequest over NATS failed with error: DataMinerMessageBroker.API.Exceptions.SubscriptionException: No responders are available for the request. ---> NATS.Client.NATSNoRespondersException: No responders are available for the request.
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at NATS.Client.Connection.<RequestAsyncImpl>d__147.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at DataMinerMessageBroker.API.Nats.NatsSession.<RequestAsync>d__28.MoveNext()
--- End of inner exception stack trace ---
at DataMinerMessageBroker.API.Nats.NatsSession.<RequestAsync>d__28.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at DataMinerMessageBroker.API.MessageBroker.<RequestAsync>d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at DataMinerMessageBroker.API.Chunking.ChunkingMessageBroker.SendChunkAcked(String subject, Byte[] bytes, Int32 length, Int32 chunkID)
at DataMinerMessageBroker.API.Chunking.ChunkGenerator.SendMessage(String subject, Int64 responseId, Stream data, Boolean bNeedsAck, ChunkHandler handler)
at DataMinerMessageBroker.API.Chunking.ChunkGenerator.Request(String subject, Int64 responseId, Byte[] bytes, Int32 length)
at DataMinerMessageBroker.API.Chunking.ChunkingMessageBroker.<RequestAsync>d__36.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at DataMinerMessageBroker.API.Chunking.ChunkingMessageBroker.<RequestAsync>d__39.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at Skyline.DataMiner.Net.SLDataGateway.DataGateway.SendMessage[TReq,TResp](TReq request, String method, Nullable`1 timeout)
at Skyline.DataMiner.Net.SLDataGateway.DataGateway.SendMessage[TReq,TResp](TReq request, String method, Nullable`1 timeout)
at Skyline.DataMiner.Net.SLDataGateway.DataGateway.ExecuteRequest(BaseRequest request)
at Skyline.DataMiner.Net.Facade.HandleClientRequestMessage(IConnectionInfo connInfo, ClientRequestMessage oneMsg, Boolean canQueue)
at Skyline.DataMiner.Net.Facade.HandleMessageInternal(IConnectionInfo connInfo, DMSMessage oneMsg, Int32 groupID, Int32 groupTotal)
at Skyline.DataMiner.Net.Facade.HandleMessage(IConnectionInfo connInfo, DMSMessage oneMsg, Int32 groupID, Int32 groupTotal)
at Skyline.DataMiner.Net.BaseFacade.HandleMessage(DMSMessage oneMsg)
at Skyline.DataMiner.Net.CacheManager.CacheLocalDatabaseInfo()
at Skyline.DataMiner.Net.CacheManager.get__cachedLocalDatabaseInfo()
at Skyline.DataMiner.Net.CacheManager.get_HasSearch()
at Skyline.DataMiner.Net.ServiceManager.ServiceManager.Initialize()
This error is followed up by the following exception, however I think the first one causes the subsequent exceptions:
2024/01/07 18:51:35.285|SLResourceManager.txt|SLNet.exe|ResourceManager|ERR|0|70|[Attempt 1/5] Exception while initializing ResourceManager.
What I find weird is that these exceptions occur only on the first time I startup my DM, after the restart the errors get resolved. My DM doesn't startup automatically, I purposely start it up manually, so I don't think the issue can be related to certain parts of the system not loading in time. Since it seems that issue is related to NATS, I have tried these steps with no avail. Could it be that because I have disabled automatic DM startup that NATS doesn't start up on it's own, although I'm not sure why DM would be able to start before NATS start anyhow. Any ideas of how I might fix this?
I'm using DM 10.4.0
Thanks,
Edib
Hi Edib,
It's only an assumption, but I think the NATS/NAS service is not completly startup before DataMiner is started.
This would explain why this is happening only the first time after startup.
I'll check how we can solve this and get back to you
You were right, my first solution worked only for a short while, the real issue was that NATS service was set to Automatic(Delayed) instead of Automatic, so by the time I run my DM manually NATS is not yet ready. I’ve changed NATS startup to Automatic and am yet to have this issue.
Note that after NATS reinstall with SLEndpoitTool, NATS is set to Automatic(Delayed) startup by default and that this is an issue only when manually starting DataMiner.
Hi Thibault,
small update, I checked if NAS/NATS is running before starting DM this time in services, it is.
Cheers