-
Notifications
You must be signed in to change notification settings - Fork 485
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
[metadata] If EnableValueDescriptorManagment=true, error is returned on first device profile creation #2580
Comments
I've tried three different ways to reproduce this and I cannot. I am confused by the issue's content as the author refers to updating a device profile when the error message shows an add is occurring. The error above is being thrown from the device service. ** As indicated in the issue, I have set 2.) I then built the example device service in the device-sdk-go project. With a clean database I started it to create the device profile. I then stopped it and re-started it. The device-simple service correctly identified that it already existed.
3.) I then built the device-virtual-go service and attempted to start it after cleaning the Redis database. I received the following error when the binary profile YAML was being uploaded for the first time. This is NOT the same error as the one above.
Please provide additional instructions for how to duplicate the error reported in the issue above assuming it's not something I've already tried here. |
In addition I just tried the following: 1.)
2.)
|
@hahattan In the error you have an absolute path to your device profile as |
reproduce steps:
It happens whenever create a new Device Profile at first time only, because core-metadata takes too much time to get URL to create valuedescriptors in core-data |
I was able to recreated the issue. Device Vitual failed to start with the following error in the logs:
Interestingly, core metadata has this error:
|
Thanks Cloud (and Taipei team) and Lenny. Good work guys.
Sent from Yahoo Mail on Android
On Fri, Jun 5, 2020 at 6:38 PM, Lenny Goodell<[email protected]> wrote:
I was able to recreated the issue. Device Vitual failed to start with the following error in the logs:
level=ERROR ts=2020-06-05T23:34:00.327837442Z app=device-virtual source=profiles.go:88 msg="Add Device Profile: /res/device.virtual.binary.yaml to Core Metadata failed: Post http://edgex-core-metadata:48081/api/v1/deviceprofile: EOF"
Interestingly, core metadata has this error:
level=ERROR ts=2020-06-05T23:34:00.449605063Z app=edgex-core-metadata source=request.go:63 msg="Post http://edgex-device-virtual:49990/api/v1/callback: dial tcp 172.21.0.9:49990: connect: connection refused"
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
Adding |
I have spent some time root causing this issue & #2526. The root cause for both is the refactoring of the Client Monitoring now has the client URL un-initialized until the first request to Registry which is done at the start of the The quick fix and @tonyespy will like it is to disable the monitoring by always returning the |
My reaction aside, I thought the plan in the short term was to increase the timeout in device-sdk-go per @cloudxxx8's suggestion? Disabling the monitoring (which I'd really like seen done) right now seems like a big hammer without some more discussion. In the long run, I think we should consider two approaches:
OR
|
Yes, for the point release we discussed increasing the timeout using override in the compose file for Device Virtual. All other Device services will also need this as we don't know which will trigger the issue first... |
Does this indicate a startup sequencing issue in the sdk - the http server should be started before posting new profiles to metadata? |
@iain-anderson , that error is a side effect of the Device Service exiting during startup due to timeout on call to Core Metadata. It is Core Metadata's Client for CoreData that is stuck in a sleep waiting for the URL that is causing the Device Service's call to timeout. |
still have the same error with this ENV override |
@hahattan , can you try increasing the timeout to see if your system just needs more time? |
I've tried increase to 60000 but seems the same (it sometimes passed, but most of the case the error still shows up) |
@hahattan @lenny-intel @cloudxxx8 |
Thanks @hahattan , I will add this to the Geneva 1.2.1 compose files. |
Should be cleared up once we remove client monitoring; relook before Hanoi release. |
Issue being worked as part of larger client monitoring removal. See #2595 . @hahattan - please retest when you can. |
tested with latest nightly-build image and the error no longer seen, should be good to close this issue. |
thanks, @hahattan |
🐞 Bug Report
Affected Services
The issue is located in: MetadataIs this a regression?
Yes, the previous version in which this bug was not present was: FujiDescription and Minimal Reproduction
edgex-go/cmd/core-metadata/res/configuration.toml
Line 3 in 525c654
If we set this to true, there will be error when device service trying to update the very first device profile to metadata during bootstrap. (However the device profile did successfully be updated on metadata, while device service getting the EOF error)
🔥 Exception or Error
🌍 Your Environment
Deployment Environment: macOS
EdgeX Version:
Geneva release non-security redis
Anything else relevant?
after further investigation, this issue is related to #2526
The text was updated successfully, but these errors were encountered: