FIWARE IoT Agent-UL 在删除不存在的设备时冻结

FIWARE IoT Agent-UL freezes up when delete a device that does not exists

我在尝试使用 REST API.

删除 FIWARE IoT Agent UL 设备时遇到问题

如果我尝试删除存在的设备,服务 returns HTTP 代码 204 并且一切正常。

但是,如果我尝试删除一个不存在的设备,服务 "hangs up" 并且我没有从它那里得到任何响应。

这是节点应用程序的输出,与我发出的服务请求相关:

time=2018-03-22T14:30:39.225Z | lvl=DEBUG | corr=9dff81b8-2cbe-4236-9bdc-  82b912df1ff0 | trans=9dff81b8-2cbe-4236-9bdc-82b912df1ff0 | op=IoTAgentNGSI.GenericMiddlewares | srv=foo | subsrv=/bar | msg=Request for path [/iot/devices/641tvjjr] from [localhost:4061] | comp=IoTAgent
time=2018-03-22T14:30:39.226Z | lvl=DEBUG | corr=9dff81b8-2cbe-4236-9bdc-82b912df1ff0 | trans=9dff81b8-2cbe-4236-9bdc-82b912df1ff0 | op=IoTAgentNGSI.DeviceService | srv=foo | subsrv=/bar | msg=Removing device register in Device Service | comp=IoTAgent
time=2018-03-22T14:30:39.226Z | lvl=DEBUG | corr=9dff81b8-2cbe-4236-9bdc-82b912df1ff0 | trans=9dff81b8-2cbe-4236-9bdc-82b912df1ff0 | op=IoTAgentNGSI.MongoDBDeviceRegister | srv=foo | subsrv=/bar | msg=Looking for entity with id [641tvjjr]. | comp=IoTAgent
time=2018-03-22T14:30:39.228Z | lvl=DEBUG | corr=9dff81b8-2cbe-4236-9bdc-82b912df1ff0 | trans=9dff81b8-2cbe-4236-9bdc-82b912df1ff0 | op=IoTAgentNGSI.MongoDBDeviceRegister | srv=foo | subsrv=/bar | msg=Entity [641tvjjr] not found. | comp=IoTAgent
time=2018-03-22T14:30:39.229Z | lvl=ERROR | corr=9dff81b8-2cbe-4236-9bdc-82b912df1ff0 | trans=9dff81b8-2cbe-4236-9bdc-82b912df1ff0 | op=IoTAgentNGSI.Alarms | srv=foo | subsrv=/bar | msg=Raising [MONGO-ALARM]: undefined | comp=IoTAgent
time=2018-03-22T14:30:39.230Z | lvl=ERROR | corr=9dff81b8-2cbe-4236-9bdc-82b912df1ff0 | trans=9dff81b8-2cbe-4236-9bdc-82b912df1ff0 | op=IoTAgentNGSI.DomainControl | srv=foo | subsrv=/bar | msg=TypeError: Cannot read property 'service' of undefined | comp=IoTAgent
time=2018-03-22T14:30:39.230Z | lvl=DEBUG | corr=9dff81b8-2cbe-4236-9bdc-82b912df1ff0 | trans=9dff81b8-2cbe-4236-9bdc-82b912df1ff0 | op=IoTAgentNGSI.DomainControl | srv=foo | subsrv=/bar | msg=response-time: 5 | comp=IoTAgent

我正在使用一个服务,其值为 Fiware-Service: "foo" 和 Fiware-ServicePath: "/bar",该服务中的设备和默认代理配置文件。另外,我使用的是 1.6.0 release of IoT Agent UL,顺便说一句,这是最新版本。

其他一切正常,设备创建、设备列表、发送测量值等。除了消除不存在的设备之外的一切。

有人遇到过这种情况吗?这对我来说似乎很奇怪,我不敢相信这是第一个试图擦除不存在的设备的人。

提前致谢

致所有和我有同样问题的人:

显然这是一个开放的 issue in node lib 项目。

the api should return a 404, but it seems that an exception is not capture somewhere and because of that infinite response time is caused.

幸运的是,报告问题的同一个人 pull request 解决了这个问题。总之可能下个版本就会解决这个问题