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

Mingliang Liu commented on HADOOP-16757:
----------------------------------------

{quote}
hadn't seen that -but yes, 10s is too short or any test which goes against the 
store. Not just to deal with latencies over local connections -but so you can 
actually work with them in the debugger.
{quote}
Yes, this makes perfect sense. I recently did not debug on this UT, but I can 
imagine needing more time out when I do that.

{quote}
Anything which is derived from AbstractS3ATestBase should get a timeout of 
S3ATestConstants.S3A_TEST_TIMEOUT millis
{quote}
Yes for contract tests, the default value in {{AbstractFSContractTestBase}} is 
3 min while S3A contract tests are using {{S3ATestConstants.S3A_TEST_TIMEOUT}} 
which is 10 mins. This is is long enough for all use cases. If not, we have 
defined the  {{SCALE_TEST_TIMEOUT_SECONDS}} as 30 mins, which is....I will 
never complain.

{quote}
If you change MetadataStoreTestBase to use the same timeout, we will get a good 
delay everywhere.
{quote}
So I can simply put a rule over there the base class? And subclass can feel 
free to override it with a method {{getTestTimeoutMillis}}. By default we will 
use {{S3ATestConstants.S3A_TEST_TIMEOUT}}.

OK, let me put up a PR for discussion.

Thanks!

> Increase timeout unit test rule for ITestDynamoDBMetadataStore
> --------------------------------------------------------------
>
>                 Key: HADOOP-16757
>                 URL: https://issues.apache.org/jira/browse/HADOOP-16757
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/s3
>            Reporter: Mingliang Liu
>            Priority: Major
>
> Not sure if this is a good proposal, but I saw a few cases where some 
> integration test methods in {{ITestDynamoDBMetadataStore}} timed out simply. 
> Specially, the one keeps failing me today is 
> {{testAncestorOverwriteConflict}}. I increase the timeout to 20s and it works 
> for me happily. Am I using VPN and a slow home network, I'm afraid so.
> The time out rule, as inherited from base class {{HadoopTestBase}}, is 10s by 
> default. Though that 10s time out default value can be overridden in base 
> class via system property {{test.default.timeout}}, that's system wide 
> affecting all other tests. Changing that time out value for one test is no 
> better than overriding in this test {{ITestDynamoDBMetadataStore}} 
> explicitly. I think doubling it to 20s would not be very crazy considering we 
> are testing against a remote web service, create and destroy tables sometimes.
> {code}
>   @Rule
>   public Timeout timeout = new Timeout(20, TimeUnit.SECONDS);
> {code}
> Thoughts?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to