You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sqoop.apache.org by "Hari Shreedharan (JIRA)" <ji...@apache.org> on 2012/11/15 02:18:12 UTC
[jira] [Commented] (SQOOP-690) Fix threading issues in
SqoopOutputFormatLoadExecutor
[ https://issues.apache.org/jira/browse/SQOOP-690?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13497678#comment-13497678 ]
Hari Shreedharan commented on SQOOP-690:
----------------------------------------
Changes in the patch:
* SqoopOutputFormatLoadExecutor essentially has one reader and one writer. So use counts and yields to make sure the reader waits for the writer and vice versa.
* Some exception handling was incorrect earlier - fixed that (instead of caching the exception, it was being rethrown - without setting readerFinished to true.
* Made the internal content of Data class volatile, since it is essentially immutable - volatile is enough, no synchronization is needed (only for safe publication, not for any thread handling).
> Fix threading issues in SqoopOutputFormatLoadExecutor
> -----------------------------------------------------
>
> Key: SQOOP-690
> URL: https://issues.apache.org/jira/browse/SQOOP-690
> Project: Sqoop
> Issue Type: Bug
> Affects Versions: 2.0.0
> Reporter: Hari Shreedharan
> Assignee: Hari Shreedharan
> Fix For: 2.0.0
>
> Attachments: SQOOP-690-1.patch
>
>
> The threading uses synchronized and wait/notify in this class. wait() is called outside while loops too. We can simply this using higher level concurrency constructs like semaphores or latches.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira