[
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]