[
https://issues.apache.org/jira/browse/HADOOP-13826?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15715769#comment-15715769
]
Steve Loughran commented on HADOOP-13826:
-----------------------------------------
one thing to consider: now that we've gone to fast upload streams each with
their own bounded queues, does the main queue need to be bounded at all? I
guess we have to limit it by the size of the active connections.
we know the big ones are PUT, PUT-PART, COPY and COPY-PART right? The puts are
limited per stream; if that is locked down (todo: check those numbers), then
there's no overload on memory unless there are many streams trying to write
simultaneously.
Copy could get the same treatment: we will need to throttle the number of
active copy request across the entire FS. Which means the parallel renaming
should share a blocking pool with all other threads trying to do copies
Oh, and I'd like to submit async delete and simple zero-byte put operations
somewhere, alongside any async parent directory check (goal: do the full parent
treewalk on create(), but async and only validate the results before that first
PUT).
> S3A Deadlock in multipart copy due to thread pool limits.
> ---------------------------------------------------------
>
> Key: HADOOP-13826
> URL: https://issues.apache.org/jira/browse/HADOOP-13826
> Project: Hadoop Common
> Issue Type: Bug
> Components: fs/s3
> Affects Versions: 2.7.3
> Reporter: Sean Mackrory
> Assignee: Sean Mackrory
> Priority: Critical
> Attachments: HADOOP-13826.001.patch, HADOOP-13826.002.patch
>
>
> In testing HIVE-15093 we have encountered deadlocks in the s3a connector. The
> TransferManager javadocs
> (http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/transfer/TransferManager.html)
> explain how this is possible:
> {quote}It is not recommended to use a single threaded executor or a thread
> pool with a bounded work queue as control tasks may submit subtasks that
> can't complete until all sub tasks complete. Using an incorrectly configured
> thread pool may cause a deadlock (I.E. the work queue is filled with control
> tasks that can't finish until subtasks complete but subtasks can't execute
> because the queue is filled).{quote}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]