Skip to content
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

obj manager, id:3, get lowest slave failed !!! #1

Open
tp111222 opened this issue Dec 30, 2020 · 7 comments
Open

obj manager, id:3, get lowest slave failed !!! #1

tp111222 opened this issue Dec 30, 2020 · 7 comments

Comments

@tp111222
Copy link

hi,@debugger999,When I test gat1400 protocol with postman,The following error occurred:

ERR : FILE -> work.cpp, LINE -> 216, mqOpen, mq open 172.17.0.2:5672 failed
obj manager, id:3, get lowest slave failed

the postman info:

http://172.17.0.2:11706/system/init
{
"masterIp": "172.17.0.2",
"msgOutParams": [
{
"type": "mq",
"host": "172.17.0.2",
"port": 5672,
"userName": "guest",
"passWord": "guest",
"exchange": "aiotc.exchange.message",
"routingKey": ""
}
],

"gat1400Params": {
    "localGatHostIp": "34010000002000000001",
    "localGatServerId": "32020200002000000002",
    "localGatPort": 7100,
    "platform": [
        {
            "id": "32020200002000000001",
            "ip": "172.17.0.2",
            "port": 7200,
            "username": "admin",
            "password": "admin",
            "extra": {
                "manufactor": "hik"
            }
        }
    ]
}

}

http://172.17.0.2:11706/obj/add/gat1400
{
"name":"test",
"type":"camera",
"id":3,
"data":{
"subType":"gat1400",
"deviceId": "32020200002000000003",
"mode": 0,
"slaveIp": "172.17.2.0",
"platformId": "32020200002000000001"
}
}

@tp111222
Copy link
Author

http://172.17.0.2:11706/system/slave/add
{
"slaveIp":"172.17.0.2",
"restPort":11762,
"streamPort":11764,
"internetIp": "8.8.8.8"
}

@debugger999
Copy link
Owner

关于“mq open 172.17.0.2:5672 failed”,应该是你没有初始化rabiitmq服务器导致,这个不影响测试,只是无法通过mq接收抓拍信息。
关于“get lowest slave failed”,我的理解,可能是没有严格按照"https://debugger999.github.io/2020/06/29/js-version/"中的步骤,漏了“添加slave”这一步。
仅作参考。

@tp111222
Copy link
Author

我刚刚又做了测试的,还是报 “get lowest slave failed“错误,终端打印印象如下:

WARRING : FILE -> work.cpp, LINE -> 194, mqOpen, please system init first
DEBUG : FILE -> rest.cpp, LINE -> 287, request_cb, pid:2118, /system/init:{
"masterIp": "172.17.0.2",
"msgOutParams": [
{
"type": "mq",
"host": "172.17.0.2",
"port": 5672,
"userName": "guest",
"passWord": "guest",
"exchange": "aiotc.exchange.message",
"routingKey": ""
}
],

"gat1400Params": {
    "localGatHostIp": "34010000002000000001",
    "localGatServerId": "32020200002000000002",
    "localGatPort": 7100,
    "platform": [
        {
            "id": "32020200002000000001",
            "ip": "172.17.0.2",
            "port": 7200,
            "username": "admin",
            "password": "admin",
            "extra": {
                "manufactor": "hik"
            }
        }
    ]
}

}

delet failed, original.msgOutParams.type, No suitable servers found (serverSelectionTryOnce set): [connection refused calling ismaster on '192.168.0.99:27017']
ERR : FILE -> db.cpp, LINE -> 273, dbWrite, insert failed, {"original":{
"masterIp": "172.17.0.2",
"msgOutParams": [
{
"type": "mq",
"host": "172.17.0.2",
"port": 5672,
"userName": "guest",
"passWord": "guest",
"exchange": "aiotc.exchange.message",
"routingKey": ""
}
],

"gat1400Params": {
    "localGatHostIp": "34010000002000000001",
    "localGatServerId": "32020200002000000002",
    "localGatPort": 7100,
    "platform": [
        {
            "id": "32020200002000000001",
            "ip": "172.17.0.2",
            "port": 7200,
            "username": "admin",
            "password": "admin",
            "extra": {
                "manufactor": "hik"
            }
        }
    ]
}

}
}, No servers yet eligible for rescan

DEBUG : FILE -> rest.cpp, LINE -> 287, request_cb, pid:2118, /system/slave/add:{
"slaveIp":"172.17.0.2",
"restPort":11762,
"streamPort":11764
delet failed, original.slaveIp, No suitable servers found (serverSelectionTryOnce set): [connection refused calling ismaster on '192.168.0.99:27017']
ERR : FILE -> db.cpp, LINE -> 273, dbWrite, insert failed, {"original":{
"slaveIp":"172.17.0.2",
"restPort":11762,
"streamPort":11764

}}, No servers yet eligible for rescan

DEBUG : FILE -> rest.cpp, LINE -> 287, request_cb, pid:2118, /obj/add/gat1400:{
"name":"test",
"type":"camera",
"id":3,
"data":{
"subType":"gat1400",
"deviceId": "32020200002000000003",
"mode": 0,
"slaveIp": "172.17.0.2",
"platformId": "32020200002000000001"
}
}
obj manager, id:3, get lowest slave failed
delet failed, original.id, No suitable servers found (serverSelectionTryOnce set): [connection refused calling ismaster on '192.168.0.99:27017']
ERR : FILE -> db.cpp, LINE -> 273, dbWrite, insert failed, {"original":{
"name":"test",
"type":"camera",
"id":3,
"data":{
"subType":"gat1400",
"deviceId": "32020200002000000003",
"mode": 0,
"slaveIp": "172.17.0.2",
"platformId": "32020200002000000001"
}
}}, No servers yet eligible for rescan

obj manager, id:3, get lowest slave failed
obj manager, id:3, get lowest slave failed
obj manager, id:3, get lowest slave failed
obj manager, id:3, get lowest slave failed
obj manager, id:3, get lowest slave failed
obj manager, id:3, get lowest slave failed

@debugger999
Copy link
Owner

从你的信息,没有看到“添加slave”命令

@tp111222
Copy link
Author

DEBUG : FILE -> rest.cpp, LINE -> 287, request_cb, pid:2118, /system/slave/add:{
"slaveIp":"172.17.0.2",
"restPort":11762,
"streamPort":11764
delet failed, original.slaveIp, No suitable servers found (serverSelectionTryOnce set): [connection refused calling ismaster on '192.168.0.99:27017']
ERR : FILE -> db.cpp, LINE -> 273, dbWrite, insert failed, {"original":{
"slaveIp":"172.17.0.2",
"restPort":11762,
"streamPort":11764

}}, No servers yet eligible for rescan

这个就是的吧?

@tp111222
Copy link
Author

http://172.17.0.2:11706/system/slave/add
{
"slaveIp":"172.17.0.2",
"restPort":11762,
"streamPort":11764

}
这个是我用postman 发的,初始化完了后,就发的增加slave设备这条命令

@debugger999
Copy link
Owner

我觉得,你需要在函数_getlowestLoadSlave里面加几条调试信息,看哪个条件导致的异常。参考如下:
static int _getlowestLoadSlave(node_common *p, void *arg) {
slaveParam **ppLowestSlave = (slaveParam **)arg;
slaveParam *pSlaveParam = (slaveParam *)p->name;

printf("##test, %d, %d,%d,%d,%d\n", __LINE__,
        pSlaveParam->online, pSlaveParam->systemInit, pSlaveParam->load,
        pSlaveLast->load);
if(*ppLowestSlave == NULL) {
    printf("##test, %d\n", __LINE__);
    if(pSlaveParam->online && pSlaveParam->systemInit && pSlaveParam->load < SLAVE_LOAD_MAX) {
        printf("##test, %d\n", __LINE__);
        *ppLowestSlave = pSlaveParam;
    }
}
else {
    slaveParam *pSlaveLast = *ppLowestSlave;
    printf("##test, %d\n", __LINE__);
    if(pSlaveParam->load < pSlaveLast->load && pSlaveParam->online && pSlaveParam->systemInit) {
        printf("##test, %d\n", __LINE__);
        *ppLowestSlave = pSlaveParam;
    }
}
printf("##test, %d\n", __LINE__);

return 0;

}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants