HBASE-25598 TestFromClientSide5.testScanMetrics is flaky (#2977)

Signed-off-by: Duo Zhang <zhangduo@apache.org>
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide5.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide5.java
index 7a1ab5a..fe73ab5 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide5.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide5.java
@@ -970,7 +970,7 @@
           numRecords++;
         }
 
-        LOG.info("test data has " + numRecords + " records.");
+        LOG.info("test data has {} records.", numRecords);
 
         // by default, scan metrics collection is turned off
         assertNull(scanner.getScanMetrics());
@@ -983,8 +983,6 @@
       try (ResultScanner scanner = ht.getScanner(scan2)) {
         for (Result result : scanner.next(numRecords - 1)) {
         }
-        scanner.close();
-        // closing the scanner will set the metrics.
         assertNotNull(scanner.getScanMetrics());
       }
 
@@ -999,7 +997,7 @@
         }
         ScanMetrics scanMetrics = scanner.getScanMetrics();
         assertEquals("Did not access all the regions in the table", numOfRegions,
-                scanMetrics.countOfRegions.get());
+          scanMetrics.countOfRegions.get());
       }
 
       // check byte counters
@@ -1008,15 +1006,14 @@
       scan2.setCaching(1);
       try (ResultScanner scanner = ht.getScanner(scan2)) {
         int numBytes = 0;
-        for (Result result : scanner.next(1)) {
+        for (Result result : scanner) {
           for (Cell cell : result.listCells()) {
             numBytes += PrivateCellUtil.estimatedSerializedSizeOf(cell);
           }
         }
-        scanner.close();
         ScanMetrics scanMetrics = scanner.getScanMetrics();
         assertEquals("Did not count the result bytes", numBytes,
-                scanMetrics.countOfBytesInResults.get());
+          scanMetrics.countOfBytesInResults.get());
       }
 
       // check byte counters on a small scan
@@ -1026,15 +1023,14 @@
       scan2.setSmall(true);
       try (ResultScanner scanner = ht.getScanner(scan2)) {
         int numBytes = 0;
-        for (Result result : scanner.next(1)) {
+        for (Result result : scanner) {
           for (Cell cell : result.listCells()) {
             numBytes += PrivateCellUtil.estimatedSerializedSizeOf(cell);
           }
         }
-        scanner.close();
         ScanMetrics scanMetrics = scanner.getScanMetrics();
         assertEquals("Did not count the result bytes", numBytes,
-                scanMetrics.countOfBytesInResults.get());
+          scanMetrics.countOfBytesInResults.get());
       }
 
       // now, test that the metrics are still collected even if you don't call close, but do
@@ -1064,8 +1060,10 @@
         scannerWithClose.close();
         ScanMetrics scanMetricsWithClose = scannerWithClose.getScanMetrics();
         assertEquals("Did not access all the regions in the table", numOfRegions,
-                scanMetricsWithClose.countOfRegions.get());
+          scanMetricsWithClose.countOfRegions.get());
       }
+    } finally {
+      TEST_UTIL.deleteTable(tableName);
     }
   }