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