[Fix][Master] Fix Potential danger in the event of a worker failover (#15689)
* clean unused import * fix style check * fix when path is null or empty, it will cause serverhost is null, * fix UT test (#15684) * [Fix-15639] parameterPassing is null case NPE (#15678) Co-authored-by: caishunfeng <caishunfeng2021@gmail.com> * fix when path is null or empty, it will cause serverhost is null,
This commit is contained in:
parent
2395ba5ef8
commit
738da1cda3
|
|
@ -131,17 +131,20 @@ public class MasterRegistryClient implements AutoCloseable {
|
|||
public void removeWorkerNodePath(String path, RegistryNodeType nodeType, boolean failover) {
|
||||
log.info("{} node deleted : {}", nodeType, path);
|
||||
try {
|
||||
String serverHost = null;
|
||||
if (!StringUtils.isEmpty(path)) {
|
||||
serverHost = registryClient.getHostByEventDataPath(path);
|
||||
if (StringUtils.isEmpty(serverHost)) {
|
||||
log.error("server down error: unknown path: {}", path);
|
||||
return;
|
||||
}
|
||||
if (!registryClient.exists(path)) {
|
||||
log.info("path: {} not exists", path);
|
||||
}
|
||||
if (StringUtils.isEmpty(path)) {
|
||||
log.error("server down error: node empty path: {}, nodeType:{}", path, nodeType);
|
||||
return;
|
||||
}
|
||||
|
||||
String serverHost = registryClient.getHostByEventDataPath(path);
|
||||
if (StringUtils.isEmpty(serverHost)) {
|
||||
log.error("server down error: unknown path: {}", path);
|
||||
return;
|
||||
}
|
||||
if (!registryClient.exists(path)) {
|
||||
log.info("path: {} not exists", path);
|
||||
}
|
||||
|
||||
// failover server
|
||||
if (failover) {
|
||||
failoverService.failoverServerWhenDown(serverHost, nodeType);
|
||||
|
|
|
|||
|
|
@ -103,4 +103,10 @@ public class MasterRegistryClientTest {
|
|||
// Cannot mock static methods
|
||||
masterRegistryClient.removeWorkerNodePath("/path", RegistryNodeType.WORKER, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void removeWorkNodePathTest() {
|
||||
masterRegistryClient.removeWorkerNodePath("", RegistryNodeType.WORKER, true);
|
||||
masterRegistryClient.removeWorkerNodePath(null, RegistryNodeType.WORKER, true);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue