diff --git a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/OzoneManagerServiceProviderImpl.java b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/OzoneManagerServiceProviderImpl.java index 5a49e55b06bd..e95e888fbfda 100644 --- a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/OzoneManagerServiceProviderImpl.java +++ b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/spi/impl/OzoneManagerServiceProviderImpl.java @@ -68,6 +68,7 @@ import org.apache.hadoop.ozone.recon.spi.OzoneManagerServiceProvider; import org.apache.hadoop.ozone.recon.tasks.OMDBUpdatesHandler; import org.apache.hadoop.ozone.recon.tasks.OMUpdateEventBatch; +import org.apache.hadoop.ozone.recon.tasks.ReconOmTask; import org.apache.hadoop.ozone.recon.tasks.ReconTaskController; import org.apache.hadoop.ozone.recon.tasks.updater.ReconTaskStatusUpdater; import org.apache.hadoop.ozone.recon.tasks.updater.ReconTaskStatusUpdaterManager; @@ -267,6 +268,10 @@ public void start() { ReconServerConfigKeys.RECON_OM_SNAPSHOT_TASK_INITIAL_DELAY, OZONE_RECON_OM_SNAPSHOT_TASK_INITIAL_DELAY_DEFAULT), TimeUnit.MILLISECONDS); + // Initialize recon om tasks for any first time initialization of resources. + reconTaskController.getRegisteredTasks() + .values() + .forEach(ReconOmTask::init); startSyncDataFromOM(initialDelay); } diff --git a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/DeletedKeysInsightHandler.java b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/DeletedKeysInsightHandler.java index 5a6d7a256e49..14912cc920e1 100644 --- a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/DeletedKeysInsightHandler.java +++ b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/DeletedKeysInsightHandler.java @@ -27,7 +27,7 @@ import org.slf4j.LoggerFactory; import java.io.IOException; -import java.util.HashMap; +import java.util.Map; /** * Manages records in the Deleted Table, updating counts and sizes of @@ -45,23 +45,19 @@ public class DeletedKeysInsightHandler implements OmTableHandler { @Override public void handlePutEvent(OMDBUpdateEvent event, String tableName, - HashMap objectCountMap, - HashMap unReplicatedSizeMap, - HashMap replicatedSizeMap) { - - String countKey = getTableCountKeyFromTable(tableName); - String unReplicatedSizeKey = getUnReplicatedSizeKeyFromTable(tableName); - String replicatedSizeKey = getReplicatedSizeKeyFromTable(tableName); + Map objectCountMap, + Map unReplicatedSizeMap, + Map replicatedSizeMap) { if (event.getValue() != null) { RepeatedOmKeyInfo repeatedOmKeyInfo = (RepeatedOmKeyInfo) event.getValue(); - objectCountMap.computeIfPresent(countKey, + objectCountMap.computeIfPresent(getTableCountKeyFromTable(tableName), (k, count) -> count + repeatedOmKeyInfo.getOmKeyInfoList().size()); Pair result = repeatedOmKeyInfo.getTotalSize(); - unReplicatedSizeMap.computeIfPresent(unReplicatedSizeKey, + unReplicatedSizeMap.computeIfPresent(getUnReplicatedSizeKeyFromTable(tableName), (k, size) -> size + result.getLeft()); - replicatedSizeMap.computeIfPresent(replicatedSizeKey, + replicatedSizeMap.computeIfPresent(getReplicatedSizeKeyFromTable(tableName), (k, size) -> size + result.getRight()); } else { LOG.warn("Put event does not have the Key Info for {}.", @@ -77,23 +73,19 @@ public void handlePutEvent(OMDBUpdateEvent event, @Override public void handleDeleteEvent(OMDBUpdateEvent event, String tableName, - HashMap objectCountMap, - HashMap unReplicatedSizeMap, - HashMap replicatedSizeMap) { - - String countKey = getTableCountKeyFromTable(tableName); - String unReplicatedSizeKey = getUnReplicatedSizeKeyFromTable(tableName); - String replicatedSizeKey = getReplicatedSizeKeyFromTable(tableName); + Map objectCountMap, + Map unReplicatedSizeMap, + Map replicatedSizeMap) { if (event.getValue() != null) { RepeatedOmKeyInfo repeatedOmKeyInfo = (RepeatedOmKeyInfo) event.getValue(); - objectCountMap.computeIfPresent(countKey, (k, count) -> + objectCountMap.computeIfPresent(getTableCountKeyFromTable(tableName), (k, count) -> count > 0 ? count - repeatedOmKeyInfo.getOmKeyInfoList().size() : 0L); Pair result = repeatedOmKeyInfo.getTotalSize(); - unReplicatedSizeMap.computeIfPresent(unReplicatedSizeKey, + unReplicatedSizeMap.computeIfPresent(getUnReplicatedSizeKeyFromTable(tableName), (k, size) -> size > result.getLeft() ? size - result.getLeft() : 0L); - replicatedSizeMap.computeIfPresent(replicatedSizeKey, + replicatedSizeMap.computeIfPresent(getReplicatedSizeKeyFromTable(tableName), (k, size) -> size > result.getRight() ? size - result.getRight() : 0L); } else { @@ -109,9 +101,9 @@ public void handleDeleteEvent(OMDBUpdateEvent event, @Override public void handleUpdateEvent(OMDBUpdateEvent event, String tableName, - HashMap objectCountMap, - HashMap unReplicatedSizeMap, - HashMap replicatedSizeMap) { + Map objectCountMap, + Map unReplicatedSizeMap, + Map replicatedSizeMap) { // The size of deleted keys cannot change hence no-op. return; } diff --git a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/NSSummaryTaskDbEventHandler.java b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/NSSummaryTaskDbEventHandler.java index 888ec5319f2f..e0beefdc3d16 100644 --- a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/NSSummaryTaskDbEventHandler.java +++ b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/NSSummaryTaskDbEventHandler.java @@ -100,13 +100,10 @@ protected void handlePutKeyEvent(OmKeyInfo keyInfo, Map nsSummaryMap) throws IOException { long parentObjectId = directoryInfo.getParentObjectID(); - long objectId = directoryInfo.getObjectID(); // Try to get the NSSummary from our local map that maps NSSummaries to IDs NSSummary nsSummary = nsSummaryMap.get(parentObjectId); if (nsSummary == null) { @@ -203,7 +196,7 @@ protected void handleDeleteDirEvent(OmDirectoryInfo directoryInfo, return; } - nsSummary.removeChildDir(objectId); + nsSummary.removeChildDir(directoryInfo.getObjectID()); nsSummaryMap.put(parentObjectId, nsSummary); } diff --git a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/OmTableHandler.java b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/OmTableHandler.java index 5ae23b68a703..b6a26248cbdf 100644 --- a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/OmTableHandler.java +++ b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/OmTableHandler.java @@ -23,7 +23,7 @@ import org.apache.hadoop.hdds.utils.db.TableIterator; import java.io.IOException; -import java.util.HashMap; +import java.util.Map; /** * Interface for handling PUT, DELETE and UPDATE events for size-related @@ -43,9 +43,9 @@ public interface OmTableHandler { */ void handlePutEvent(OMDBUpdateEvent event, String tableName, - HashMap objectCountMap, - HashMap unReplicatedSizeMap, - HashMap replicatedSizeMap); + Map objectCountMap, + Map unReplicatedSizeMap, + Map replicatedSizeMap); /** @@ -60,9 +60,9 @@ void handlePutEvent(OMDBUpdateEvent event, */ void handleDeleteEvent(OMDBUpdateEvent event, String tableName, - HashMap objectCountMap, - HashMap unReplicatedSizeMap, - HashMap replicatedSizeMap); + Map objectCountMap, + Map unReplicatedSizeMap, + Map replicatedSizeMap); /** @@ -77,9 +77,9 @@ void handleDeleteEvent(OMDBUpdateEvent event, */ void handleUpdateEvent(OMDBUpdateEvent event, String tableName, - HashMap objectCountMap, - HashMap unReplicatedSizeMap, - HashMap replicatedSizeMap); + Map objectCountMap, + Map unReplicatedSizeMap, + Map replicatedSizeMap); /** diff --git a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/OmTableInsightTask.java b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/OmTableInsightTask.java index 37a0e16e9346..30d4a1c4e114 100644 --- a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/OmTableInsightTask.java +++ b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/OmTableInsightTask.java @@ -18,6 +18,7 @@ package org.apache.hadoop.ozone.recon.tasks; +import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.Iterators; import com.google.inject.Inject; import org.apache.commons.lang3.tuple.ImmutablePair; @@ -62,6 +63,11 @@ public class OmTableInsightTask implements ReconOmTask { private Configuration sqlConfiguration; private ReconOMMetadataManager reconOMMetadataManager; private Map tableHandlers; + private Collection tables; + private Map objectCountMap; + private Map unReplicatedSizeMap; + private Map replicatedSizeMap; + @Inject public OmTableInsightTask(GlobalStatsDao globalStatsDao, @@ -78,6 +84,20 @@ public OmTableInsightTask(GlobalStatsDao globalStatsDao, tableHandlers.put(DELETED_TABLE, new DeletedKeysInsightHandler()); } + /** + * Initialize the OM table insight task with first time initialization of resources. + */ + @Override + public void init() { + ReconOmTask.super.init(); + tables = getTaskTables(); + + // Initialize maps to store count and size information + objectCountMap = initializeCountMap(); + unReplicatedSizeMap = initializeSizeMap(false); + replicatedSizeMap = initializeSizeMap(true); + } + /** * Iterates the rows of each table in the OM snapshot DB and calculates the * counts and sizes for table data. @@ -92,16 +112,9 @@ public OmTableInsightTask(GlobalStatsDao globalStatsDao, */ @Override public Pair reprocess(OMMetadataManager omMetadataManager) { - HashMap objectCountMap = initializeCountMap(); - HashMap unReplicatedSizeMap = initializeSizeMap(false); - HashMap replicatedSizeMap = initializeSizeMap(true); - - for (String tableName : getTaskTables()) { + init(); + for (String tableName : tables) { Table table = omMetadataManager.getTable(tableName); - if (table == null) { - LOG.error("Table " + tableName + " not found in OM Metadata."); - return new ImmutablePair<>(getTaskName(), false); - } try (TableIterator> iterator = table.iterator()) { @@ -157,35 +170,29 @@ public Collection getTaskTables() { @Override public Pair process(OMUpdateEventBatch events) { Iterator eventIterator = events.getIterator(); - // Initialize maps to store count and size information - HashMap objectCountMap = initializeCountMap(); - HashMap unReplicatedSizeMap = initializeSizeMap(false); - HashMap replicatedSizeMap = initializeSizeMap(true); - final Collection taskTables = getTaskTables(); + String tableName; + OMDBUpdateEvent omdbUpdateEvent; // Process each update event long startTime = System.currentTimeMillis(); while (eventIterator.hasNext()) { - OMDBUpdateEvent omdbUpdateEvent = eventIterator.next(); - String tableName = omdbUpdateEvent.getTable(); - if (!taskTables.contains(tableName)) { + omdbUpdateEvent = eventIterator.next(); + tableName = omdbUpdateEvent.getTable(); + if (!tables.contains(tableName)) { continue; } try { switch (omdbUpdateEvent.getAction()) { case PUT: - handlePutEvent(omdbUpdateEvent, tableName, objectCountMap, - unReplicatedSizeMap, replicatedSizeMap); + handlePutEvent(omdbUpdateEvent, tableName); break; case DELETE: - handleDeleteEvent(omdbUpdateEvent, tableName, objectCountMap, - unReplicatedSizeMap, replicatedSizeMap); + handleDeleteEvent(omdbUpdateEvent, tableName); break; case UPDATE: - handleUpdateEvent(omdbUpdateEvent, tableName, objectCountMap, - unReplicatedSizeMap, replicatedSizeMap); + handleUpdateEvent(omdbUpdateEvent, tableName); break; default: @@ -215,11 +222,7 @@ public Pair process(OMUpdateEventBatch events) { } private void handlePutEvent(OMDBUpdateEvent event, - String tableName, - HashMap objectCountMap, - HashMap unReplicatedSizeMap, - HashMap replicatedSizeMap) - throws IOException { + String tableName) { OmTableHandler tableHandler = tableHandlers.get(tableName); if (event.getValue() != null) { if (tableHandler != null) { @@ -234,19 +237,14 @@ private void handlePutEvent(OMDBUpdateEvent event, private void handleDeleteEvent(OMDBUpdateEvent event, - String tableName, - HashMap objectCountMap, - HashMap unReplicatedSizeMap, - HashMap replicatedSizeMap) - throws IOException { + String tableName) { OmTableHandler tableHandler = tableHandlers.get(tableName); if (event.getValue() != null) { if (tableHandler != null) { tableHandler.handleDeleteEvent(event, tableName, objectCountMap, unReplicatedSizeMap, replicatedSizeMap); } else { - String countKey = getTableCountKeyFromTable(tableName); - objectCountMap.computeIfPresent(countKey, + objectCountMap.computeIfPresent(getTableCountKeyFromTable(tableName), (k, count) -> count > 0 ? count - 1L : 0L); } } @@ -254,10 +252,7 @@ private void handleDeleteEvent(OMDBUpdateEvent event, private void handleUpdateEvent(OMDBUpdateEvent event, - String tableName, - HashMap objectCountMap, - HashMap unReplicatedSizeMap, - HashMap replicatedSizeMap) { + String tableName) { OmTableHandler tableHandler = tableHandlers.get(tableName); if (event.getValue() != null) { @@ -302,14 +297,13 @@ private void writeDataToDB(Map dataMap) { * * @return The count map containing the counts for each table. */ - private HashMap initializeCountMap() { - Collection tables = getTaskTables(); - HashMap objectCountMap = new HashMap<>(tables.size()); + public HashMap initializeCountMap() { + HashMap objCountMap = new HashMap<>(tables.size()); for (String tableName : tables) { String key = getTableCountKeyFromTable(tableName); - objectCountMap.put(key, getValueForKey(key)); + objCountMap.put(key, getValueForKey(key)); } - return objectCountMap; + return objCountMap; } /** @@ -318,11 +312,13 @@ private HashMap initializeCountMap() { * * @return The size map containing the size counts for each table. */ - private HashMap initializeSizeMap(boolean replicated) { + public HashMap initializeSizeMap(boolean replicated) { + String tableName; + OmTableHandler tableHandler; HashMap sizeCountMap = new HashMap<>(); for (Map.Entry entry : tableHandlers.entrySet()) { - String tableName = entry.getKey(); - OmTableHandler tableHandler = entry.getValue(); + tableName = entry.getKey(); + tableHandler = entry.getValue(); String key = replicated ? tableHandler.getReplicatedSizeKeyFromTable(tableName) : tableHandler.getUnReplicatedSizeKeyFromTable(tableName); @@ -356,6 +352,25 @@ private long getValueForKey(String key) { return (record == null) ? 0L : record.getValue(); } + @VisibleForTesting + public void setTables(Collection tables) { + this.tables = tables; + } + + @VisibleForTesting + public void setObjectCountMap(HashMap objectCountMap) { + this.objectCountMap = objectCountMap; + } + + @VisibleForTesting + public void setUnReplicatedSizeMap(HashMap unReplicatedSizeMap) { + this.unReplicatedSizeMap = unReplicatedSizeMap; + } + + @VisibleForTesting + public void setReplicatedSizeMap(HashMap replicatedSizeMap) { + this.replicatedSizeMap = replicatedSizeMap; + } } diff --git a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/OpenKeysInsightHandler.java b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/OpenKeysInsightHandler.java index 7a27d29d8f28..2316ae678dfe 100644 --- a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/OpenKeysInsightHandler.java +++ b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/OpenKeysInsightHandler.java @@ -26,7 +26,7 @@ import org.slf4j.LoggerFactory; import java.io.IOException; -import java.util.HashMap; +import java.util.Map; /** * Manages records in the OpenKey Table, updating counts and sizes of @@ -44,20 +44,16 @@ public class OpenKeysInsightHandler implements OmTableHandler { @Override public void handlePutEvent(OMDBUpdateEvent event, String tableName, - HashMap objectCountMap, - HashMap unReplicatedSizeMap, - HashMap replicatedSizeMap) { - - String countKey = getTableCountKeyFromTable(tableName); - String unReplicatedSizeKey = getUnReplicatedSizeKeyFromTable(tableName); - String replicatedSizeKey = getReplicatedSizeKeyFromTable(tableName); + Map objectCountMap, + Map unReplicatedSizeMap, + Map replicatedSizeMap) { if (event.getValue() != null) { OmKeyInfo omKeyInfo = (OmKeyInfo) event.getValue(); - objectCountMap.computeIfPresent(countKey, (k, count) -> count + 1L); - unReplicatedSizeMap.computeIfPresent(unReplicatedSizeKey, + objectCountMap.computeIfPresent(getTableCountKeyFromTable(tableName), (k, count) -> count + 1L); + unReplicatedSizeMap.computeIfPresent(getUnReplicatedSizeKeyFromTable(tableName), (k, size) -> size + omKeyInfo.getDataSize()); - replicatedSizeMap.computeIfPresent(replicatedSizeKey, + replicatedSizeMap.computeIfPresent(getReplicatedSizeKeyFromTable(tableName), (k, size) -> size + omKeyInfo.getReplicatedSize()); } else { LOG.warn("Put event does not have the Key Info for {}.", @@ -72,22 +68,18 @@ public void handlePutEvent(OMDBUpdateEvent event, @Override public void handleDeleteEvent(OMDBUpdateEvent event, String tableName, - HashMap objectCountMap, - HashMap unReplicatedSizeMap, - HashMap replicatedSizeMap) { - - String countKey = getTableCountKeyFromTable(tableName); - String unReplicatedSizeKey = getUnReplicatedSizeKeyFromTable(tableName); - String replicatedSizeKey = getReplicatedSizeKeyFromTable(tableName); + Map objectCountMap, + Map unReplicatedSizeMap, + Map replicatedSizeMap) { if (event.getValue() != null) { OmKeyInfo omKeyInfo = (OmKeyInfo) event.getValue(); - objectCountMap.computeIfPresent(countKey, + objectCountMap.computeIfPresent(getTableCountKeyFromTable(tableName), (k, count) -> count > 0 ? count - 1L : 0L); - unReplicatedSizeMap.computeIfPresent(unReplicatedSizeKey, + unReplicatedSizeMap.computeIfPresent(getUnReplicatedSizeKeyFromTable(tableName), (k, size) -> size > omKeyInfo.getDataSize() ? size - omKeyInfo.getDataSize() : 0L); - replicatedSizeMap.computeIfPresent(replicatedSizeKey, + replicatedSizeMap.computeIfPresent(getReplicatedSizeKeyFromTable(tableName), (k, size) -> size > omKeyInfo.getReplicatedSize() ? size - omKeyInfo.getReplicatedSize() : 0L); } else { @@ -103,9 +95,9 @@ public void handleDeleteEvent(OMDBUpdateEvent event, @Override public void handleUpdateEvent(OMDBUpdateEvent event, String tableName, - HashMap objectCountMap, - HashMap unReplicatedSizeMap, - HashMap replicatedSizeMap) { + Map objectCountMap, + Map unReplicatedSizeMap, + Map replicatedSizeMap) { if (event.getValue() != null) { if (event.getOldValue() == null) { @@ -113,17 +105,15 @@ public void handleUpdateEvent(OMDBUpdateEvent event, event.getKey()); return; } - String unReplicatedSizeKey = getUnReplicatedSizeKeyFromTable(tableName); - String replicatedSizeKey = getReplicatedSizeKeyFromTable(tableName); // In Update event the count for the open table will not change. So we // don't need to update the count. OmKeyInfo oldKeyInfo = (OmKeyInfo) event.getOldValue(); OmKeyInfo newKeyInfo = (OmKeyInfo) event.getValue(); - unReplicatedSizeMap.computeIfPresent(unReplicatedSizeKey, + unReplicatedSizeMap.computeIfPresent(getUnReplicatedSizeKeyFromTable(tableName), (k, size) -> size - oldKeyInfo.getDataSize() + newKeyInfo.getDataSize()); - replicatedSizeMap.computeIfPresent(replicatedSizeKey, + replicatedSizeMap.computeIfPresent(getReplicatedSizeKeyFromTable(tableName), (k, size) -> size - oldKeyInfo.getReplicatedSize() + newKeyInfo.getReplicatedSize()); } else { diff --git a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/ReconOmTask.java b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/ReconOmTask.java index 2092d6a326c9..75ebebb3345d 100644 --- a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/ReconOmTask.java +++ b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/ReconOmTask.java @@ -32,6 +32,11 @@ public interface ReconOmTask { */ String getTaskName(); + /** + * Initialize the recon om task with first time initialization of resources. + */ + default void init() { } + /** * Process a set of OM events on tables that the task is listening on. * @param events Set of events to be processed by the task. diff --git a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/api/TestEndpoints.java b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/api/TestEndpoints.java index 5b6d22bf2671..7e151640c785 100644 --- a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/api/TestEndpoints.java +++ b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/api/TestEndpoints.java @@ -786,7 +786,7 @@ public void testGetClusterState() throws Exception { (ClusterStateResponse) response1.getEntity(); return (clusterStateResponse1.getContainers() == 1); }); - + omTableInsightTask.init(); // check volume, bucket and key count after running table count task Pair result = omTableInsightTask.reprocess(reconOMMetadataManager); diff --git a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/tasks/TestOmTableInsightTask.java b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/tasks/TestOmTableInsightTask.java index 8bb4c1f724bd..b83b846ce578 100644 --- a/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/tasks/TestOmTableInsightTask.java +++ b/hadoop-ozone/recon/src/test/java/org/apache/hadoop/ozone/recon/tasks/TestOmTableInsightTask.java @@ -44,6 +44,8 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.junit.jupiter.api.io.TempDir; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.io.IOException; import java.nio.file.Files; @@ -127,6 +129,9 @@ public class TestOmTableInsightTask extends AbstractReconSqlDBTest { @Mock private Table nsSummaryTable; + private static final Logger LOG = + LoggerFactory.getLogger(TestOmTableInsightTask.class); + public TestOmTableInsightTask() { super(); } @@ -154,6 +159,11 @@ private void initializeInjector() throws IOException { reconNamespaceSummaryManager, reconOMMetadataManager, ozoneConfiguration); dslContext = getDslContext(); + + omTableInsightTask.setTables(omTableInsightTask.getTaskTables()); + omTableInsightTask.setObjectCountMap(omTableInsightTask.initializeCountMap()); + omTableInsightTask.setUnReplicatedSizeMap(omTableInsightTask.initializeSizeMap(false)); + omTableInsightTask.setReplicatedSizeMap(omTableInsightTask.initializeSizeMap(true)); } @BeforeEach