You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ae...@apache.org on 2018/09/06 19:51:08 UTC
hadoop git commit: HDDS-405. User/volume mapping is not cleaned up
during the deletion of the last volume. Contributed by Elek, Marton.
Repository: hadoop
Updated Branches:
refs/heads/trunk eb0b5a844 -> fa2945e7a
HDDS-405. User/volume mapping is not cleaned up during the deletion of the last volume.
Contributed by Elek, Marton.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/fa2945e7
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/fa2945e7
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/fa2945e7
Branch: refs/heads/trunk
Commit: fa2945e7a9d9cccb0c6ccaf531c6a34d9d09b489
Parents: eb0b5a8
Author: Anu Engineer <ae...@apache.org>
Authored: Thu Sep 6 12:44:08 2018 -0700
Committer: Anu Engineer <ae...@apache.org>
Committed: Thu Sep 6 12:44:08 2018 -0700
----------------------------------------------------------------------
.../hadoop/ozone/om/TestOzoneManager.java | 26 +++++++++++++++++---
.../hadoop/ozone/om/VolumeManagerImpl.java | 2 +-
2 files changed, 23 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/fa2945e7/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOzoneManager.java
----------------------------------------------------------------------
diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOzoneManager.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOzoneManager.java
index b6ade60..f309715 100644
--- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOzoneManager.java
+++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOzoneManager.java
@@ -276,10 +276,28 @@ public class TestOzoneManager {
Assert.assertTrue(volumeInfo.getVolumeName().equals(volumeName2));
// Make sure volume with _A suffix is successfully deleted.
- exception.expect(IOException.class);
- exception.expectMessage("Info Volume failed, error:VOLUME_NOT_FOUND");
- volumeArgs = new VolumeArgs(volumeName1, userArgs);
- storageHandler.getVolumeInfo(volumeArgs);
+ try {
+ volumeArgs = new VolumeArgs(volumeName1, userArgs);
+ storageHandler.getVolumeInfo(volumeArgs);
+ Assert.fail("Volume is not deleted");
+ } catch (IOException ex) {
+ Assert.assertEquals("Info Volume failed, error:VOLUME_NOT_FOUND",
+ ex.getMessage());
+ }
+ //delete the _AA volume, too
+ storageHandler.deleteVolume(new VolumeArgs(volumeName2, userArgs));
+
+ //Make sure there is no volume information for the specific user
+ OMMetadataManager metadataManager =
+ cluster.getOzoneManager().getMetadataManager();
+
+ byte[] userKey = metadataManager.getUserKey(userName);
+ byte[] volumes = metadataManager.getUserTable().get(userKey);
+
+ //that was the last volume of the user, shouldn't be any record here
+ Assert.assertNull(volumes);
+
+
}
// Create a volume and a bucket inside the volume,
http://git-wip-us.apache.org/repos/asf/hadoop/blob/fa2945e7/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/VolumeManagerImpl.java
----------------------------------------------------------------------
diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/VolumeManagerImpl.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/VolumeManagerImpl.java
index 419b0aa..cf25215 100644
--- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/VolumeManagerImpl.java
+++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/VolumeManagerImpl.java
@@ -110,7 +110,7 @@ public class VolumeManagerImpl implements VolumeManager {
// Remove the volume from the list
prevVolList.remove(volume);
if (prevVolList.size() == 0) {
- batch.delete(dbUserKey);
+ batch.delete(metadataManager.getUserTable().getHandle(), dbUserKey);
} else {
VolumeList newVolList = VolumeList.newBuilder()
.addAllVolumeNames(prevVolList).build();
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org