hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From GitBox <...@apache.org>
Subject [GitHub] [hadoop] dineshchitlangia commented on a change in pull request #1205: HDDS-1886. Use ArrayList#clear to address audit failure scenario
Date Thu, 01 Aug 2019 13:39:01 GMT
dineshchitlangia commented on a change in pull request #1205: HDDS-1886. Use ArrayList#clear
to address audit failure scenario
URL: https://github.com/apache/hadoop/pull/1205#discussion_r309700845
 
 

 ##########
 File path: hadoop-hdds/common/src/test/java/org/apache/hadoop/ozone/audit/TestOzoneAuditLogger.java
 ##########
 @@ -153,7 +153,7 @@ private void verifyLog(String expected) throws IOException {
     assertTrue(lines.size() != 0);
     assertTrue(expected.equalsIgnoreCase(lines.get(0)));
     //empty the file
-    lines.remove(0);
+    lines.clear();
 
 Review comment:
   @adoroszlai Thanks for review & suggestions.
   
   > 1. Wrap assertions and cleanup in `try` and `finally`, respectively.  Otherwise a
failed assertion would cause all further independent test cases to also fail due to leftover
content in the file.  (This one is not specific to multi-line cases.)
   
   Yes, that was the original approach, however, the review at the time preferred to throw
the Exception instead of catching it. This is because we won't accept a few failures, the
criteria required is all tests must pass.
   
   > 2. Make `verifyLog` accept `String...` and check each expected line.  Also, retry
reading the file until it has enough lines instead of being non-empty.
   
   In this test for the base framework of audit logging, we invoke verifyLog each time a log
worthy event has occurred. So at any time, the recent event is the only event in the audit
log. Hence we verify only one line at a time as they are invoked by different tests.
   
   > 3. I think using `assertEquals` would make it easier to spot differences between expected
and actual values. (I'm not sure case-ignorance is really important.  Currently the test passes
with strict case check, too.)
   Again, since the test was for base audit logging framework, strict checking was required
in the original.
   
   That said, the goal of current jira is only to move away from using ArrayList#remove. I
will file a jira to refactor this test class so that it doesn't rely on hard coded messages.
We can address any other suggestions in that jira.
   

----------------------------------------------------------------
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:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org


Mime
View raw message