This is an automated email from the ASF dual-hosted git repository.

ming pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-hugegraph.git


The following commit(s) were added to refs/heads/master by this push:
     new 21855c67a refactor(commons): handle sofa-rpc desc type & mark TODO 
(#2666)
21855c67a is described below

commit 21855c67a3a76773e738f00e3a8e86e92c6d58a9
Author: imbajin <[email protected]>
AuthorDate: Fri Oct 25 11:16:38 2024 +0800

    refactor(commons): handle sofa-rpc desc type & mark TODO (#2666)
    
    * chore: upgrade sofa-rpc to latest version (2024.8)
    
    * fix conflicts
    
    * downgrade sofa-rpc to 5.12.
    
    * fix: replace the wrong dep usage for sofa-rpc
    
    * feat: support multi RPC desc type for users
    
    * chore: disable sofa-rpc server by default
---
 .../hugegraph-dist/release-docs/NOTICE             |  2 +-
 hugegraph-commons/hugegraph-rpc/pom.xml            |  1 +
 .../org/apache/hugegraph/config/RpcOptions.java    | 21 ++++++++++++-----
 .../apache/hugegraph/rpc/RpcConsumerConfig.java    | 11 ++++-----
 .../java/org/apache/hugegraph/rpc/RpcServer.java   | 16 ++++++-------
 .../apache/hugegraph/unit/ServerClientTest.java    | 18 +++++++--------
 hugegraph-server/hugegraph-api/pom.xml             |  2 ++
 .../org/apache/hugegraph/core/GraphManager.java    |  2 +-
 .../java/org/apache/hugegraph/HugeGraphParams.java |  1 -
 .../backend/serializer/BinaryBackendEntry.java     |  3 ++-
 .../backend/serializer/BinarySerializer.java       | 12 +++++-----
 .../hugegraph/backend/tx/GraphTransaction.java     | 15 ++++++++-----
 .../hugegraph/backend/tx/SchemaTransactionV2.java  |  3 ++-
 .../cent/BetweennessCentralityAlgorithmV2.java     |  1 -
 .../hugegraph/job/schema/EdgeLabelRemoveJob.java   |  1 -
 .../hugegraph/job/schema/IndexLabelRebuildJob.java |  1 -
 .../hugegraph/job/schema/IndexLabelRemoveJob.java  |  1 -
 .../job/schema/OlapPropertyKeyClearJob.java        |  1 -
 .../job/schema/OlapPropertyKeyCreateJob.java       |  1 -
 .../job/schema/OlapPropertyKeyRemoveJob.java       |  1 -
 .../hugegraph/job/schema/VertexLabelRemoveJob.java |  1 -
 .../hugegraph/masterelection/GlobalMasterInfo.java |  2 +-
 .../java/org/apache/hugegraph/meta/MetaDriver.java | 26 +++++++++++-----------
 .../hugegraph/meta/lock/EtcdDistributedLock.java   | 11 ++++-----
 .../schema/builder/PropertyKeyBuilder.java         |  8 +++----
 .../schema/builder/VertexLabelBuilder.java         | 16 ++++++-------
 .../org/apache/hugegraph/space/GraphSpace.java     |  1 -
 .../org/apache/hugegraph/structure/HugeIndex.java  |  3 ++-
 .../org/apache/hugegraph/task/HugeTaskResult.java  |  6 -----
 .../assembly/static/conf/rest-server.properties    |  5 +++--
 30 files changed, 97 insertions(+), 96 deletions(-)

diff --git a/hugegraph-commons/hugegraph-dist/release-docs/NOTICE 
b/hugegraph-commons/hugegraph-dist/release-docs/NOTICE
index 7d13a7d48..c021594e7 100644
--- a/hugegraph-commons/hugegraph-dist/release-docs/NOTICE
+++ b/hugegraph-commons/hugegraph-dist/release-docs/NOTICE
@@ -1,5 +1,5 @@
 Apache HugeGraph(incubating)
-Copyright 2022-2023 The Apache Software Foundation
+Copyright 2022-2024 The Apache Software Foundation
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
diff --git a/hugegraph-commons/hugegraph-rpc/pom.xml 
b/hugegraph-commons/hugegraph-rpc/pom.xml
index 0637da1c5..23f0a3207 100644
--- a/hugegraph-commons/hugegraph-rpc/pom.xml
+++ b/hugegraph-commons/hugegraph-rpc/pom.xml
@@ -62,6 +62,7 @@
         <dependency>
             <groupId>com.alipay.sofa</groupId>
             <artifactId>sofa-rpc-all</artifactId>
+            <!--  Fixme/TODO: upgrade to version > 5.12 to avoid potential SEC 
risk -->
             <version>5.7.6</version>
             <exclusions>
                 <exclusion>
diff --git 
a/hugegraph-commons/hugegraph-rpc/src/main/java/org/apache/hugegraph/config/RpcOptions.java
 
b/hugegraph-commons/hugegraph-rpc/src/main/java/org/apache/hugegraph/config/RpcOptions.java
index 09adcbab8..43985a531 100644
--- 
a/hugegraph-commons/hugegraph-rpc/src/main/java/org/apache/hugegraph/config/RpcOptions.java
+++ 
b/hugegraph-commons/hugegraph-rpc/src/main/java/org/apache/hugegraph/config/RpcOptions.java
@@ -104,8 +104,7 @@ public class RpcOptions extends OptionHolder {
     public static final ConfigOption<Integer> RPC_CLIENT_READ_TIMEOUT =
             new ConfigOption<>(
                     "rpc.client_read_timeout",
-                    "The timeout(in seconds) of rpc client read from rpc " +
-                    "server.",
+                    "The timeout(in seconds) of rpc client read from RPC 
server.",
                     rangeInt(1, Integer.MAX_VALUE),
                     40
             );
@@ -121,7 +120,7 @@ public class RpcOptions extends OptionHolder {
     public static final ConfigOption<String> RPC_CLIENT_LOAD_BALANCER =
             new ConfigOption<>(
                     "rpc.client_load_balancer",
-                    "The rpc client uses a load-balancing algorithm to " +
+                    "The RPC client uses a load-balancing algorithm to " +
                     "access multiple rpc servers in one cluster. Default " +
                     "value is 'consistentHash', means forwarding by request " +
                     "parameters.",
@@ -133,16 +132,26 @@ public class RpcOptions extends OptionHolder {
     public static final ConfigOption<String> RPC_PROTOCOL =
             new ConfigOption<>(
                     "rpc.protocol",
-                    "Rpc communication protocol, client and server need to " +
+                    "RPC communication protocol, client and server need to " +
                     "be specified the same value.",
                     allowValues("bolt", "rest", "dubbo", "h2c", "http"),
                     "bolt"
             );
 
+    public static final ConfigOption<String> RPC_SERIALIZATION =
+            new ConfigOption<>(
+                    "rpc.serialization",
+                    "RPC serialization type, client and server must set the 
same value." +
+                    "Note: If you choose 'protobuf', you need to add the 
relative IDL file. " +
+                    "(Could refer PD/Store *.proto)",
+                    allowValues("hessian2", "protobuf"),
+                    "hessian2"
+            );
+
     public static final ConfigOption<Integer> RPC_CONFIG_ORDER =
             new ConfigOption<>(
                     "rpc.config_order",
-                    "Sofa rpc configuration file loading order, the larger " +
+                    "Sofa-RPC configuration file loading order, the larger " +
                     "the more later loading.",
                     rangeInt(1, Integer.MAX_VALUE),
                     999
@@ -151,7 +160,7 @@ public class RpcOptions extends OptionHolder {
     public static final ConfigOption<String> RPC_LOGGER_IMPL =
             new ConfigOption<>(
                     "rpc.logger_impl",
-                    "Sofa rpc log implementation class.",
+                    "Sofa-RPC log implementation class.",
                     disallowEmpty(),
                     "com.alipay.sofa.rpc.log.SLF4JLoggerImpl"
             );
diff --git 
a/hugegraph-commons/hugegraph-rpc/src/main/java/org/apache/hugegraph/rpc/RpcConsumerConfig.java
 
b/hugegraph-commons/hugegraph-rpc/src/main/java/org/apache/hugegraph/rpc/RpcConsumerConfig.java
index c489f5cd9..9459ac516 100644
--- 
a/hugegraph-commons/hugegraph-rpc/src/main/java/org/apache/hugegraph/rpc/RpcConsumerConfig.java
+++ 
b/hugegraph-commons/hugegraph-rpc/src/main/java/org/apache/hugegraph/rpc/RpcConsumerConfig.java
@@ -22,6 +22,9 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import org.apache.hugegraph.config.HugeConfig;
+import org.apache.hugegraph.config.RpcOptions;
+import org.apache.hugegraph.util.Log;
 import org.slf4j.Logger;
 
 import com.alipay.sofa.rpc.bootstrap.Bootstraps;
@@ -36,9 +39,6 @@ import com.alipay.sofa.rpc.core.request.SofaRequest;
 import com.alipay.sofa.rpc.core.response.SofaResponse;
 import com.alipay.sofa.rpc.ext.Extension;
 import com.alipay.sofa.rpc.ext.ExtensionLoaderFactory;
-import org.apache.hugegraph.config.HugeConfig;
-import org.apache.hugegraph.config.RpcOptions;
-import org.apache.hugegraph.util.Log;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
@@ -135,6 +135,7 @@ public class RpcConsumerConfig implements 
RpcServiceConfig4Client {
                       .setConnectTimeout(connectTimeout)
                       .setReconnectPeriod(reconnectPeriod)
                       .setRetries(retries)
+                      .setSerialization(conf.get(RpcOptions.RPC_SERIALIZATION))
                       .setLoadBalancer(loadBalancer);
 
         this.configs.put(serviceId, consumerConfig);
@@ -168,13 +169,13 @@ public class RpcConsumerConfig implements 
RpcServiceConfig4Client {
                 }
             }
 
-            if (responses.size() > 0) {
+            if (!responses.isEmpty()) {
                 /*
                  * Just choose the first one as result to return, ignore others
                  * TODO: maybe more strategies should be provided
                  */
                 return responses.get(0);
-            } else if (excepts.size() > 0) {
+            } else if (!excepts.isEmpty()) {
                 throw excepts.get(0);
             } else {
                 assert providers.isEmpty();
diff --git 
a/hugegraph-commons/hugegraph-rpc/src/main/java/org/apache/hugegraph/rpc/RpcServer.java
 
b/hugegraph-commons/hugegraph-rpc/src/main/java/org/apache/hugegraph/rpc/RpcServer.java
index fe0b91ac5..7791ac8cd 100644
--- 
a/hugegraph-commons/hugegraph-rpc/src/main/java/org/apache/hugegraph/rpc/RpcServer.java
+++ 
b/hugegraph-commons/hugegraph-rpc/src/main/java/org/apache/hugegraph/rpc/RpcServer.java
@@ -19,6 +19,12 @@ package org.apache.hugegraph.rpc;
 
 import java.util.Map;
 
+import org.apache.commons.collections.MapUtils;
+import org.apache.hugegraph.config.HugeConfig;
+import org.apache.hugegraph.config.RpcOptions;
+import org.apache.hugegraph.testutil.Whitebox;
+import org.apache.hugegraph.util.E;
+import org.apache.hugegraph.util.Log;
 import org.slf4j.Logger;
 
 import com.alipay.remoting.RemotingServer;
@@ -27,12 +33,6 @@ import com.alipay.sofa.rpc.config.ProviderConfig;
 import com.alipay.sofa.rpc.config.ServerConfig;
 import com.alipay.sofa.rpc.server.Server;
 import com.alipay.sofa.rpc.server.bolt.BoltServer;
-import org.apache.hugegraph.config.RpcOptions;
-import org.apache.commons.collections.MapUtils;
-import org.apache.hugegraph.config.HugeConfig;
-import org.apache.hugegraph.testutil.Whitebox;
-import org.apache.hugegraph.util.E;
-import org.apache.hugegraph.util.Log;
 
 public class RpcServer {
 
@@ -55,6 +55,7 @@ public class RpcServer {
             this.serverConfig.setProtocol(config.get(RpcOptions.RPC_PROTOCOL))
                              .setHost(host).setPort(port)
                              .setAdaptivePort(adaptivePort)
+                             
.setSerialization(config.get(RpcOptions.RPC_SERIALIZATION))
                              .setDaemon(false);
         } else {
             this.serverConfig = null;
@@ -87,8 +88,7 @@ public class RpcServer {
              * TODO: remove this code after adding Server.port() interface:
              *       https://github.com/sofastack/sofa-rpc/issues/1022
              */
-            RemotingServer rs = Whitebox.getInternalState(server,
-                                                          "remotingServer");
+            RemotingServer rs = Whitebox.getInternalState(server, 
"remotingServer");
             return rs.port();
         }
         // When using random port 0, the returned port is not the actual port
diff --git 
a/hugegraph-commons/hugegraph-rpc/src/test/java/org/apache/hugegraph/unit/ServerClientTest.java
 
b/hugegraph-commons/hugegraph-rpc/src/test/java/org/apache/hugegraph/unit/ServerClientTest.java
index 6b800c02c..a1c64c058 100644
--- 
a/hugegraph-commons/hugegraph-rpc/src/test/java/org/apache/hugegraph/unit/ServerClientTest.java
+++ 
b/hugegraph-commons/hugegraph-rpc/src/test/java/org/apache/hugegraph/unit/ServerClientTest.java
@@ -21,14 +21,6 @@ import java.io.IOException;
 import java.net.InetAddress;
 import java.net.ServerSocket;
 
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import com.alipay.sofa.rpc.common.RpcOptions;
-import com.alipay.sofa.rpc.core.exception.SofaRpcException;
-import com.alipay.sofa.rpc.core.exception.SofaRpcRuntimeException;
 import org.apache.hugegraph.config.HugeConfig;
 import org.apache.hugegraph.rpc.RpcClientProvider;
 import org.apache.hugegraph.rpc.RpcCommonConfig;
@@ -38,6 +30,14 @@ import org.apache.hugegraph.rpc.RpcServer;
 import org.apache.hugegraph.testutil.Assert;
 import org.apache.hugegraph.testutil.Whitebox;
 import org.apache.hugegraph.util.E;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import com.alipay.sofa.rpc.common.RpcOptions;
+import com.alipay.sofa.rpc.core.exception.SofaRpcException;
+import com.alipay.sofa.rpc.core.exception.SofaRpcRuntimeException;
 import com.google.common.collect.ImmutableMap;
 
 public class ServerClientTest extends BaseUnitTest {
@@ -169,7 +169,7 @@ public class ServerClientTest extends BaseUnitTest {
         RpcProviderConfig serverConfig = rpcServerAdaptive.config();
         serverConfig.addService(HelloService.class, new HelloServiceImpl());
 
-        // Start other server bound the port
+        // Start another server bound the port
         int usedPort = rpcServerAdaptive.port();
         InetAddress ip = InetAddress.getByName(rpcServerAdaptive.host());
         ServerSocket inUse = new ServerSocket(usedPort,50, ip);
diff --git a/hugegraph-server/hugegraph-api/pom.xml 
b/hugegraph-server/hugegraph-api/pom.xml
index 8a6fdb9e7..5bef81e04 100644
--- a/hugegraph-server/hugegraph-api/pom.xml
+++ b/hugegraph-server/hugegraph-api/pom.xml
@@ -38,6 +38,8 @@
         <dependency>
             <groupId>io.grpc</groupId>
             <artifactId>grpc-netty-shaded</artifactId>
+            <!-- Keep consistent with grpc dependency version (pd/store) -->
+            <!-- <version>1.39.0</version>-->
             <version>1.47.0</version>
         </dependency>
 
diff --git 
a/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/core/GraphManager.java
 
b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/core/GraphManager.java
index 9a9d957e8..daae180a3 100644
--- 
a/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/core/GraphManager.java
+++ 
b/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/core/GraphManager.java
@@ -89,7 +89,7 @@ public final class GraphManager {
     private final RpcClientProvider rpcClient;
 
     private RoleElectionStateMachine roleStateMachine;
-    private GlobalMasterInfo globalNodeRoleInfo;
+    private final GlobalMasterInfo globalNodeRoleInfo;
 
     private final HugeConfig conf;
     private final EventHub eventHub;
diff --git 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/HugeGraphParams.java
 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/HugeGraphParams.java
index 5556fdfa6..b0b19c707 100644
--- 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/HugeGraphParams.java
+++ 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/HugeGraphParams.java
@@ -25,7 +25,6 @@ import org.apache.hugegraph.backend.store.BackendStore;
 import org.apache.hugegraph.backend.store.ram.RamTable;
 import org.apache.hugegraph.backend.tx.GraphTransaction;
 import org.apache.hugegraph.backend.tx.ISchemaTransaction;
-import org.apache.hugegraph.backend.tx.SchemaTransaction;
 import org.apache.hugegraph.config.HugeConfig;
 import org.apache.hugegraph.event.EventHub;
 import org.apache.hugegraph.job.EphemeralJob;
diff --git 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BinaryBackendEntry.java
 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BinaryBackendEntry.java
index ca605f0b6..67e437d9c 100644
--- 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BinaryBackendEntry.java
+++ 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BinaryBackendEntry.java
@@ -49,7 +49,8 @@ public class BinaryBackendEntry implements BackendEntry {
     }
 
     // FIXME: `enablePartition` is unused here
-    public BinaryBackendEntry(HugeType type, byte[] bytes, boolean 
enablePartition, boolean isOlap) {
+    public BinaryBackendEntry(HugeType type, byte[] bytes, boolean 
enablePartition,
+                              boolean isOlap) {
         this(type, BytesBuffer.wrap(bytes).parseOlapId(type, isOlap));
     }
 
diff --git 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BinarySerializer.java
 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BinarySerializer.java
index 677ed165f..0bb07760a 100644
--- 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BinarySerializer.java
+++ 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/serializer/BinarySerializer.java
@@ -17,6 +17,8 @@
 
 package org.apache.hugegraph.backend.serializer;
 
+import static org.apache.hugegraph.schema.SchemaElement.UNDEF;
+
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Iterator;
@@ -74,8 +76,6 @@ import org.apache.hugegraph.util.NumericUtil;
 import org.apache.hugegraph.util.StringEncoding;
 import org.apache.tinkerpop.gremlin.structure.Edge;
 
-import static org.apache.hugegraph.schema.SchemaElement.UNDEF;
-
 public class BinarySerializer extends AbstractSerializer {
 
     /*
@@ -932,10 +932,10 @@ public class BinarySerializer extends AbstractSerializer {
         BytesBuffer buffer = BytesBuffer.allocate(BytesBuffer.BUF_EDGE_ID);
         buffer.write(parsedEntry.id().asBytes());
         buffer.write(bytes);
-        parsedEntry = new BinaryBackendEntry(originEntry.type(), new 
BinaryId(buffer.bytes(),
-                                                                              
BytesBuffer.wrap(
-                                                                               
                  buffer.bytes())
-                                                                               
          .readEdgeId()));
+        parsedEntry = new BinaryBackendEntry(originEntry.type(),
+                                             new BinaryId(buffer.bytes(),
+                                                          
BytesBuffer.wrap(buffer.bytes())
+                                                                     
.readEdgeId()));
 
         for (BackendColumn col : originEntry.columns()) {
             parsedEntry.column(buffer.bytes(), col.value);
diff --git 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/GraphTransaction.java
 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/GraphTransaction.java
index ccd2b5405..7f441574e 100644
--- 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/GraphTransaction.java
+++ 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/GraphTransaction.java
@@ -34,8 +34,6 @@ import java.util.function.Function;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import com.google.common.collect.Iterators;
-
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.hugegraph.HugeException;
 import org.apache.hugegraph.HugeGraph;
@@ -103,6 +101,7 @@ import 
org.apache.tinkerpop.gremlin.structure.util.ElementHelper;
 import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
 
 import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Iterators;
 
 import jakarta.ws.rs.ForbiddenException;
 
@@ -1053,8 +1052,10 @@ public class GraphTransaction extends 
IndexableTransaction {
         if (query instanceof ConditionQuery && !query.paging()) {
             // TODO: support: paging + parent label
             boolean supportIn = 
this.storeFeatures().supportsQueryWithInCondition();
-            // consider multi labels + properties, see 
org.apache.hugegraph.core.EdgeCoreTest.testQueryInEdgesOfVertexByLabels
-            Stream<ConditionQuery> flattenedQueries = 
ConditionQueryFlatten.flatten((ConditionQuery) query, supportIn).stream();
+            // consider multi labels + properties,
+            // see 
org.apache.hugegraph.core.EdgeCoreTest.testQueryInEdgesOfVertexByLabels
+            Stream<ConditionQuery> flattenedQueries =
+                    ConditionQueryFlatten.flatten((ConditionQuery) query, 
supportIn).stream();
 
             Stream<Iterator<HugeEdge>> edgeIterators = flattenedQueries.map(cq 
-> {
                 Id label = cq.condition(HugeKeys.LABEL);
@@ -1073,7 +1074,8 @@ public class GraphTransaction extends 
IndexableTransaction {
                 }
             });
 
-            return 
edgeIterators.reduce(ExtendableIterator::concat).orElse(Collections.emptyIterator());
+            return edgeIterators.reduce(ExtendableIterator::concat)
+                                .orElse(Collections.emptyIterator());
         }
 
         return queryEdgesFromBackendInternal(query);
@@ -1640,7 +1642,8 @@ public class GraphTransaction extends 
IndexableTransaction {
              */
             boolean byLabel = (label != null && query.conditionsSize() == 1);
             if (!byLabel || this.store().features().supportsQueryByLabel()) {
-                if (this.storeFeatures().supportsFatherAndSubEdgeLabel() && 
byLabel && query.resultType().isEdge()) {
+                if (this.storeFeatures().supportsFatherAndSubEdgeLabel() && 
byLabel &&
+                    query.resultType().isEdge()) {
                     // for memory backend
                     EdgeLabel edgeLabel = graph().edgeLabel(label);
                     if (edgeLabel.hasFather()) {
diff --git 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/SchemaTransactionV2.java
 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/SchemaTransactionV2.java
index 903bfade6..d24e2767d 100644
--- 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/SchemaTransactionV2.java
+++ 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/tx/SchemaTransactionV2.java
@@ -626,7 +626,8 @@ public class SchemaTransactionV2 implements 
ISchemaTransaction {
         return asyncRun(this.graph(), propertyKey, job);
     }
 
-    // -- store related methods, divided into two categories: 1. olap table 
related 2. ID generation strategy
+    // -- store related methods, divided into two categories:
+    // 1. olap table related 2. ID generation strategy
     // - 1. olap table related
     public void createOlapPk(Id id) {
         this.graphParams().loadGraphStore().createOlapTable(id);
diff --git 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/BetweennessCentralityAlgorithmV2.java
 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/BetweennessCentralityAlgorithmV2.java
index bc4c3ae37..ca99fddf8 100644
--- 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/BetweennessCentralityAlgorithmV2.java
+++ 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/algorithm/cent/BetweennessCentralityAlgorithmV2.java
@@ -26,7 +26,6 @@ import org.apache.hugegraph.backend.id.Id;
 import org.apache.hugegraph.backend.query.Query;
 import org.apache.hugegraph.job.UserJob;
 import org.apache.hugegraph.job.algorithm.BfsTraverser;
-import org.apache.hugegraph.schema.SchemaLabel;
 import org.apache.hugegraph.structure.HugeVertex;
 import org.apache.hugegraph.traversal.algorithm.HugeTraverser;
 import org.apache.hugegraph.type.define.Directions;
diff --git 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/EdgeLabelRemoveJob.java
 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/EdgeLabelRemoveJob.java
index e8d3461e3..7e100c1f7 100644
--- 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/EdgeLabelRemoveJob.java
+++ 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/EdgeLabelRemoveJob.java
@@ -23,7 +23,6 @@ import org.apache.hugegraph.HugeGraphParams;
 import org.apache.hugegraph.backend.id.Id;
 import org.apache.hugegraph.backend.tx.GraphTransaction;
 import org.apache.hugegraph.backend.tx.ISchemaTransaction;
-import org.apache.hugegraph.backend.tx.SchemaTransaction;
 import org.apache.hugegraph.schema.EdgeLabel;
 import org.apache.hugegraph.type.define.SchemaStatus;
 import org.apache.hugegraph.util.LockUtil;
diff --git 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/IndexLabelRebuildJob.java
 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/IndexLabelRebuildJob.java
index 5e4acf92e..c44b60e1a 100644
--- 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/IndexLabelRebuildJob.java
+++ 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/IndexLabelRebuildJob.java
@@ -25,7 +25,6 @@ import java.util.stream.Collectors;
 import org.apache.hugegraph.backend.id.Id;
 import org.apache.hugegraph.backend.tx.GraphTransaction;
 import org.apache.hugegraph.backend.tx.ISchemaTransaction;
-import org.apache.hugegraph.backend.tx.SchemaTransaction;
 import org.apache.hugegraph.schema.EdgeLabel;
 import org.apache.hugegraph.schema.IndexLabel;
 import org.apache.hugegraph.schema.SchemaElement;
diff --git 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/IndexLabelRemoveJob.java
 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/IndexLabelRemoveJob.java
index b87978d8b..1dad57dd3 100644
--- 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/IndexLabelRemoveJob.java
+++ 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/IndexLabelRemoveJob.java
@@ -21,7 +21,6 @@ import org.apache.hugegraph.HugeGraphParams;
 import org.apache.hugegraph.backend.id.Id;
 import org.apache.hugegraph.backend.tx.GraphTransaction;
 import org.apache.hugegraph.backend.tx.ISchemaTransaction;
-import org.apache.hugegraph.backend.tx.SchemaTransaction;
 import org.apache.hugegraph.schema.IndexLabel;
 import org.apache.hugegraph.type.define.SchemaStatus;
 import org.apache.hugegraph.util.LockUtil;
diff --git 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/OlapPropertyKeyClearJob.java
 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/OlapPropertyKeyClearJob.java
index 155a6b8bf..d6e0666bf 100644
--- 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/OlapPropertyKeyClearJob.java
+++ 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/OlapPropertyKeyClearJob.java
@@ -21,7 +21,6 @@ import org.apache.hugegraph.HugeGraphParams;
 import org.apache.hugegraph.backend.id.Id;
 import org.apache.hugegraph.backend.tx.GraphTransaction;
 import org.apache.hugegraph.backend.tx.ISchemaTransaction;
-import org.apache.hugegraph.backend.tx.SchemaTransaction;
 import org.apache.hugegraph.schema.IndexLabel;
 import org.apache.hugegraph.type.define.SchemaStatus;
 import org.apache.hugegraph.util.LockUtil;
diff --git 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/OlapPropertyKeyCreateJob.java
 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/OlapPropertyKeyCreateJob.java
index 272ebbc3e..483b9106f 100644
--- 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/OlapPropertyKeyCreateJob.java
+++ 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/OlapPropertyKeyCreateJob.java
@@ -18,7 +18,6 @@
 package org.apache.hugegraph.job.schema;
 
 import org.apache.hugegraph.backend.tx.ISchemaTransaction;
-import org.apache.hugegraph.backend.tx.SchemaTransaction;
 import org.apache.hugegraph.schema.PropertyKey;
 
 public class OlapPropertyKeyCreateJob extends SchemaJob {
diff --git 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/OlapPropertyKeyRemoveJob.java
 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/OlapPropertyKeyRemoveJob.java
index 200ef51c3..e6f5f20e0 100644
--- 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/OlapPropertyKeyRemoveJob.java
+++ 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/OlapPropertyKeyRemoveJob.java
@@ -19,7 +19,6 @@ package org.apache.hugegraph.job.schema;
 
 import org.apache.hugegraph.backend.id.Id;
 import org.apache.hugegraph.backend.tx.ISchemaTransaction;
-import org.apache.hugegraph.backend.tx.SchemaTransaction;
 import org.apache.hugegraph.schema.PropertyKey;
 
 public class OlapPropertyKeyRemoveJob extends OlapPropertyKeyClearJob {
diff --git 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/VertexLabelRemoveJob.java
 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/VertexLabelRemoveJob.java
index 86c059e8f..204d3f5a5 100644
--- 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/VertexLabelRemoveJob.java
+++ 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/job/schema/VertexLabelRemoveJob.java
@@ -25,7 +25,6 @@ import org.apache.hugegraph.HugeGraphParams;
 import org.apache.hugegraph.backend.id.Id;
 import org.apache.hugegraph.backend.tx.GraphTransaction;
 import org.apache.hugegraph.backend.tx.ISchemaTransaction;
-import org.apache.hugegraph.backend.tx.SchemaTransaction;
 import org.apache.hugegraph.schema.EdgeLabel;
 import org.apache.hugegraph.schema.VertexLabel;
 import org.apache.hugegraph.type.define.SchemaStatus;
diff --git 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/GlobalMasterInfo.java
 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/GlobalMasterInfo.java
index 8a36513cd..c345c50e6 100644
--- 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/GlobalMasterInfo.java
+++ 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/masterelection/GlobalMasterInfo.java
@@ -25,7 +25,7 @@ import org.apache.hugegraph.util.E;
 // TODO: rename to GlobalNodeRoleInfo
 public final class GlobalMasterInfo {
 
-    private final static NodeInfo NO_MASTER = new NodeInfo(false, "");
+    private static final NodeInfo NO_MASTER = new NodeInfo(false, "");
 
     private volatile boolean supportElection;
     private volatile NodeInfo masterNodeInfo;
diff --git 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/meta/MetaDriver.java
 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/meta/MetaDriver.java
index 2d0936498..1409adb47 100644
--- 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/meta/MetaDriver.java
+++ 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/meta/MetaDriver.java
@@ -25,21 +25,21 @@ import org.apache.hugegraph.meta.lock.LockResult;
 
 public interface MetaDriver {
 
-    public void put(String key, String value);
+    void put(String key, String value);
 
-    public String get(String key);
+    String get(String key);
 
-    public void delete(String key);
+    void delete(String key);
 
-    public void deleteWithPrefix(String prefix);
+    void deleteWithPrefix(String prefix);
 
-    public Map<String, String> scanWithPrefix(String prefix);
+    Map<String, String> scanWithPrefix(String prefix);
 
-    public <T> void listen(String key, Consumer<T> consumer);
+    <T> void listen(String key, Consumer<T> consumer);
 
-    public <T> void listenPrefix(String prefix, Consumer<T> consumer);
+    <T> void listenPrefix(String prefix, Consumer<T> consumer);
 
-    public <T> List<String> extractValuesFromResponse(T response);
+    <T> List<String> extractValuesFromResponse(T response);
 
     /**
      * Extract K-V pairs of response
@@ -48,9 +48,9 @@ public interface MetaDriver {
      * @param response
      * @return
      */
-    public <T> Map<String, String> extractKVFromResponse(T response);
+    <T> Map<String, String> extractKVFromResponse(T response);
 
-    public LockResult tryLock(String key, long ttl, long timeout);
+    LockResult tryLock(String key, long ttl, long timeout);
 
     /**
      * return if the key is Locked.
@@ -58,9 +58,9 @@ public interface MetaDriver {
      * @param key
      * @return bool
      */
-    public boolean isLocked(String key);
+    boolean isLocked(String key);
 
-    public void unlock(String key, LockResult lockResult);
+    void unlock(String key, LockResult lockResult);
 
     /**
      * keepAlive of current lease
@@ -69,5 +69,5 @@ public interface MetaDriver {
      * @param lease
      * @return next leaseId
      */
-    public long keepAlive(String key, long lease);
+    long keepAlive(String key, long lease);
 }
diff --git 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/meta/lock/EtcdDistributedLock.java
 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/meta/lock/EtcdDistributedLock.java
index 3e9a83058..390ab9ea2 100644
--- 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/meta/lock/EtcdDistributedLock.java
+++ 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/meta/lock/EtcdDistributedLock.java
@@ -44,11 +44,12 @@ public class EtcdDistributedLock {
     private final Lease leaseClient;
 
     private static final int poolSize = 8;
-    private final ScheduledExecutorService service = new 
ScheduledThreadPoolExecutor(poolSize, r -> {
-        Thread t = new Thread(r, "keepalive");
-        t.setDaemon(true);
-        return t;
-    });
+    private final ScheduledExecutorService service =
+            new ScheduledThreadPoolExecutor(poolSize, r -> {
+                Thread t = new Thread(r, "keepalive");
+                t.setDaemon(true);
+                return t;
+            });
 
     private EtcdDistributedLock(Client client) {
         this.kvClient = client.getKVClient();
diff --git 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/PropertyKeyBuilder.java
 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/PropertyKeyBuilder.java
index 6ce6ddd84..a50b426d1 100644
--- 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/PropertyKeyBuilder.java
+++ 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/PropertyKeyBuilder.java
@@ -25,7 +25,6 @@ import org.apache.hugegraph.HugeGraph;
 import org.apache.hugegraph.backend.id.Id;
 import org.apache.hugegraph.backend.id.IdGenerator;
 import org.apache.hugegraph.backend.tx.ISchemaTransaction;
-import org.apache.hugegraph.backend.tx.SchemaTransaction;
 import org.apache.hugegraph.config.CoreOptions;
 import org.apache.hugegraph.exception.ExistedException;
 import org.apache.hugegraph.exception.NotAllowException;
@@ -42,17 +41,16 @@ import org.apache.hugegraph.type.define.DataType;
 import org.apache.hugegraph.type.define.WriteType;
 import org.apache.hugegraph.util.E;
 
-public class PropertyKeyBuilder extends AbstractBuilder
-        implements PropertyKey.Builder {
+public class PropertyKeyBuilder extends AbstractBuilder implements 
PropertyKey.Builder {
 
     private Id id;
-    private String name;
+    private final String name;
     private DataType dataType;
     private Cardinality cardinality;
     private AggregateType aggregateType;
     private WriteType writeType;
     private boolean checkExist;
-    private Userdata userdata;
+    private final Userdata userdata;
 
     public PropertyKeyBuilder(ISchemaTransaction transaction,
                               HugeGraph graph, String name) {
diff --git 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/VertexLabelBuilder.java
 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/VertexLabelBuilder.java
index dfd56565d..53b6cabdd 100644
--- 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/VertexLabelBuilder.java
+++ 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/schema/builder/VertexLabelBuilder.java
@@ -30,7 +30,6 @@ import org.apache.hugegraph.HugeGraph;
 import org.apache.hugegraph.backend.id.Id;
 import org.apache.hugegraph.backend.id.IdGenerator;
 import org.apache.hugegraph.backend.tx.ISchemaTransaction;
-import org.apache.hugegraph.backend.tx.SchemaTransaction;
 import org.apache.hugegraph.exception.ExistedException;
 import org.apache.hugegraph.exception.NotAllowException;
 import org.apache.hugegraph.exception.NotFoundException;
@@ -45,19 +44,18 @@ import org.apache.hugegraph.util.E;
 
 import com.google.common.collect.ImmutableList;
 
-public class VertexLabelBuilder extends AbstractBuilder
-        implements VertexLabel.Builder {
+public class VertexLabelBuilder extends AbstractBuilder implements 
VertexLabel.Builder {
 
     private Id id;
-    private String name;
+    private final String name;
     private IdStrategy idStrategy;
-    private Set<String> properties;
-    private List<String> primaryKeys;
-    private Set<String> nullableKeys;
+    private final Set<String> properties;
+    private final List<String> primaryKeys;
+    private final Set<String> nullableKeys;
     private long ttl;
     private String ttlStartTime;
     private Boolean enableLabelIndex;
-    private Userdata userdata;
+    private final Userdata userdata;
     private boolean checkExist;
 
     public VertexLabelBuilder(ISchemaTransaction transaction,
@@ -559,7 +557,7 @@ public class VertexLabelBuilder extends AbstractBuilder
         if (this.ttlStartTime == null) {
             return;
         }
-        // Check whether the properties contains the specified keys
+        // Check whether the properties contain the specified keys
         E.checkArgument(!this.properties.isEmpty(),
                         "The properties can't be empty when exist " +
                         "ttl start time for edge label '%s'", this.name);
diff --git 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/space/GraphSpace.java
 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/space/GraphSpace.java
index 047bd65f5..1ed255001 100644
--- 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/space/GraphSpace.java
+++ 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/space/GraphSpace.java
@@ -66,7 +66,6 @@ public class GraphSpace {
     private Date createTime;
     private Date updateTime;
 
-
     public GraphSpace(String name) {
         E.checkArgument(name != null && !StringUtils.isEmpty(name),
                         "The name of graph space can't be null or empty");
diff --git 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeIndex.java
 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeIndex.java
index fa442e129..6e7691393 100644
--- 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeIndex.java
+++ 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/structure/HugeIndex.java
@@ -255,7 +255,8 @@ public class HugeIndex implements GraphType, Cloneable {
                          "Invalid range index field type");
             Class<?> clazz = dataType.isNumber() ?
                              dataType.clazz() : DataType.LONG.clazz();
-            values = bytes2number(buffer.read(id.length - labelLength - 
HUGE_TYPE_CODE_LENGTH), clazz);
+            values = bytes2number(buffer.read(id.length - labelLength - 
HUGE_TYPE_CODE_LENGTH),
+                                  clazz);
         }
         HugeIndex index = new HugeIndex(graph, indexLabel);
         index.fieldValues(values);
diff --git 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/HugeTaskResult.java
 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/HugeTaskResult.java
index 24fc186cd..1c47ee9da 100644
--- 
a/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/HugeTaskResult.java
+++ 
b/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/task/HugeTaskResult.java
@@ -21,13 +21,7 @@ import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.hugegraph.HugeGraph;
 import org.apache.hugegraph.backend.id.Id;
-import org.apache.hugegraph.schema.PropertyKey;
-import org.apache.hugegraph.schema.SchemaManager;
-import org.apache.hugegraph.schema.VertexLabel;
-import org.apache.hugegraph.type.define.Cardinality;
-import org.apache.hugegraph.type.define.DataType;
 import org.apache.hugegraph.util.Blob;
 import org.apache.hugegraph.util.E;
 import org.apache.hugegraph.util.Log;
diff --git 
a/hugegraph-server/hugegraph-dist/src/assembly/static/conf/rest-server.properties
 
b/hugegraph-server/hugegraph-dist/src/assembly/static/conf/rest-server.properties
index 9d6bb2ca8..25b7644f7 100644
--- 
a/hugegraph-server/hugegraph-dist/src/assembly/static/conf/rest-server.properties
+++ 
b/hugegraph-server/hugegraph-dist/src/assembly/static/conf/rest-server.properties
@@ -31,9 +31,10 @@ arthas.disabled_commands=jad
 #auth.admin_token=
 #auth.user_tokens=[]
 
+# TODO: Deprecated & removed later (useless from version 1.5.0)
 # rpc server configs for multi graph-servers or raft-servers
-rpc.server_host=127.0.0.1
-rpc.server_port=8091
+#rpc.server_host=127.0.0.1
+#rpc.server_port=8091
 #rpc.server_timeout=30
 
 # rpc client configs (like enable to keep cache consistency)


Reply via email to