adoroszlai commented on code in PR #8069: URL: https://github.com/apache/ozone/pull/8069#discussion_r1993463628
########## hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/OmTableInsightTask.java: ########## @@ -112,20 +112,26 @@ public TaskResult reprocess(OMMetadataManager omMetadataManager) { for (String tableName : tables) { Table table = omMetadataManager.getTable(tableName); - try (TableIterator<String, ? extends Table.KeyValue<String, ?>> iterator - = table.iterator()) { + try { if (tableHandlers.containsKey(tableName)) { - Triple<Long, Long, Long> details = - tableHandlers.get(tableName).getTableSizeAndCount(iterator); - objectCountMap.put(getTableCountKeyFromTable(tableName), - details.getLeft()); - unReplicatedSizeMap.put( - getUnReplicatedSizeKeyFromTable(tableName), details.getMiddle()); - replicatedSizeMap.put(getReplicatedSizeKeyFromTable(tableName), - details.getRight()); + try (TableIterator<String, ? extends Table.KeyValue<String, ?>> iterator + = table.iterator()) { + Triple<Long, Long, Long> details = + tableHandlers.get(tableName).getTableSizeAndCount(iterator); + objectCountMap.put(getTableCountKeyFromTable(tableName), + details.getLeft()); + unReplicatedSizeMap.put( + getUnReplicatedSizeKeyFromTable(tableName), details.getMiddle()); + replicatedSizeMap.put(getReplicatedSizeKeyFromTable(tableName), + details.getRight()); + } } else { - long count = Iterators.size(iterator); - objectCountMap.put(getTableCountKeyFromTable(tableName), count); + try ( + TableIterator<String, ? extends Table.KeyValue<String, ?>> rawTableIterator + = table.getRawTable().iterator()) { + long count = Iterators.size(rawTableIterator); Review Comment: Isn't `getEstimatedKeyCount()` good enough to get the count? If not: instead of exposing the raw table from `TypedTable`, I think `getKeyCount()` should be implemented in `Table`, to which `TypedTable` could delegate. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@ozone.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@ozone.apache.org For additional commands, e-mail: issues-h...@ozone.apache.org