[
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