Skip to content
This repository has been archived by the owner on Oct 12, 2023. It is now read-only.

[V2] DirectMethod from cloud becomes unavailable after device side internet reconnection #563

Open
yfakariya opened this issue Mar 29, 2018 · 5 comments

Comments

@yfakariya
Copy link
Contributor

Environment

  • Service Client: Microsoft.Azure.Devices v1.16.0-preview1
  • Docker images:
    • edgeHub: microsoft/azureiotedge-hub:1.0-preview
    • edgeAgent: microsoft/azureiotedge-agent:1.0-preview
    • tempSensor: microsoft/azureiotedge-simulated-temperature-sensor:1.0-preview

Symptom

I tested preview IoT Edge for internet connectivity scenario with AMQP protocol. For D2C telemetry messaging, Edge Hub's "storeAndForward" feature worked perfect, it buffered unsent message while it was disconnected. However, after reconnection, I could not call direct method for the device with error code 404103 and following stack trace.

Timed out waiting for device to connect.\",\"info\":{\"timeout\":\"00:00:00\"},\"timestampUtc\":\"2018-03-29T10:41:59.9932398Z\"}","ExceptionMessage":""} not registered
   at Microsoft.Azure.Devices.HttpClientHelper.<ExecuteAsync>d__35.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 Microsoft.Azure.Devices.HttpClientHelper.<PostAsync>d__26`2.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.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
   at InvokeDirectMethod.Program.<Main>d__0.MoveNext() in MYDIRECTORY\InvokeDirectMethod\InvokeDirectMethod\Program.cs:line

Expected behavior

  • DirectMethod is successful after device side internet reconnection.

Actual behavior

  • 404103 error until device reboot.

Sidenote

It looks same problem as this. I think this issue is more critical than vanilla device client because

  • We cannot detect internet(AMQP) disconnection because an IoT Edge hides underlying internet connectivity, so we cannot react such condition.
  • Modules (docker container) hard to initiate host device reboot.
@darobs
Copy link
Contributor

darobs commented Mar 29, 2018

Thank you for reporting this, @yfakariya,

I added to our backlog to track this bug.

@dtjensen
Copy link

dtjensen commented Apr 27, 2018

I am getting this error when attempting to send a direct method. Is there a workaround or a fix? It happens when sending from the portal or from my own service console app.

@trbenning
Copy link

Any updates on this? We're seeing the same issue in our environment as well.

@avranju
Copy link
Contributor

avranju commented Jun 26, 2018

I believe this should get addressed by GA. @varunpuranik can confirm.

@varunpuranik
Copy link
Collaborator

Yes, that is correct - this issue should be fixed by GA.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
6 participants