Steve Loughran created HADOOP-13716: ---------------------------------------
Summary: Add an Eventually class to await eventual completion of lambda expressions Key: HADOOP-13716 URL: https://issues.apache.org/jira/browse/HADOOP-13716 Project: Hadoop Common Issue Type: New Feature Components: test Affects Versions: 2.8.0 Reporter: Steve Loughran To make our tests robust against timing problems and eventual consistent stores, we need to do more spin & wait for state. We have some code in {{GenericTestUtils.waitFor}} to await a condition being met, but the predicate it calls doesn't throw exceptions, there's no way for a probe to throw an exception, and all you get is the eventual "timed out" message. We can do better, and in closure-ready languages (scala & scalatest, groovy and some slider code) we've examples to follow. Some of that work has been reimplemented slightly in {{S3ATestUtils.eventually}} I propose adding a class in the test tree, {{Eventually}} to be a successor/replacement for these. # has an eventually/waitfor operation taking a predicate that throws an exception # has an "evaluate" exception which tries to evaluate an answer until the operation stops raising an exception. (again, from scalatest) # plugin backoff strategies (from Scalatest; lets you do exponential as well as linear) # option of adding a special handler to generate the failure exception (e.g. run more detailed diagnostics for the exception text, etc). # be Java 8 lambda expression friendly # be testable and tested itself. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org