diff --git a/hugegraph-api/src/main/java/com/baidu/hugegraph/config/ServerOptions.java b/hugegraph-api/src/main/java/com/baidu/hugegraph/config/ServerOptions.java index a384e24d7c..8050e399f3 100644 --- a/hugegraph-api/src/main/java/com/baidu/hugegraph/config/ServerOptions.java +++ b/hugegraph-api/src/main/java/com/baidu/hugegraph/config/ServerOptions.java @@ -250,22 +250,39 @@ public static synchronized ServerOptions instance() { "0.0.0.0" ); - public static final ConfigOption RPC_CLIENT_CONNECTION_TIMEOUT = + public static final ConfigOption RPC_SERVER_TIMEOUT = + new ConfigOption<>( + "rpc.server_timeout", + "The timeout(in seconds) of rpc server execution.", + rangeInt(1, Integer.MAX_VALUE), + 30 + ); + + public static final ConfigOption CLIENT_CONNECTION_TIMEOUT = new ConfigOption<>( "rpc.client_connection_timeout", "The timeout(in seconds) of rpc client connect to rpc " + "server.", rangeInt(1, Integer.MAX_VALUE), - 8000 + 20 + ); + + public static final ConfigOption CLIENT_RECONNECTION_TIMEOUT = + new ConfigOption<>( + "rpc.client_reconnection_timeout", + "The timeout(in seconds) of rpc client reconnect to rpc " + + "server.", + rangeInt(1, Integer.MAX_VALUE), + 20 ); - public static final ConfigOption RPC_CLIENT_READ_TIMEOUT = + public static final ConfigOption CLIENT_READ_TIMEOUT = new ConfigOption<>( "rpc.client_read_timeout", "The timeout(in seconds) of rpc client read from rpc " + "server.", rangeInt(1, Integer.MAX_VALUE), - 8000 + 40 ); public static final ConfigOption RPC_CLIENT_RETRIES = diff --git a/hugegraph-api/src/main/java/com/baidu/hugegraph/rpc/RpcConsumerConfig.java b/hugegraph-api/src/main/java/com/baidu/hugegraph/rpc/RpcConsumerConfig.java index b32c38d8f8..91c0573b26 100644 --- a/hugegraph-api/src/main/java/com/baidu/hugegraph/rpc/RpcConsumerConfig.java +++ b/hugegraph-api/src/main/java/com/baidu/hugegraph/rpc/RpcConsumerConfig.java @@ -35,9 +35,11 @@ public void addConsumerConfig(Class clazz, HugeConfig conf) { .setInterfaceId(clazz.getName()) .setProtocol(conf.get(ServerOptions.RPC_PROTOCOL)) .setDirectUrl(conf.get(ServerOptions.AUTH_REMOTE_URL)) - .setTimeout(conf.get(ServerOptions.RPC_CLIENT_READ_TIMEOUT)) + .setTimeout(conf.get(ServerOptions.CLIENT_READ_TIMEOUT)*1000) .setConnectTimeout(conf.get( - ServerOptions.RPC_CLIENT_CONNECTION_TIMEOUT)) + ServerOptions.CLIENT_CONNECTION_TIMEOUT)*1000) + .setReconnectPeriod(conf.get( + ServerOptions.CLIENT_RECONNECTION_TIMEOUT) *1000) .setRetries(conf.get(ServerOptions.RPC_CLIENT_RETRIES)) .setLoadBalancer(conf.get( ServerOptions.RPC_CLIENT_LOAD_BALANCER)); diff --git a/hugegraph-api/src/main/java/com/baidu/hugegraph/rpc/SofaRpcServer.java b/hugegraph-api/src/main/java/com/baidu/hugegraph/rpc/SofaRpcServer.java index 0496ff8a5d..7fbc43bfce 100644 --- a/hugegraph-api/src/main/java/com/baidu/hugegraph/rpc/SofaRpcServer.java +++ b/hugegraph-api/src/main/java/com/baidu/hugegraph/rpc/SofaRpcServer.java @@ -35,6 +35,7 @@ public class SofaRpcServer { private Map providerConfigs; private ServerConfig serverConfig; + private final int rpcServerTimeout; static { if (RpcConfigs.getOrDefaultValue(RpcOptions.JVM_SHUTDOWN_HOOK, true)) { @@ -54,6 +55,7 @@ public SofaRpcServer(HugeConfig conf, RpcProviderConfig providerConfig) { .setHost(conf.get(ServerOptions.RPC_SERVER_HOST)) .setDaemon(false); this.providerConfigs = providerConfig.providerConfigs(); + this.rpcServerTimeout = conf.get(ServerOptions.RPC_SERVER_TIMEOUT)*1000; } public void exportAll() { @@ -63,6 +65,7 @@ public void exportAll() { } for (ProviderConfig providerConfig : this.providerConfigs.values()) { providerConfig.setServer(this.serverConfig); + providerConfig.setTimeout(this.rpcServerTimeout); providerConfig.export(); } } diff --git a/hugegraph-dist/src/assembly/static/conf/rest-server.properties b/hugegraph-dist/src/assembly/static/conf/rest-server.properties index f028082ea4..b0b5a018c0 100644 --- a/hugegraph-dist/src/assembly/static/conf/rest-server.properties +++ b/hugegraph-dist/src/assembly/static/conf/rest-server.properties @@ -17,8 +17,10 @@ server.role=master #auth.remote_url=10.103.168.25:8899,10.103.168.25:8898,10.103.168.25:8897 rpc.server_port=8899 rpc.server_host=127.0.0.1 -rpc.client_connection_timeout=8000 -rpc.client_read_timeout=8000 +rpc.server_timeout=30 +rpc.client_connection_timeout=20 +rpc.client_reconnection_timeout=20 +rpc.client_read_timeout=40 rpc.client_retries=3 rpc.client_load_balancer=consistentHash rpc.protocol=bolt