TarsFramework
TarsFramework copied to clipboard
无损任务批量停止的服务无法下线
下线的时候提示运行中的服务无法下线
看了下是这里的代码没有更新present_state
字段的值导致的,由于不清楚为什么不更新这个字段的逻辑,就不直接提PR了
https://github.com/TarsCloud/TarsFramework/blob/5e9501c26b4e10b5641ae80534478175eef3cea3/AdminRegistryServer/AdminRegistryImp.cpp#L506
present_state 状态值不在tarsAdminregistry这里修改,而是会调用tarsnode的stopServer接口,在tarsnode中如果正常把服务停止成功,会自己主动调用主控去修改这个状态值。这里如果字段没有更新成功, 确认下是不是tarsnode服务停止服务失败了。
present_state 状态值不在tarsAdminregistry这里修改,而是会调用tarsnode的stopServer接口,在tarsnode中如果正常把服务停止成功,会自己主动调用主控去修改这个状态值。这里如果字段没有更新成功, 确认下是不是tarsnode服务停止服务失败了。
确认进程是已经停止的。这个是必现的,无损任务停止的都提示运行中,普通停止都没问题
试了一下, 貌似没出现, 怎么复现?
操作就是勾选服务的节点->批量停止->启用无损任务->确认。节点停止后->更多命令->下线服务。 我这边部署了3套集群,有2套会出现,有一套不会。后面再研究下有什么区别
服务无损当时停止之后,有在管理平台上面看服务的当前状态吗?是否为inactive?
停止后是3个Inactive。 今天试了一下,一个上周无损停止后不能下线的服务,今天直接操作下线成功了。
设置状态 | 当前状态 | 流量状态 |
---|---|---|
Inactive | Inactive | Inactive |