hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve Loughran (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-13716) Add LambdaTestUtils class for tests; fix eventual consistency problem in contract test setup
Date Fri, 14 Oct 2016 12:58:20 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-13716?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15575261#comment-15575261
] 

Steve Loughran commented on HADOOP-13716:
-----------------------------------------

# I'll see about suppressing that javac warning
# checkstyle is being fussy about indentation in the lambda expressions. Not sure what to
do there...maybe it's something the checker isn't ready for yet, or we need to look at its
defaults.
# Anu: in the productions-sde retry code we have "ProportionalSleep"; I'll use that as the
term here too

> Add LambdaTestUtils class for tests; fix eventual consistency problem in contract test
setup
> --------------------------------------------------------------------------------------------
>
>                 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
>            Assignee: Steve Loughran
>         Attachments: HADOOP-13716-001.patch, HADOOP-13716-002.patch, HADOOP-13716-003.patch,
HADOOP-13716-005.patch, HADOOP-13716-branch-2-004.patch
>
>
> 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-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org


Mime
View raw message