From 68f9f2d8335cbbbaa44b1334562e35f66855f363 Mon Sep 17 00:00:00 2001 From: Bharat Viswanadham Date: Mon, 29 Jul 2019 16:44:48 -0700 Subject: [PATCH] Revert HDDS-1829 On OM reload/restart OmMetrics#numKeys should be updated. (#1183) --- .../org/apache/hadoop/utils/db/RDBTable.java | 10 --------- .../org/apache/hadoop/utils/db/Table.java | 7 ------- .../apache/hadoop/utils/db/TypedTable.java | 5 ----- .../hadoop/utils/db/TestRDBTableStore.java | 21 +------------------ .../utils/db/TestTypedRDBTableStore.java | 21 +------------------ .../hadoop/ozone/om/OMMetadataManager.java | 11 ---------- .../ozone/om/OmMetadataManagerImpl.java | 10 --------- .../apache/hadoop/ozone/om/OzoneManager.java | 2 -- 8 files changed, 2 insertions(+), 85 deletions(-) diff --git a/hadoop-hdds/common/src/main/java/org/apache/hadoop/utils/db/RDBTable.java b/hadoop-hdds/common/src/main/java/org/apache/hadoop/utils/db/RDBTable.java index 9d145588ba..f26fcf7352 100644 --- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/utils/db/RDBTable.java +++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/utils/db/RDBTable.java @@ -183,14 +183,4 @@ public String getName() throws IOException { public void close() throws Exception { // Nothing do for a Column Family. } - - @Override - public long getEstimatedKeyCount() throws IOException { - try { - return db.getLongProperty(handle, "rocksdb.estimate-num-keys"); - } catch (RocksDBException e) { - throw toIOException( - "Failed to get estimated key count of table " + getName(), e); - } - } } diff --git a/hadoop-hdds/common/src/main/java/org/apache/hadoop/utils/db/Table.java b/hadoop-hdds/common/src/main/java/org/apache/hadoop/utils/db/Table.java index 5c4551f865..1c51616428 100644 --- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/utils/db/Table.java +++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/utils/db/Table.java @@ -111,13 +111,6 @@ void putWithBatch(BatchOperation batch, KEY key, VALUE value) */ String getName() throws IOException; - /** - * Returns the key count of this Table. Note the result can be inaccurate. - * @return Estimated key count of this Table - * @throws IOException on failure - */ - long getEstimatedKeyCount() throws IOException; - /** * Add entry to the table cache. * diff --git a/hadoop-hdds/common/src/main/java/org/apache/hadoop/utils/db/TypedTable.java b/hadoop-hdds/common/src/main/java/org/apache/hadoop/utils/db/TypedTable.java index d0d522d482..e8f9e0a8b3 100644 --- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/utils/db/TypedTable.java +++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/utils/db/TypedTable.java @@ -205,11 +205,6 @@ public String getName() throws IOException { return rawTable.getName(); } - @Override - public long getEstimatedKeyCount() throws IOException { - return rawTable.getEstimatedKeyCount(); - } - @Override public void close() throws Exception { rawTable.close(); diff --git a/hadoop-hdds/common/src/test/java/org/apache/hadoop/utils/db/TestRDBTableStore.java b/hadoop-hdds/common/src/test/java/org/apache/hadoop/utils/db/TestRDBTableStore.java index 0e6ad1870e..6b6cd75509 100644 --- a/hadoop-hdds/common/src/test/java/org/apache/hadoop/utils/db/TestRDBTableStore.java +++ b/hadoop-hdds/common/src/test/java/org/apache/hadoop/utils/db/TestRDBTableStore.java @@ -51,8 +51,7 @@ public class TestRDBTableStore { Arrays.asList(DFSUtil.bytes2String(RocksDB.DEFAULT_COLUMN_FAMILY), "First", "Second", "Third", "Fourth", "Fifth", - "Sixth", "Seventh", - "Eighth"); + "Sixth", "Seventh"); @Rule public TemporaryFolder folder = new TemporaryFolder(); private RDBStore rdbStore = null; @@ -248,22 +247,4 @@ public void testIsExist() throws Exception { Assert.assertFalse(testTable.isExist(invalidKey)); } } - - @Test - public void testCountEstimatedRowsInTable() throws Exception { - try (Table testTable = rdbStore.getTable("Eighth")) { - // Add a few keys - final int numKeys = 12345; - for (int i = 0; i < numKeys; i++) { - byte[] key = - RandomStringUtils.random(10).getBytes(StandardCharsets.UTF_8); - byte[] value = - RandomStringUtils.random(10).getBytes(StandardCharsets.UTF_8); - testTable.put(key, value); - } - long count = testTable.getEstimatedKeyCount(); - // The result should be larger than zero but not exceed(?) numKeys - Assert.assertTrue(count > 0 && count <= numKeys); - } - } } diff --git a/hadoop-hdds/common/src/test/java/org/apache/hadoop/utils/db/TestTypedRDBTableStore.java b/hadoop-hdds/common/src/test/java/org/apache/hadoop/utils/db/TestTypedRDBTableStore.java index 8271b1b5a6..e48a5aa244 100644 --- a/hadoop-hdds/common/src/test/java/org/apache/hadoop/utils/db/TestTypedRDBTableStore.java +++ b/hadoop-hdds/common/src/test/java/org/apache/hadoop/utils/db/TestTypedRDBTableStore.java @@ -55,8 +55,7 @@ public class TestTypedRDBTableStore { Arrays.asList(DFSUtil.bytes2String(RocksDB.DEFAULT_COLUMN_FAMILY), "First", "Second", "Third", "Fourth", "Fifth", - "Sixth", "Seven", "Eighth", - "Ninth"); + "Sixth", "Seven", "Eighth"); @Rule public TemporaryFolder folder = new TemporaryFolder(); private RDBStore rdbStore = null; @@ -352,22 +351,4 @@ public void testIsExistCache() throws Exception { Assert.assertFalse(testTable.isExist(key)); } } - - @Test - public void testCountEstimatedRowsInTable() throws Exception { - try (Table testTable = createTypedTable( - "Ninth")) { - // Add a few keys - final int numKeys = 12345; - for (int i = 0; i < numKeys; i++) { - String key = - RandomStringUtils.random(10); - String value = RandomStringUtils.random(10); - testTable.put(key, value); - } - long count = testTable.getEstimatedKeyCount(); - // The result should be larger than zero but not exceed(?) numKeys - Assert.assertTrue(count > 0 && count <= numKeys); - } - } } diff --git a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/OMMetadataManager.java b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/OMMetadataManager.java index 96a0b9689e..f0b54e0c22 100644 --- a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/OMMetadataManager.java +++ b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/OMMetadataManager.java @@ -316,15 +316,4 @@ String getMultipartKey(String volume, String bucket, String key, String */ long countRowsInTable(Table table) throws IOException; - - /** - * Returns an estimated number of rows in a table. This is much quicker - * than {@link OMMetadataManager#countRowsInTable} but the result can be - * inaccurate. - * @param table Table - * @return long Estimated number of rows in the table. - * @throws IOException - */ - long countEstimatedRowsInTable(Table table) - throws IOException; } diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java index f6b08c2c1b..c7d6bb422b 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java @@ -802,16 +802,6 @@ public long countRowsInTable(Table table) return count; } - @Override - public long countEstimatedRowsInTable(Table table) - throws IOException { - long count = 0; - if (table != null) { - count = table.getEstimatedKeyCount(); - } - return count; - } - @Override public Table getS3SecretTable() { return s3SecretTable; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java index f7fd0f5671..84e1781645 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java @@ -3267,8 +3267,6 @@ void reloadOMState(long newSnapshotIndex) throws IOException { .getVolumeTable())); metrics.setNumBuckets(metadataManager.countRowsInTable(metadataManager .getBucketTable())); - metrics.setNumKeys(metadataManager.countEstimatedRowsInTable(metadataManager - .getKeyTable())); // Delete the omMetrics file if it exists and save the a new metrics file // with new data