ndimiduk commented on a change in pull request #1286: HBASE-23977 : Resolve 
flakes present in TestSlowLogRecorder
URL: https://github.com/apache/hbase/pull/1286#discussion_r395331100
 
 

 ##########
 File path: 
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/slowlog/TestSlowLogRecorder.java
 ##########
 @@ -214,29 +234,35 @@ public void testOnlineSlowLogWithHighRecords() throws 
Exception {
     Assert.assertNotEquals(-1, HBASE_TESTING_UTILITY.waitFor(3000,
       () -> slowLogRecorder.getSlowLogPayloads(request).size() == 14));
 
-    List<SlowLogPayload> slowLogPayloads = 
slowLogRecorder.getSlowLogPayloads(request);
-    Assert.assertEquals(slowLogPayloads.size(), 14);
-
-    // confirm strict order of slow log payloads
-    confirmPayloadParams(0, 154, slowLogPayloads);
-    confirmPayloadParams(1, 153, slowLogPayloads);
-    confirmPayloadParams(2, 152, slowLogPayloads);
-    confirmPayloadParams(3, 151, slowLogPayloads);
-    confirmPayloadParams(4, 150, slowLogPayloads);
-    confirmPayloadParams(5, 149, slowLogPayloads);
-    confirmPayloadParams(6, 148, slowLogPayloads);
-    confirmPayloadParams(7, 147, slowLogPayloads);
-    confirmPayloadParams(8, 146, slowLogPayloads);
-    confirmPayloadParams(9, 145, slowLogPayloads);
-    confirmPayloadParams(10, 144, slowLogPayloads);
-    confirmPayloadParams(11, 143, slowLogPayloads);
-    confirmPayloadParams(12, 142, slowLogPayloads);
-    confirmPayloadParams(13, 141, slowLogPayloads);
+    Assert.assertNotEquals(-1, HBASE_TESTING_UTILITY.waitFor(3000,
+      () -> {
+        List<SlowLogPayload> slowLogPayloads = 
slowLogRecorder.getSlowLogPayloads(request);
+        boolean b1 = slowLogPayloads.size() == 14;
+
+        // confirm strict order of slow log payloads
+        boolean b2 = confirmPayloadParams(0, 154, slowLogPayloads);
+        boolean b3 = confirmPayloadParams(1, 153, slowLogPayloads);
+        boolean b4 = confirmPayloadParams(2, 152, slowLogPayloads);
+        boolean b5 = confirmPayloadParams(3, 151, slowLogPayloads);
+        boolean b6 = confirmPayloadParams(4, 150, slowLogPayloads);
+        boolean b7 = confirmPayloadParams(5, 149, slowLogPayloads);
+        boolean b8 = confirmPayloadParams(6, 148, slowLogPayloads);
+        boolean b9 = confirmPayloadParams(7, 147, slowLogPayloads);
+        boolean b10 = confirmPayloadParams(8, 146, slowLogPayloads);
+        boolean b11 = confirmPayloadParams(9, 145, slowLogPayloads);
+        boolean b12 = confirmPayloadParams(10, 144, slowLogPayloads);
+        boolean b13 = confirmPayloadParams(11, 143, slowLogPayloads);
+        boolean b14 = confirmPayloadParams(12, 142, slowLogPayloads);
+        boolean b15 = confirmPayloadParams(13, 141, slowLogPayloads);
+        return b1 && b2 && b3 && b4 && b5 && b6 && b7 && b8 && b9 && b10 && b11
 
 Review comment:
   Yeah, so here's the example where all these intermediate variables make this 
hard to know it's correct on a quick glance. If it was a chain of `return foo 
&& bar && biz && ...`, it's obvious that all components are considered.

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to