[Recorders] Recorder side remains registered after removal (IP G3)
Description
Stella: 2.0.78-3
Org id: EABZ2896
DW-VP09: 1.5.6.1
|
P2P-4C1C283CDD9F-17376F |
|
Admin1234! |
Summary:
Recorder remains in registered status on the recorder side after being deleted from myDW, despite deletion from the organization.
Steps:
-
Recorder was deleted from myDW.
-
Recorder was correctly removed from the organization in myDW.
-
On the recorder side, status still shows as registered.
-
Behavior differs from IP G4, which correctly updates the status.
Attachments
Upload attachments
Drop your files to upload
(Max file size: 1.00 GiB)
Uploading...
(Template) Current File Name (1 / 7)
123KB / 2.1MB
(Template) File Name
123KB / 2.1MB
Upload completed. Click here to reload the page.
Child issues
Linked work items
Can’t link the work item VMAX-638 to itself.
Activity
Show:
Create issue
Add watchers
Details
Priority
Created: 21 August 2025, 18:47
Updated:
22 August 2025, 09:22
G3에서 제가 직접 API를 호출해 보면 정상적으로 deregister가 되는 것으로 보아, agent에서 API 호출만 해 주면 될 것으로 보이는데, 왜 안하고 있는지는 모르겠네요.
아래 스크린샷은 직접 API를 호출해 deregister를 테스트 해 보기 위해 POSTMAN으로 보내본 것인데, 이렇게 호출하니 정상적으로 deregister는 됩니다.
확인해 보니, myDW에서 delete를 하게 되면 agent가 그 정보를 받고, 내부적으로 API를 호출해 cloud 사용자를 삭제하고 agent/status 명령으로 deregister 시키는 API를 호출하게 되어 있습니다.
그런데, G3의 경우 동일 Agent 소스로 빌드한 것을 넣어두었는데도, delete에 대한 이벤트는 받은것 같은데, 그 다음 NVR 내부 API를 호출하지 않는 것으로 보입니다.
G4에서는 정상적으로 호출 되고요.
저희가 사용중인 agent 소스는 2025. 2. 27.자 1.0.39 버전입니다.
G3의 경우 콘솔 로그는 아래와 같이 남습니다. (deactivate 는 받았으나 더이상 NVR의 API를 호출하지 않음)
=============
[DEBUG] 2025-08-22 19:16:22:060968 ] received message for agent : POST /ec2/deactivate
[DEBUG] 2025-08-22 19:16:23:220206 ] total gc pipe = 0
[DEBUG] 2025-08-22 19:16:23:260254 ] active peer(s) = 0, total inout = 0.00
(39)
G4의 경우 콘솔로그는 아래와 같이 남습니다. (정상적으로 NVR의 API를 호출해서 삭제절차가 진행 됨)
=============
[DEBUG] 2025-08-22 19:00:38:498184 ] received message for agent : POST /ec2/deactivate
[DEBUG] 2025-08-22 19:00:38:527670 ] CSl_MsgHandler::deactivate cmd recv.
[DEBUG] 2025-08-22 19:00:38:528406 ] CSl_Ctrl::passing cmd to cloud svc
[DEBUG] 2025-08-22 19:00:40:724366 ] [INST] Get image success: ch=0
{
"error" : 7001,
"errorString" : "Camera not found."
}[DEBUG] 2025-08-22 19:00:41:365538 ] [INST] Put image failed: ch=0, resCode=500)
[DEBUG] 2025-08-22 19:00:41:366228 ] [INST] Get image failed: ch=4, status=Offline
[DEBUG] 2025-08-22 19:00:41:366919 ] doPost(https://backend.stella.mydw.cloud/api/v2/report/update/fromDevice/installation/default/{8c:1f:64:d1:90:32 }/4) failed: URL using bad/illegal format or missing URL
[DEBUG] 2025-08-22 19:00:41:367528 ] [INST] Put error failed: ch=4, resCode=0)
[DEBUG] 2025-08-22 19:00:41:368066 ] CSl_CloudSvc::doInstReport 0 of 2
[DEBUG] 2025-08-22 19:00:41:368602 ] CSl_CloudSvc::start installation report: reportId=default
[DEBUG] 2025-08-22 19:00:45:631461 ] active peer(s) = 0, total inout = 0.00
(39)
[DEBUG] 2025-08-22 19:00:45:812006 ] total gc pipe = 0
[DEBUG] 2025-08-22 19:00:46:504072 ] [INST] Get image success: ch=0
[ INFO] 2025-08-22 19:00:47:071502 ] CSl_WebServer:: conn=0
{
"error" : 7001,
"errorString" : "Camera not found."
}[DEBUG] 2025-08-22 19:00:47:084177 ] [INST] Put image failed: ch=0, resCode=500)
[DEBUG] 2025-08-22 19:00:47:085175 ] [INST] Get image failed: ch=4, status=Offline
[DEBUG] 2025-08-22 19:00:47:085897 ] doPost(https://backend.stella.mydw.cloud/api/v2/report/update/fromDevice/installation/default/{8c:1f:64:d1:90:32 }/4) failed: URL using bad/illegal format or missing URL
[DEBUG] 2025-08-22 19:00:47:086504 ] [INST] Put error failed: ch=4, resCode=0)
[DEBUG] 2025-08-22 19:00:47:087047 ] CSl_CloudSvc::doInstReport 0 of 2
[DEBUG] 2025-08-22 19:00:47:087583 ] CSl_CloudSvc::EVT_NOTI_FORCE_DEREGISTER
[DEBUG] 2025-08-22 19:00:47:088134 ] Start removing cloud users...
[1.6.0.4][19:00:47]..(1802638352) [json/jsonCmd.c:8921][JSON CMD] command = setup/general/user
[1.6.0.4][19:00:47]..(1802638352) [json/jsonCmd.c:9142][JSON CMD] command = setup/general/user
[1.6.0.4][19:00:47]..(1802638352) [setup.c:234]size diff 279960 vs 10632 check rdsize 280472
[1.6.0.4][19:00:47]..(1802638352) [setup.c:264]=== enc size diff 2160 vs 2160
[1.6.0.4][19:00:47]..(1802638352) [json/jsonCmd.c:9142][JSON CMD] command = setup/general/user
[1.6.0.4][19:00:47]..(1802638352) [setup.c:234]size diff 279960 vs 10632 check rdsize 280472
[1.6.0.4][19:00:47]..(1802638352) [setup.c:264]=== enc size diff 2160 vs 2160
[1.6.0.4][19:00:47]..(1802638352) [json/jsonCmd.c:9142][JSON CMD] command = setup/general/user
[1.6.0.4][19:00:47]..(1802638352) [setup.c:234]size diff 279960 vs 10632 check rdsize 280472
[1.6.0.4][19:00:47]..(1802638352) [setup.c:264]=== enc size diff 2160 vs 2160
[1.6.0.4][19:00:47]..(1802638352) [json/jsonCmd.c:9142][JSON CMD] command = setup/general/user
[1.6.0.4][19:00:47]..(1802638352) [setup.c:234]size diff 279960 vs 10632 check rdsize 280472
[1.6.0.4][19:00:47]..(1802638352) [setup.c:264]=== enc size diff 2160 vs 2160
[1.6.0.4][19:00:47]..(1802638352) [json/jsonCmd.c:9142][JSON CMD] command = setup/general/user
[DEBUG] 2025-08-22 19:00:48:032243 ] build:2024-12-02 17:16:37, active peer(s) = 0, total inout = 0.00
(66)
[1.6.0.4][19:00:48]..(1802638352) [setup.c:234]size diff 279960 vs 10632 check rdsize 280472
[1.6.0.4][19:00:48]..(1802638352) [setup.c:264]=== enc size diff 2160 vs 2160
[1.6.0.4][19:00:48]..(1802638352) [json/jsonCmd.c:9142][JSON CMD] command = setup/general/user
[1.6.0.4][19:00:48]..(1802638352) [setup.c:234]size diff 279960 vs 10632 check rdsize 280472
[1.6.0.4][19:00:48]..(1802638352) [setup.c:264]=== enc size diff 2160 vs 2160
[1.6.0.4][19:00:48]..(1802638352) [json/jsonCmd.c:9142][JSON CMD] command = setup/general/user
[1.6.0.4][19:00:48]..(1802638352) [setup.c:234]size diff 279960 vs 10632 check rdsize 280472
[1.6.0.4][19:00:48]..(1802638352) [setup.c:264]=== enc size diff 2160 vs 2160
[1.6.0.4][19:00:48]..(1802638352) [json/jsonCmd.c:9142][JSON CMD] command = setup/general/user
[1.6.0.4][19:00:48]..(1802638352) [setup.c:234]size diff 279960 vs 10632 check rdsize 280472
[1.6.0.4][19:00:48]..(1802638352) [setup.c:264]=== enc size diff 2160 vs 2160
[1.6.0.4][19:00:48]..(1802638352) [json/jsonCmd.c:9142][JSON CMD] command = setup/general/user
[1.6.0.4][19:00:48]..(1802638352) [setup.c:234]size diff 279960 vs 10632 check rdsize 280472
[1.6.0.4][19:00:48]..(1802638352) [setup.c:264]=== enc size diff 2160 vs 2160
[1.6.0.4][19:00:48]..(1802638352) [json/jsonCmd.c:9142][JSON CMD] command = setup/general/user
[1.6.0.4][19:00:49]..(1802638352) [setup.c:234]size diff 279960 vs 10632 check rdsize 280472
[1.6.0.4][19:00:49]..(1802638352) [setup.c:264]=== enc size diff 2160 vs 2160
[1.6.0.4][19:00:49]..(1802638352) [json/jsonCmd.c:9142][JSON CMD] command = setup/general/user
[1.6.0.4][19:00:49]..(1802638352) [setup.c:234]size diff 279960 vs 10632 check rdsize 280472
[1.6.0.4][19:00:49]..(1802638352) [setup.c:264]=== enc size diff 2160 vs 2160
[DEBUG] 2025-08-22 19:00:49:360465 ] removed 11 users, err=0
[DEBUG] 2025-08-22 19:00:49:361315 ] setting FW to dereg state...
[1.6.0.4][19:00:49]..(1802638352) [json/jsonCmd.c:9142][JSON CMD] command = agent/status
[1.6.0.4][19:00:49]..(1802638352) [dw.agent/dw.agent.c:339][AGENT] -m 30 -X POST -d '{"mydw_account_info": {"username": "jake@focushns.com","password": "7aMxXD4ScNVTqqMBSLxh4w==","account_number": "STG_EAAJ6652","location": ""},"vmax_access_info": {"username": "admin","password": "7aMxXD4ScNVTqqMBSLxh4w==","http": true,"http_port": 80,"https": true,"https_port": 443,"web_port": 80,"local_host": "127.0.0.1"}}' 'http://127.0.0.1:59999/agent/deregister' -o '/tmp/dw.agent.request.1755914449377.out'
=====TcpServer: Peer IP address: 127.0.0.1:59582
[ INFO] 2025-08-22 19:00:49:406444 ] CSl_WebConn::data from (127.0.0.1:59582) - 491
>>> k=0, /agent/deregister
c = 1
[DEBUG] 2025-08-22 19:00:49:407104 ] request: deregister
[ INFO] 2025-08-22 19:00:49:407803 ] CSl_WebConn::finished (127.0.0.1:59582)
[ INFO] 2025-08-22 19:00:49:523558 ] CSl_WebServer:: disconnected (127.0.0.1:59582)
socket no error
CSl_TcpConn::svc poll error (-2)
[1.6.0.4][19:00:50]..(1844601872) [dw.agent/dw.agent.c:549][AGENT] -m 30 -X GET 'http://127.0.0.1:59999/agent/servers/brown' -o '/tmp/dw.agent.mediaServer.1755914450558.out'
=====TcpServer: Peer IP address: 127.0.0.1:59590
[ INFO] 2025-08-22 19:00:50:586790 ] CSl_WebConn::data from (127.0.0.1:59590) - 97
>>> k=0, /agent/servers/brown
c = 1
[DEBUG] 2025-08-22 19:00:50:587767 ] request: backend host
[1.6.0.4][19:00:50]..(1844601872) [dw.agent/dw.agent.c:566][AGENT] NEW mediaServer = https://backend.stella.mydw.cloud
[1.6.0.4][19:00:50]..(1844601872) [dw.agent/dw.agent.c:575][AGENT] Final mediaServer = https://backend.stella.mydw.cloud
CSl_TcpConn::svc - ERROR reading from socket ret(0)
[ INFO] 2025-08-22 19:00:50:595779 ] CSl_WebConn::finished (127.0.0.1:59590)
[ INFO] 2025-08-22 19:00:50:713344 ] CSl_WebServer:: disconnected (127.0.0.1:59590)
[DEBUG] 2025-08-22 19:00:51:100398 ] {"error": "0","errorString": "","reply": {"id": "{dcd39d7a-63a3-9e9d-551f-85bbb622d5b7}","mac": "90-da-6a-ff-34-56","apiVersion": "3.6","status": {"error": 2,"errorString": "REGISTERED","currentStatus": "NOT REGISTERED"}}}
[DEBUG] 2025-08-22 19:00:51:102137 ] CSl_Ctrl::EVT_NOTI_DEREGISTERED
[ INFO] 2025-08-22 19:00:51:372102 ] CSl_TcpClient::svc - shutdown ssl
[ INFO] 2025-08-22 19:00:51:373172 ] CSl_TcpClient::svc - shutdown sock
[ INFO] 2025-08-22 19:00:51:373828 ] CSl_TcpClient::svc - close sock
[ INFO] 2025-08-22 19:00:51:374464 ] CSl_TcpClient::svc - finish
[DEBUG] 2025-08-22 19:00:55:632194 ] active peer(s) = 0, total inout = 0.00
(39)
@FOCUS_JH G3는 동작 안되는것으로 확인되었고, G4는 느리게 반영되더라도 동작됨을 확인했습니다. 해당 이슈는 연구소에 전달 하겠습니다.
@FOCUS_JH 동작시나리오 확인되었습니다. 1차 다시 검토해 보고 연구소에 내용 전달하겠습니다.
증상은 확인되었는데, G4도 하다보니 동일하게 증상이 나오는데. 혹시 이부분 동작 시나리오는 전재현 부사장님과 체크가 된것인가요? ..DVR은 삭제 버튼이 아직 비활성화 되어있던데..
@FOCUS_JH 분당 연구소가 IP G3가 없어서 재현이 불가합니다. IP G4는 문제가 없다고 하니 검토 부탁드립니다.