#7319·kubeedge

metamanager: edge device edit is stored under key <ns>/device/updated, so a deleted device comes back after restart

Author: omlahoreCreated Sep 20, 2026Updated Sep 20, 2026

I edited a device from the edge, the metaserver PUT that keadm ctl edit device goes through, and the row it writes into the metabase comes out keyed default/device/updated rather than default/device/d1. The string is literal in extend_devic_update.go:50, resource := device.Namespace + "/device/updated", and handleMessage stores the body under that key with type device (process.go:137).

It shows up later. The cloud deletes the device, processDelete takes out default/device/d1, and the updated row just sits there, so initDeviceInfoFromDB in dmiworker.go:219 loads it again on the next edgecore restart and the deleted device is back on the node.

I have a test that fails on master at d062d298. I am not sure whether the right fix is keying on the device name or dropping the row in the delete path, so I left that alone.