From 86e1bd2b07661016f4c2acef20bad9701a18bd03 Mon Sep 17 00:00:00 2001 From: vaughn Date: Mon, 13 Mar 2023 11:01:49 +0800 Subject: [PATCH] chore: improve --- .../hugegraph/api/filter/RedirectFilter.java | 8 +++---- .../masterelection/GlobalMasterInfo.java | 22 ++++++++++--------- .../StandardStateMachineCallback.java | 4 ++-- 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/RedirectFilter.java b/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/RedirectFilter.java index 84c8517237..e675dd9554 100644 --- a/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/RedirectFilter.java +++ b/hugegraph-api/src/main/java/org/apache/hugegraph/api/filter/RedirectFilter.java @@ -86,12 +86,12 @@ public void filter(ContainerRequestContext context) throws IOException { if (globalMasterInfo == null || !globalMasterInfo.isFeatureSupport()) { return; } - GlobalMasterInfo.Info masterInfo = globalMasterInfo.info(); - if (masterInfo == null || masterInfo.isMaster() || - StringUtils.isEmpty(masterInfo.url())) { + GlobalMasterInfo.NodeInfo masterNodeInfo = globalMasterInfo.nodeInfo(); + if (masterNodeInfo == null || masterNodeInfo.isMaster() || + StringUtils.isEmpty(masterNodeInfo.url())) { return; } - String url = masterInfo.url(); + String url = masterNodeInfo.url(); URI redirectUri; try { diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/GlobalMasterInfo.java b/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/GlobalMasterInfo.java index a622803471..7ff6081145 100644 --- a/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/GlobalMasterInfo.java +++ b/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/GlobalMasterInfo.java @@ -19,20 +19,22 @@ public class GlobalMasterInfo { - private volatile Info info; + private NodeInfo nodeInfo; private volatile boolean featureSupport; public GlobalMasterInfo() { this.featureSupport = false; - this.info = new Info(false, ""); + this.nodeInfo = new NodeInfo(false, ""); } - public void info(boolean isMaster, String url) { - this.info = new Info(isMaster, url); + public final void nodeInfo(boolean isMaster, String url) { + // final local variable avoid instruction rearrangement + final NodeInfo tempNodeInfo = new NodeInfo(isMaster, url); + this.nodeInfo = tempNodeInfo; } - public Info info() { - return this.info; + public final NodeInfo nodeInfo() { + return this.nodeInfo; } public void isFeatureSupport(boolean featureSupport) { @@ -43,12 +45,12 @@ public boolean isFeatureSupport() { return this.featureSupport; } - public static class Info { + public static class NodeInfo { - private boolean isMaster; - private String url; + private final boolean isMaster; + private final String url; - public Info(boolean isMaster, String url) { + public NodeInfo(boolean isMaster, String url) { this.isMaster = isMaster; this.url = url; } diff --git a/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/StandardStateMachineCallback.java b/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/StandardStateMachineCallback.java index fb6b5c9dc4..88bec95b31 100644 --- a/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/StandardStateMachineCallback.java +++ b/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/StandardStateMachineCallback.java @@ -94,12 +94,12 @@ public void error(StateMachineContext context, Throwable e) { public void initGlobalMasterInfo(StateMachineContext context) { StateMachineContext.MasterServerInfo master = context.master(); if (master == null) { - this.globalMasterInfo.info(false, null); + this.globalMasterInfo.nodeInfo(false, ""); return; } boolean isMaster = Objects.equals(context.node(), master.node()); String url = master.url(); - this.globalMasterInfo.info(isMaster, url); + this.globalMasterInfo.nodeInfo(isMaster, url); } }