hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sean Mackrory (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-14215) DynamoDB client should waitForActive on existing tables
Date Fri, 07 Apr 2017 02:18:41 GMT

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

Sean Mackrory commented on HADOOP-14215:
----------------------------------------

Sorry, thought I was clear I wasn't done testing - was just +1'ing the change contingent on
all that. ITestS3GuardConcurrentOps has been perfectly reliable with the latest patch. Most
other tests work with -Ddynamo -Ds3guard, but TestDynamoDBMetadataStore.testTableVersionRequired
is timing out (and does so even with big increases in the test timeout). And what Fabbri points
out is why:

{quote}If a user points S3Guard at an empty DDB table, the behavior would be to retry until
timeout and then LOG.warn that the table contains no version marker{quote}

So we can crank up the timeout to that point, or make the timeout configurable for the sake
of testing.



> DynamoDB client should waitForActive on existing tables
> -------------------------------------------------------
>
>                 Key: HADOOP-14215
>                 URL: https://issues.apache.org/jira/browse/HADOOP-14215
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/s3
>            Reporter: Sean Mackrory
>            Assignee: Sean Mackrory
>            Priority: Critical
>             Fix For: HADOOP-13345
>
>         Attachments: HADOOP-14215-HADOOP-13345.000.patch, HADOOP-14215-HADOOP-13345.001.patch,
HADOOP-14215-HADOOP-13345.002.patch
>
>
> I saw a case where 2 separate applications tried to use the same non-pre-existing table
with table.create = true at about the same time. One failed with a ResourceInUse exception.
If a table does not exist, we attempt to create it and then wait for it to enter the active
state. If another jumps in in the middle of that, the table may exist, thus bypassing our
call to waitForActive(), and then try to use the table immediately.
> While we're at it, let's also make sure that the race condition where a table might get
created between checking if it exists and attempting to create it is handled gracefully.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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