From dea6f2a065271d2e37eda05bbcb98fb1bb5ed2a6 Mon Sep 17 00:00:00 2001 From: Xiaoyu Yao Date: Fri, 22 Mar 2019 15:08:28 -0700 Subject: [PATCH] HDDS-1291. Set OmKeyArgs#refreshPipeline flag properly to avoid reading from stale pipeline. Contributed by Xiaoyu Yao. (#639) --- .../org/apache/hadoop/ozone/client/rpc/RpcClient.java | 2 ++ .../hadoop/ozone/TestStorageContainerManagerHelper.java | 1 + .../org/apache/hadoop/ozone/client/rpc/TestBCSID.java | 1 + .../client/rpc/TestCloseContainerHandlingByClient.java | 7 +++++++ .../ozone/client/rpc/TestFailureHandlingByClient.java | 7 +++++++ .../ozone/client/rpc/TestOzoneAtRestEncryption.java | 1 + .../ozone/client/rpc/TestOzoneRpcClientAbstract.java | 5 +++-- .../apache/hadoop/ozone/client/rpc/TestReadRetries.java | 2 +- .../hadoop/ozone/client/rpc/TestSecureOzoneRpcClient.java | 1 + .../statemachine/commandhandler/TestBlockDeletion.java | 4 +++- .../commandhandler/TestCloseContainerByPipeline.java | 8 +++++--- .../commandhandler/TestCloseContainerHandler.java | 4 +++- .../commandhandler/TestDeleteContainerHandler.java | 4 +++- .../hadoop/ozone/om/TestContainerReportWithKeys.java | 1 + .../org/apache/hadoop/ozone/om/TestOmBlockVersioning.java | 2 ++ .../ozone/web/storage/DistributedStorageHandler.java | 3 +++ .../ozone/protocolPB/OzoneManagerRequestHandler.java | 2 ++ 17 files changed, 46 insertions(+), 9 deletions(-) diff --git a/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/rpc/RpcClient.java b/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/rpc/RpcClient.java index d8fa468d4fe..5bc6d157671 100644 --- a/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/rpc/RpcClient.java +++ b/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/rpc/RpcClient.java @@ -664,6 +664,7 @@ public class RpcClient implements ClientProtocol { .setVolumeName(volumeName) .setBucketName(bucketName) .setKeyName(keyName) + .setRefreshPipeline(true) .build(); OmKeyInfo keyInfo = ozoneManagerClient.lookupKey(keyArgs); LengthInputStream lengthInputStream = @@ -739,6 +740,7 @@ public class RpcClient implements ClientProtocol { .setVolumeName(volumeName) .setBucketName(bucketName) .setKeyName(keyName) + .setRefreshPipeline(true) .build(); OmKeyInfo keyInfo = ozoneManagerClient.lookupKey(keyArgs); diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestStorageContainerManagerHelper.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestStorageContainerManagerHelper.java index c52490fed40..5b551199a42 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestStorageContainerManagerHelper.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/TestStorageContainerManagerHelper.java @@ -107,6 +107,7 @@ public class TestStorageContainerManagerHelper { .setVolumeName(volume) .setBucketName(bucket) .setKeyName(key) + .setRefreshPipeline(true) .build(); OmKeyInfo location = cluster.getOzoneManager() .lookupKey(arg); diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestBCSID.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestBCSID.java index 78023ef15ca..623b11d22d2 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestBCSID.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestBCSID.java @@ -117,6 +117,7 @@ public class TestBCSID { OmKeyArgs keyArgs = new OmKeyArgs.Builder().setVolumeName(volumeName). setBucketName(bucketName).setType(HddsProtos.ReplicationType.RATIS) .setFactor(HddsProtos.ReplicationFactor.ONE).setKeyName("ratis") + .setRefreshPipeline(true) .build(); OmKeyInfo keyInfo = cluster.getOzoneManager().lookupKey(keyArgs); List keyLocationInfos = diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestCloseContainerHandlingByClient.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestCloseContainerHandlingByClient.java index 396351dcc72..3124e772eef 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestCloseContainerHandlingByClient.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestCloseContainerHandlingByClient.java @@ -132,6 +132,7 @@ public class TestCloseContainerHandlingByClient { OmKeyArgs keyArgs = new OmKeyArgs.Builder().setVolumeName(volumeName) .setBucketName(bucketName).setType(HddsProtos.ReplicationType.RATIS) .setFactor(HddsProtos.ReplicationFactor.ONE).setKeyName(keyName) + .setRefreshPipeline(true) .build(); waitForContainerClose(key); @@ -165,6 +166,7 @@ public class TestCloseContainerHandlingByClient { .setBucketName(bucketName) .setType(HddsProtos.ReplicationType.RATIS) .setFactor(HddsProtos.ReplicationFactor.ONE).setKeyName(keyName) + .setRefreshPipeline(true) .build(); waitForContainerClose(key); @@ -198,6 +200,7 @@ public class TestCloseContainerHandlingByClient { OmKeyArgs keyArgs = new OmKeyArgs.Builder().setVolumeName(volumeName) .setBucketName(bucketName).setType(HddsProtos.ReplicationType.RATIS) .setFactor(HddsProtos.ReplicationFactor.ONE).setKeyName(keyName) + .setRefreshPipeline(true) .build(); waitForContainerClose(key); @@ -257,6 +260,7 @@ public class TestCloseContainerHandlingByClient { OmKeyArgs keyArgs = new OmKeyArgs.Builder().setVolumeName(volumeName) .setBucketName(bucketName).setType(HddsProtos.ReplicationType.RATIS) .setFactor(HddsProtos.ReplicationFactor.THREE).setKeyName(keyName) + .setRefreshPipeline(true) .build(); waitForContainerClose(key); @@ -300,6 +304,7 @@ public class TestCloseContainerHandlingByClient { OmKeyArgs keyArgs = new OmKeyArgs.Builder().setVolumeName(volumeName) .setBucketName(bucketName).setType(HddsProtos.ReplicationType.RATIS) .setFactor(HddsProtos.ReplicationFactor.ONE).setKeyName(keyName) + .setRefreshPipeline(true) .build(); waitForContainerClose(key); @@ -418,6 +423,7 @@ public class TestCloseContainerHandlingByClient { OmKeyArgs keyArgs = new OmKeyArgs.Builder().setVolumeName(volumeName). setBucketName(bucketName).setType(HddsProtos.ReplicationType.RATIS) .setFactor(HddsProtos.ReplicationFactor.THREE).setKeyName(keyName) + .setRefreshPipeline(true) .build(); Assert.assertTrue(key.getOutputStream() instanceof KeyOutputStream); @@ -451,6 +457,7 @@ public class TestCloseContainerHandlingByClient { OmKeyArgs keyArgs = new OmKeyArgs.Builder().setVolumeName(volumeName) .setBucketName(bucketName).setType(HddsProtos.ReplicationType.RATIS) .setFactor(HddsProtos.ReplicationFactor.ONE).setKeyName(keyName) + .setRefreshPipeline(true) .build(); waitForContainerClose(key); diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestFailureHandlingByClient.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestFailureHandlingByClient.java index aaf238b3a6d..4bd4506b55f 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestFailureHandlingByClient.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestFailureHandlingByClient.java @@ -150,6 +150,7 @@ public class TestFailureHandlingByClient { OmKeyArgs keyArgs = new OmKeyArgs.Builder().setVolumeName(volumeName) .setBucketName(bucketName).setType(HddsProtos.ReplicationType.RATIS) .setFactor(HddsProtos.ReplicationFactor.THREE).setKeyName(keyName) + .setRefreshPipeline(true) .build(); OmKeyInfo keyInfo = cluster.getOzoneManager().lookupKey(keyArgs); Assert.assertEquals(data.length, keyInfo.getDataSize()); @@ -192,6 +193,7 @@ public class TestFailureHandlingByClient { OmKeyArgs keyArgs = new OmKeyArgs.Builder().setVolumeName(volumeName) .setBucketName(bucketName).setType(HddsProtos.ReplicationType.RATIS) .setFactor(HddsProtos.ReplicationFactor.THREE).setKeyName(keyName) + .setRefreshPipeline(true) .build(); OmKeyInfo keyInfo = cluster.getOzoneManager().lookupKey(keyArgs); Assert.assertEquals(2 * data.getBytes().length, keyInfo.getDataSize()); @@ -238,6 +240,7 @@ public class TestFailureHandlingByClient { OmKeyArgs keyArgs = new OmKeyArgs.Builder().setVolumeName(volumeName) .setBucketName(bucketName).setType(HddsProtos.ReplicationType.RATIS) .setFactor(HddsProtos.ReplicationFactor.THREE).setKeyName(keyName) + .setRefreshPipeline(true) .build(); OmKeyInfo keyInfo = cluster.getOzoneManager().lookupKey(keyArgs); Assert.assertEquals(3 * data.getBytes().length, keyInfo.getDataSize()); @@ -278,6 +281,7 @@ public class TestFailureHandlingByClient { OmKeyArgs keyArgs = new OmKeyArgs.Builder().setVolumeName(volumeName) .setBucketName(bucketName).setType(HddsProtos.ReplicationType.RATIS) .setFactor(HddsProtos.ReplicationFactor.THREE).setKeyName(keyName) + .setRefreshPipeline(true) .build(); OmKeyInfo keyInfo = cluster.getOzoneManager().lookupKey(keyArgs); @@ -338,6 +342,7 @@ public class TestFailureHandlingByClient { OmKeyArgs keyArgs = new OmKeyArgs.Builder().setVolumeName(volumeName) .setBucketName(bucketName).setType(HddsProtos.ReplicationType.RATIS) .setFactor(HddsProtos.ReplicationFactor.THREE).setKeyName(keyName) + .setRefreshPipeline(true) .build(); OmKeyInfo keyInfo = cluster.getOzoneManager().lookupKey(keyArgs); @@ -398,6 +403,7 @@ public class TestFailureHandlingByClient { OmKeyArgs keyArgs = new OmKeyArgs.Builder().setVolumeName(volumeName) .setBucketName(bucketName).setType(HddsProtos.ReplicationType.RATIS) .setFactor(HddsProtos.ReplicationFactor.THREE).setKeyName(keyName) + .setRefreshPipeline(true) .build(); OmKeyInfo keyInfo = cluster.getOzoneManager().lookupKey(keyArgs); @@ -460,6 +466,7 @@ public class TestFailureHandlingByClient { OmKeyArgs keyArgs = new OmKeyArgs.Builder().setVolumeName(volumeName) .setBucketName(bucketName).setType(HddsProtos.ReplicationType.RATIS) .setFactor(HddsProtos.ReplicationFactor.THREE).setKeyName(keyName) + .setRefreshPipeline(true) .build(); OmKeyInfo keyInfo = cluster.getOzoneManager().lookupKey(keyArgs); diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneAtRestEncryption.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneAtRestEncryption.java index a52ab8c65a9..2d96b8d6ec5 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneAtRestEncryption.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneAtRestEncryption.java @@ -203,6 +203,7 @@ public class TestOzoneAtRestEncryption extends TestOzoneRpcClient { .setVolumeName(volumeName) .setBucketName(bucketName) .setKeyName(keyName) + .setRefreshPipeline(true) .build(); HddsProtos.ReplicationType replicationType = HddsProtos.ReplicationType.valueOf(type.toString()); diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneRpcClientAbstract.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneRpcClientAbstract.java index 0828fe833c6..58a29ed507f 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneRpcClientAbstract.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneRpcClientAbstract.java @@ -547,6 +547,7 @@ public abstract class TestOzoneRpcClientAbstract { .setVolumeName(volumeName) .setBucketName(bucketName) .setKeyName(keyName) + .setRefreshPipeline(true) .build(); HddsProtos.ReplicationType replicationType = HddsProtos.ReplicationType.valueOf(type.toString()); @@ -619,7 +620,7 @@ public abstract class TestOzoneRpcClientAbstract { out.close(); OmKeyArgs.Builder builder = new OmKeyArgs.Builder(); builder.setVolumeName(volumeName).setBucketName(bucketName) - .setKeyName(keyName); + .setKeyName(keyName).setRefreshPipeline(true); OmKeyInfo keyInfo = ozoneManager.lookupKey(builder.build()); List locationInfoList = @@ -891,7 +892,7 @@ public abstract class TestOzoneRpcClientAbstract { // First, confirm the key info from the client matches the info in OM. OmKeyArgs.Builder builder = new OmKeyArgs.Builder(); builder.setVolumeName(volumeName).setBucketName(bucketName) - .setKeyName(keyName); + .setKeyName(keyName).setRefreshPipeline(true); OmKeyLocationInfo keyInfo = ozoneManager.lookupKey(builder.build()). getKeyLocationVersions().get(0).getBlocksLatestVersionOnly().get(0); long containerID = keyInfo.getContainerID(); diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestReadRetries.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestReadRetries.java index da284f5eb89..0145c6dc9f1 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestReadRetries.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestReadRetries.java @@ -144,7 +144,7 @@ public class TestReadRetries { // First, confirm the key info from the client matches the info in OM. OmKeyArgs.Builder builder = new OmKeyArgs.Builder(); builder.setVolumeName(volumeName).setBucketName(bucketName) - .setKeyName(keyName); + .setKeyName(keyName).setRefreshPipeline(true); OmKeyLocationInfo keyInfo = ozoneManager.lookupKey(builder.build()). getKeyLocationVersions().get(0).getBlocksLatestVersionOnly().get(0); long containerID = keyInfo.getContainerID(); diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestSecureOzoneRpcClient.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestSecureOzoneRpcClient.java index d0163b8ebd6..2ed24a2f0d5 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestSecureOzoneRpcClient.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/client/rpc/TestSecureOzoneRpcClient.java @@ -218,6 +218,7 @@ public class TestSecureOzoneRpcClient extends TestOzoneRpcClient { .setVolumeName(volumeName) .setBucketName(bucketName) .setKeyName(keyName) + .setRefreshPipeline(true) .build(); HddsProtos.ReplicationType replicationType = HddsProtos.ReplicationType.valueOf(type.toString()); diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/TestBlockDeletion.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/TestBlockDeletion.java index 41d87a2fac7..bb4e6768171 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/TestBlockDeletion.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/TestBlockDeletion.java @@ -143,7 +143,9 @@ public class TestBlockDeletion { OmKeyArgs keyArgs = new OmKeyArgs.Builder().setVolumeName(volumeName) .setBucketName(bucketName).setKeyName(keyName).setDataSize(0) .setType(HddsProtos.ReplicationType.RATIS) - .setFactor(HddsProtos.ReplicationFactor.ONE).build(); + .setFactor(HddsProtos.ReplicationFactor.ONE) + .setRefreshPipeline(true) + .build(); List omKeyLocationInfoGroupList = om.lookupKey(keyArgs).getKeyLocationVersions(); diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/TestCloseContainerByPipeline.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/TestCloseContainerByPipeline.java index 44a93370a3a..fc6a74d64e1 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/TestCloseContainerByPipeline.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/TestCloseContainerByPipeline.java @@ -103,7 +103,7 @@ public class TestCloseContainerByPipeline { new OmKeyArgs.Builder().setVolumeName("test").setBucketName("test") .setType(HddsProtos.ReplicationType.RATIS) .setFactor(HddsProtos.ReplicationFactor.ONE).setDataSize(1024) - .setKeyName("standalone").build(); + .setKeyName("standalone").setRefreshPipeline(true).build(); OmKeyLocationInfo omKeyLocationInfo = cluster.getOzoneManager().lookupKey(keyArgs).getKeyLocationVersions() .get(0).getBlocksLatestVersionOnly().get(0); @@ -157,7 +157,9 @@ public class TestCloseContainerByPipeline { new OmKeyArgs.Builder().setVolumeName("test").setBucketName("test") .setType(HddsProtos.ReplicationType.RATIS) .setFactor(HddsProtos.ReplicationFactor.ONE).setDataSize(1024) - .setKeyName("standalone").build(); + .setKeyName("standalone") + .setRefreshPipeline(true) + .build(); OmKeyLocationInfo omKeyLocationInfo = cluster.getOzoneManager().lookupKey(keyArgs).getKeyLocationVersions() @@ -205,7 +207,7 @@ public class TestCloseContainerByPipeline { OmKeyArgs keyArgs = new OmKeyArgs.Builder().setVolumeName("test"). setBucketName("test").setType(HddsProtos.ReplicationType.RATIS) .setFactor(HddsProtos.ReplicationFactor.THREE).setDataSize(1024) - .setKeyName("ratis").build(); + .setKeyName("ratis").setRefreshPipeline(true).build(); OmKeyLocationInfo omKeyLocationInfo = cluster.getOzoneManager().lookupKey(keyArgs).getKeyLocationVersions() diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/TestCloseContainerHandler.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/TestCloseContainerHandler.java index 2202815a6e7..b1fa6fb2245 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/TestCloseContainerHandler.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/TestCloseContainerHandler.java @@ -76,7 +76,9 @@ public class TestCloseContainerHandler { new OmKeyArgs.Builder().setVolumeName("test").setBucketName("test") .setType(HddsProtos.ReplicationType.STAND_ALONE) .setFactor(HddsProtos.ReplicationFactor.ONE).setDataSize(1024) - .setKeyName("test").build(); + .setKeyName("test") + .setRefreshPipeline(true) + .build(); OmKeyLocationInfo omKeyLocationInfo = cluster.getOzoneManager().lookupKey(keyArgs).getKeyLocationVersions() diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/TestDeleteContainerHandler.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/TestDeleteContainerHandler.java index 661d06c03a9..1cbf69ef6d1 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/TestDeleteContainerHandler.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/TestDeleteContainerHandler.java @@ -234,7 +234,9 @@ public class TestDeleteContainerHandler { .setBucketName(bucketName) .setType(HddsProtos.ReplicationType.STAND_ALONE) .setFactor(HddsProtos.ReplicationFactor.ONE) - .setKeyName(keyName).build(); + .setKeyName(keyName) + .setRefreshPipeline(true) + .build(); OmKeyLocationInfo omKeyLocationInfo = cluster.getOzoneManager().lookupKey(keyArgs).getKeyLocationVersions() diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestContainerReportWithKeys.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestContainerReportWithKeys.java index feb0d2b1d23..ef49931822e 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestContainerReportWithKeys.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestContainerReportWithKeys.java @@ -105,6 +105,7 @@ public class TestContainerReportWithKeys { .setKeyName(keyName) .setType(HddsProtos.ReplicationType.STAND_ALONE) .setFactor(HddsProtos.ReplicationFactor.ONE).setDataSize(keySize) + .setRefreshPipeline(true) .build(); diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOmBlockVersioning.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOmBlockVersioning.java index bcb35320b31..a1b20bd5881 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOmBlockVersioning.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOmBlockVersioning.java @@ -115,6 +115,7 @@ public class TestOmBlockVersioning { .setBucketName(bucketName) .setKeyName(keyName) .setDataSize(1000) + .setRefreshPipeline(true) .build(); // 1st update, version 0 @@ -214,6 +215,7 @@ public class TestOmBlockVersioning { .setBucketName(bucketName) .setKeyName(keyName) .setDataSize(1000) + .setRefreshPipeline(true) .build(); String dataString = RandomStringUtils.randomAlphabetic(100); diff --git a/hadoop-ozone/objectstore-service/src/main/java/org/apache/hadoop/ozone/web/storage/DistributedStorageHandler.java b/hadoop-ozone/objectstore-service/src/main/java/org/apache/hadoop/ozone/web/storage/DistributedStorageHandler.java index 07016eb1af3..05c2ae7a51c 100644 --- a/hadoop-ozone/objectstore-service/src/main/java/org/apache/hadoop/ozone/web/storage/DistributedStorageHandler.java +++ b/hadoop-ozone/objectstore-service/src/main/java/org/apache/hadoop/ozone/web/storage/DistributedStorageHandler.java @@ -479,6 +479,7 @@ public final class DistributedStorageHandler implements StorageHandler { .setBucketName(args.getBucketName()) .setKeyName(args.getKeyName()) .setDataSize(args.getSize()) + .setRefreshPipeline(true) .build(); OmKeyInfo keyInfo = ozoneManagerClient.lookupKey(keyArgs); return KeyInputStream.getFromOmKeyInfo( @@ -513,6 +514,7 @@ public final class DistributedStorageHandler implements StorageHandler { .setVolumeName(args.getVolumeName()) .setBucketName(args.getBucketName()) .setKeyName(args.getKeyName()) + .setRefreshPipeline(true) .build(); OmKeyInfo omKeyInfo = ozoneManagerClient.lookupKey(keyArgs); @@ -534,6 +536,7 @@ public final class DistributedStorageHandler implements StorageHandler { .setVolumeName(args.getVolumeName()) .setBucketName(args.getBucketName()) .setKeyName(args.getKeyName()) + .setRefreshPipeline(true) .build(); OmKeyInfo omKeyInfo = ozoneManagerClient.lookupKey(keyArgs); List keyLocations = new ArrayList<>(); diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/protocolPB/OzoneManagerRequestHandler.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/protocolPB/OzoneManagerRequestHandler.java index 81bc512ec0d..cee9a2d4fc2 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/protocolPB/OzoneManagerRequestHandler.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/protocolPB/OzoneManagerRequestHandler.java @@ -500,6 +500,7 @@ public class OzoneManagerRequestHandler implements RequestHandler { .setVolumeName(keyArgs.getVolumeName()) .setBucketName(keyArgs.getBucketName()) .setKeyName(keyArgs.getKeyName()) + .setRefreshPipeline(true) .build(); OmKeyInfo keyInfo = impl.lookupKey(omKeyArgs); resp.setKeyInfo(keyInfo.getProtobuf()); @@ -516,6 +517,7 @@ public class OzoneManagerRequestHandler implements RequestHandler { .setVolumeName(keyArgs.getVolumeName()) .setBucketName(keyArgs.getBucketName()) .setKeyName(keyArgs.getKeyName()) + .setRefreshPipeline(true) .build(); impl.renameKey(omKeyArgs, request.getToKeyName());