Skip to content

Commit 6653f4b

Browse files
committed
HDDS-19. Update ozone to latest ratis snapshot build (0.1.1-alpha-d7d7061-SNAPSHOT). Contributed by Lokesh Jain.
1 parent 960940e commit 6653f4b

File tree

5 files changed

+69
-10
lines changed

5 files changed

+69
-10
lines changed

hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/ScmConfigKeys.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919

2020
import org.apache.hadoop.classification.InterfaceAudience;
2121
import org.apache.hadoop.classification.InterfaceStability;
22+
import org.apache.ratis.util.TimeDuration;
23+
24+
import java.util.concurrent.TimeUnit;
2225

2326
/**
2427
* This class contains constants for configuration keys used in SCM.
@@ -62,6 +65,16 @@ public final class ScmConfigKeys {
6265
"dfs.container.ratis.segment.preallocated.size";
6366
public static final int
6467
DFS_CONTAINER_RATIS_SEGMENT_PREALLOCATED_SIZE_DEFAULT = 128 * 1024 * 1024;
68+
public static final String DFS_RATIS_CLIENT_REQUEST_TIMEOUT_DURATION_KEY =
69+
"dfs.ratis.client.request.timeout.duration";
70+
public static final TimeDuration
71+
DFS_RATIS_CLIENT_REQUEST_TIMEOUT_DURATION_DEFAULT =
72+
TimeDuration.valueOf(3000, TimeUnit.MILLISECONDS);
73+
public static final String DFS_RATIS_SERVER_REQUEST_TIMEOUT_DURATION_KEY =
74+
"dfs.ratis.server.request.timeout.duration";
75+
public static final TimeDuration
76+
DFS_RATIS_SERVER_REQUEST_TIMEOUT_DURATION_DEFAULT =
77+
TimeDuration.valueOf(3000, TimeUnit.MILLISECONDS);
6578

6679
// TODO : this is copied from OzoneConsts, may need to move to a better place
6780
public static final String OZONE_SCM_CHUNK_SIZE_KEY = "ozone.scm.chunk.size";

hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneConfigKeys.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.apache.hadoop.hdds.client.ReplicationFactor;
2424
import org.apache.hadoop.hdds.client.ReplicationType;
2525
import org.apache.hadoop.hdds.scm.ScmConfigKeys;
26+
import org.apache.ratis.util.TimeDuration;
2627

2728
/**
2829
* This class contains constants for configuration keys used in Ozone.
@@ -226,6 +227,16 @@ public final class OzoneConfigKeys {
226227
= ScmConfigKeys.OZONE_SCM_CHUNK_MAX_SIZE;
227228
public static final String DFS_CONTAINER_RATIS_DATANODE_STORAGE_DIR =
228229
"dfs.container.ratis.datanode.storage.dir";
230+
public static final String DFS_RATIS_CLIENT_REQUEST_TIMEOUT_DURATION_KEY =
231+
ScmConfigKeys.DFS_RATIS_CLIENT_REQUEST_TIMEOUT_DURATION_KEY;
232+
public static final TimeDuration
233+
DFS_RATIS_CLIENT_REQUEST_TIMEOUT_DURATION_DEFAULT =
234+
ScmConfigKeys.DFS_RATIS_CLIENT_REQUEST_TIMEOUT_DURATION_DEFAULT;
235+
public static final String DFS_RATIS_SERVER_REQUEST_TIMEOUT_DURATION_KEY =
236+
ScmConfigKeys.DFS_RATIS_SERVER_REQUEST_TIMEOUT_DURATION_KEY;
237+
public static final TimeDuration
238+
DFS_RATIS_SERVER_REQUEST_TIMEOUT_DURATION_DEFAULT =
239+
ScmConfigKeys.DFS_RATIS_SERVER_REQUEST_TIMEOUT_DURATION_DEFAULT;
229240

230241
public static final String OZONE_SCM_WEB_AUTHENTICATION_KERBEROS_PRINCIPAL =
231242
"ozone.web.authentication.kerberos.principal";

hadoop-hdds/common/src/main/resources/ozone-default.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,18 @@
119119
used by Apache Ratis on datanodes.(128 MB by default)
120120
</description>
121121
</property>
122+
<property>
123+
<name>dfs.ratis.client.request.timeout.duration</name>
124+
<value>3s</value>
125+
<tag>OZONE, RATIS, MANAGEMENT</tag>
126+
<description>The timeout duration for ratis client request.</description>
127+
</property>
128+
<property>
129+
<name>dfs.ratis.server.request.timeout.duration</name>
130+
<value>3s</value>
131+
<tag>OZONE, RATIS, MANAGEMENT</tag>
132+
<description>The timeout duration for ratis server request.</description>
133+
</property>
122134
<property>
123135
<name>ozone.container.report.interval</name>
124136
<value>60000ms</value>

hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/transport/server/ratis/XceiverServerRatis.java

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
.XceiverServerSpi;
3030
import org.apache.ratis.RaftConfigKeys;
3131
import org.apache.ratis.RatisHelper;
32+
import org.apache.ratis.client.RaftClientConfigKeys;
3233
import org.apache.ratis.conf.RaftProperties;
3334
import org.apache.ratis.grpc.GrpcConfigKeys;
3435
import org.apache.ratis.netty.NettyConfigKeys;
@@ -78,11 +79,31 @@ private XceiverServerRatis(DatanodeDetails dd, int port, String storageDir,
7879
final int numWriteChunkThreads = conf.getInt(
7980
OzoneConfigKeys.DFS_CONTAINER_RATIS_NUM_WRITE_CHUNK_THREADS_KEY,
8081
OzoneConfigKeys.DFS_CONTAINER_RATIS_NUM_WRITE_CHUNK_THREADS_DEFAULT);
82+
TimeUnit timeUnit =
83+
OzoneConfigKeys.DFS_RATIS_CLIENT_REQUEST_TIMEOUT_DURATION_DEFAULT
84+
.getUnit();
85+
long duration = conf.getTimeDuration(
86+
OzoneConfigKeys.DFS_RATIS_CLIENT_REQUEST_TIMEOUT_DURATION_KEY,
87+
OzoneConfigKeys.DFS_RATIS_CLIENT_REQUEST_TIMEOUT_DURATION_DEFAULT
88+
.getDuration(), timeUnit);
89+
final TimeDuration clientRequestTimeout =
90+
TimeDuration.valueOf(duration, timeUnit);
91+
timeUnit = OzoneConfigKeys.DFS_RATIS_SERVER_REQUEST_TIMEOUT_DURATION_DEFAULT
92+
.getUnit();
93+
duration = conf.getTimeDuration(
94+
OzoneConfigKeys.DFS_RATIS_SERVER_REQUEST_TIMEOUT_DURATION_KEY,
95+
OzoneConfigKeys.DFS_RATIS_SERVER_REQUEST_TIMEOUT_DURATION_DEFAULT
96+
.getDuration(), timeUnit);
97+
final TimeDuration serverRequestTimeout =
98+
TimeDuration.valueOf(duration, timeUnit);
8199

82100
Objects.requireNonNull(dd, "id == null");
83101
this.port = port;
84-
RaftProperties serverProperties = newRaftProperties(rpc, port,
85-
storageDir, maxChunkSize, raftSegmentSize, raftSegmentPreallocatedSize);
102+
RaftProperties serverProperties =
103+
newRaftProperties(rpc, port, storageDir, maxChunkSize, raftSegmentSize,
104+
raftSegmentPreallocatedSize);
105+
setRequestTimeout(serverProperties, clientRequestTimeout,
106+
serverRequestTimeout);
86107

87108
writeChunkExecutor =
88109
new ThreadPoolExecutor(numWriteChunkThreads, numWriteChunkThreads,
@@ -99,6 +120,14 @@ private XceiverServerRatis(DatanodeDetails dd, int port, String storageDir,
99120
.build();
100121
}
101122

123+
private static void setRequestTimeout(RaftProperties serverProperties,
124+
TimeDuration clientRequestTimeout, TimeDuration serverRequestTimeout) {
125+
RaftClientConfigKeys.Rpc
126+
.setRequestTimeout(serverProperties, clientRequestTimeout);
127+
RaftServerConfigKeys.Rpc
128+
.setRequestTimeout(serverProperties, serverRequestTimeout);
129+
}
130+
102131
private static RaftProperties newRaftProperties(
103132
RpcType rpc, int port, String storageDir, int scmChunkSize,
104133
int raftSegmentSize, int raftSegmentPreallocatedSize) {

hadoop-project/pom.xml

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@
9797
<ldap-api.version>1.0.0-M33</ldap-api.version>
9898

9999
<!-- Apache Ratis version -->
100-
<ratis.version>0.1.1-alpha-8fd74ed-SNAPSHOT</ratis.version>
100+
<ratis.version>0.1.1-alpha-d7d7061-SNAPSHOT</ratis.version>
101101
<jcache.version>1.0-alpha-1</jcache.version>
102102
<ehcache.version>3.3.1</ehcache.version>
103103
<hikari.version>2.4.12</hikari.version>
@@ -106,7 +106,7 @@
106106

107107
<!-- Maven protoc compiler -->
108108
<protobuf-maven-plugin.version>0.5.1</protobuf-maven-plugin.version>
109-
<protobuf-compile.version>3.1.0</protobuf-compile.version>
109+
<protobuf-compile.version>3.5.0</protobuf-compile.version>
110110
<os-maven-plugin.version>1.5.0.Final</os-maven-plugin.version>
111111

112112
<!-- define the Java language version used by the compiler -->
@@ -880,12 +880,6 @@
880880
</exclusions>
881881
</dependency>
882882

883-
<dependency>
884-
<groupId>org.jctools</groupId>
885-
<artifactId>jctools-core</artifactId>
886-
<version>1.2.1</version>
887-
</dependency>
888-
889883
<dependency>
890884
<groupId>org.apache.ratis</groupId>
891885
<artifactId>ratis-proto-shaded</artifactId>

0 commit comments

Comments
 (0)