hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mingliang Liu (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HDFS-10666) Über-jira: Unit tests should not use fixed sleep interval to wait for conditions
Date Thu, 21 Jul 2016 18:39:20 GMT

     [ https://issues.apache.org/jira/browse/HDFS-10666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Mingliang Liu updated HDFS-10666:
---------------------------------
    Description: 
There have been dozens of intermittent failing unit tests because they depend on fixed-interval
sleep to wait for conditions to reach before assertion. This umbrella jira is to replace these
sleep statements with:
* {{GenericTestUtils.waitFor()}} to retry the conditions/assertions
* Trigger internal state change of {{MiniDFSCluster}}, e.g. trigger {BlockReports,HeartBeats,DeletionReports}
* Fails fast if specific exceptions are caught
* Coordinate the JUnit thread with activities of the internal threads
* _ad-hoc fixes_...

p.s. I don't know how closures in Java 8 comes into play but I'd like to see any effort.

  was:
There have been dozens of intermittent failing unit tests because they depend on fixed-interval
sleep to wait for conditions to reach before assertion. This umbrella jira is to replace these
sleep statements with:
* {{GenericTestUtils.waitFor()}} to retry the conditions/assertions
* Trigger internal state change of {{MiniDFSCluster}}, e.g. {{trigger\{BlockReports,HeartBeats,DeletionReports\}}}
* fails fast if specific exceptions are caught
* _ad-hoc fixes_ (TBD)

p.s. I don't know how closures in Java 8 comes into play but I'd like to see any effort.


Thanks [~cnauroth] for the suggestions. I updated the description.

This reminds me of {{BlockManagerTestUtil#stopReplicationThread()}}, which manipulates the
{{BlockManager}} internal state {{checkNSRunning}} for coordinating the replication thread.
I think the {{checkNSRunning}} was added dedicatedly for this testing purpose. We should leverage
similar approaches only when necessary.

> Über-jira: Unit tests should not use fixed sleep interval to wait for conditions
> --------------------------------------------------------------------------------
>
>                 Key: HDFS-10666
>                 URL: https://issues.apache.org/jira/browse/HDFS-10666
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: test
>    Affects Versions: 3.0.0-alpha2
>            Reporter: Mingliang Liu
>            Assignee: Mingliang Liu
>
> There have been dozens of intermittent failing unit tests because they depend on fixed-interval
sleep to wait for conditions to reach before assertion. This umbrella jira is to replace these
sleep statements with:
> * {{GenericTestUtils.waitFor()}} to retry the conditions/assertions
> * Trigger internal state change of {{MiniDFSCluster}}, e.g. trigger {BlockReports,HeartBeats,DeletionReports}
> * Fails fast if specific exceptions are caught
> * Coordinate the JUnit thread with activities of the internal threads
> * _ad-hoc fixes_...
> p.s. I don't know how closures in Java 8 comes into play but I'd like to see any effort.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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


Mime
View raw message