-
Notifications
You must be signed in to change notification settings - Fork 463
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
Module is disconnected from edgeHub after some hours #731
Comments
Sounds a bit like the issue I was having (explained in #673). |
The latest C# SDK should automatically be pulled when building the modules, if I understand correctly, or is a manual SDK update required? I rebuild all of my modules yesterday and my module still gets disconnected after some hours. What the disconnected module basically does is receive a message and forward it to the next module. |
The SDK is just a referenced nuget package, you need to update it. |
Okay I set the PackageReference to explicitly use version 1.19.0 now and rebuild all modules. Will update later today/tomorrow whether the module messaging chain keeps the connection alive. |
@DennisK92 - yes, SDK update to 1.19.0 should resolve this issue. Please note that you might have to update the module image version and do another deployment to make sure the updated module is picked up by the Edge runtime. Also, please note that connecting/reconnecting is done by the client (your module) and not by the server (EdgeHub). So this is not a bug in EdgeHub, but in the SDK you are using. The v1.19.0 has the fix for it. |
Using the 1.19.0 SDK explicitly, rebuilding all modules and deploying them again solved the connectivity issue. "OptimizeForPerformance" for edgeHub on resource constrained devices is set to false in the deployment. Please see the following logs of edgeHub, edgeAgent and my dataFeeder module. |
Interesting, edgeAgent should have restarted the modules. I am not able to access the logs in the link above. Can you please check access on the link? |
@varunpuranik Sorry with the link, edited my post. The link is correct now. https://gist.github.com/DennisK92/9fa8c4d7c92affc52ea2db819bb7acde Edit: The edgeHub crashed again and then another time as well as my module. However, this time the edgeAgent succesfully restarted the modules. The first crash was because of This seems to be a problem with the systems memory. Do module logs just keep on writing until the device has no more memory left or are there some mechanisms to prevent that situation? Checking the pi with |
It's possible that the Edge Agent didn't restart the Edge Hub because of a deadlock in the dotnet core runtime. This was fixed in |
Yes I will upgrade the version to |
I'm not encountering this issue anymore. It is solved. |
Expected Behavior
The edgeHub should establish a new connection, when it registers that a module is not connected.
Current Behavior
The edgeHub registers that a module is not connected but doesn't establish a new connection.
Steps to Reproduce
Context (Environment)
Device (Host) Operating System
Device: RaspberryPi 3
OS: Raspbian Stretch
Architecture
arm32
Container Operating System
Linux containers
Runtime Versions
iotedged
iotedge 1.0.5
Edge Agent
Agent 1.0.5.19141174
Edge Hub
Hub 1.0.5.19141174
Docker
Docker 3.0.2
Logs
Logs: https://gist.github.com/DennisK92/8e75c3698b03c3ba7abbeb6987a6534a
Additional Information
The dataFeeder creates a message every 2 seconds and sends them to anomalySimulator. This module sends the received messages to edgeMetering, which adds some additional parameters to the message and sends it to upstream to be received by the IoT Hub. However, this only works correctly for a few hours. After that, the module anomalySimulator is not connected anymore and doesn't reconnect. Therefore, messages aren't sent to the IoT Hub anymore.
The text was updated successfully, but these errors were encountered: