diff --git a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneConfigKeys.java b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneConfigKeys.java
index b0560daa9a47..8be7c507593a 100644
--- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneConfigKeys.java
+++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneConfigKeys.java
@@ -484,7 +484,7 @@ public final class OzoneConfigKeys {
public static final String OZONE_NETWORK_TOPOLOGY_AWARE_READ_KEY =
"ozone.network.topology.aware.read";
- public static final boolean OZONE_NETWORK_TOPOLOGY_AWARE_READ_DEFAULT = false;
+ public static final boolean OZONE_NETWORK_TOPOLOGY_AWARE_READ_DEFAULT = true;
public static final String OZONE_MANAGER_FAIR_LOCK = "ozone.om.lock.fair";
public static final boolean OZONE_MANAGER_FAIR_LOCK_DEFAULT = false;
diff --git a/hadoop-hdds/common/src/main/resources/ozone-default.xml b/hadoop-hdds/common/src/main/resources/ozone-default.xml
index a5b8a905dafa..84f4f253cbd4 100644
--- a/hadoop-hdds/common/src/main/resources/ozone-default.xml
+++ b/hadoop-hdds/common/src/main/resources/ozone-default.xml
@@ -870,7 +870,7 @@
ozone.scm.container.placement.impl
- org.apache.hadoop.hdds.scm.container.placement.algorithms.SCMContainerPlacementRandom
+ org.apache.hadoop.hdds.scm.container.placement.algorithms.SCMContainerPlacementRackAware
OZONE, MANAGEMENT
The full name of class which implements
@@ -2753,7 +2753,7 @@
ozone.network.topology.aware.read
- false
+ true
OZONE, PERFORMANCE
Whether to enable topology aware read to improve the read performance.
diff --git a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/placement/algorithms/TestContainerPlacementFactory.java b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/placement/algorithms/TestContainerPlacementFactory.java
index 5d17f1389a3e..31016f017c04 100644
--- a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/placement/algorithms/TestContainerPlacementFactory.java
+++ b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/placement/algorithms/TestContainerPlacementFactory.java
@@ -163,10 +163,13 @@ public void testRackAwarePolicy() throws IOException {
}
@Test
- public void testDefaultPolicy() throws IOException {
+ public void testRackAwareContainerPolicy() throws IOException {
+ conf.set(ScmConfigKeys.OZONE_SCM_CONTAINER_PLACEMENT_IMPL_KEY,
+ SCMContainerPlacementRackAware.class.getName());
PlacementPolicy policy = ContainerPlacementPolicyFactory
.getPolicy(conf, null, null, true, null);
- Assertions.assertSame(SCMContainerPlacementRandom.class, policy.getClass());
+ Assertions.assertSame(SCMContainerPlacementRackAware.class,
+ policy.getClass());
}
@Test
diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/scm/TestXceiverClientGrpc.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/scm/TestXceiverClientGrpc.java
index baa7a49e2904..ae156be8a482 100644
--- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/scm/TestXceiverClientGrpc.java
+++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/scm/TestXceiverClientGrpc.java
@@ -87,6 +87,8 @@ public void testCorrectDnsReturnedFromPipeline() throws IOException {
@Timeout(5)
public void testRandomFirstNodeIsCommandTarget() throws IOException {
final ArrayList allDNs = new ArrayList<>(dns);
+ conf.setBoolean(
+ OzoneConfigKeys.OZONE_NETWORK_TOPOLOGY_AWARE_READ_KEY, false);
// Using a new Xceiver Client, call it repeatedly until all DNs in the
// pipeline have been the target of the command, indicating it is shuffling
// the DNs on each call with a new client. This test will timeout if this