From cf772e2bd4bb3d29ab427fd1eb896e2d26b1f41b Mon Sep 17 00:00:00 2001 From: Chris Henson Date: Wed, 31 May 2017 10:02:53 -0400 Subject: [PATCH] 0003131: null pointer when a table reload request is queued up and there is no sym_node_security row --- .../org/jumpmind/symmetric/service/impl/RouterService.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/RouterService.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/RouterService.java index a77a890778..8b4a4b8612 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/RouterService.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/RouterService.java @@ -329,8 +329,8 @@ public void processTableRequestLoads(Node source, ProcessInfo processInfo) { else { NodeSecurity targetNodeSecurity = engine.getNodeService().findNodeSecurity(load.getTargetNodeId()); - boolean registered = targetNodeSecurity.getRegistrationTime() != null - || targetNodeSecurity.getNodeId().equals(targetNodeSecurity.getCreatedAtNodeId()); + boolean registered = targetNodeSecurity != null && (targetNodeSecurity.getRegistrationTime() != null + || targetNodeSecurity.getNodeId().equals(targetNodeSecurity.getCreatedAtNodeId())); if (registered) { // Make loads unique to the target and create time String key = load.getTargetNodeId() + "::" + load.getCreateTime().toString(); @@ -338,6 +338,8 @@ public void processTableRequestLoads(Node source, ProcessInfo processInfo) { requestsSplitByLoad.put(key, new ArrayList()); } requestsSplitByLoad.get(key).add(load); + } else { + log.warn("There was a load queued up for '{}', but the node is not registered. It is being ignored", load.getTargetNodeId()); } } }