[ 
https://issues.apache.org/jira/browse/PIG-4581?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Remi Catherinot updated PIG-4581:
---------------------------------
    Attachment: PIG-4581.patch

Isolate HashMap accesses by using ThreadLocal + added javadoc to state the 
class is thread-safe. No unit tests because it's not possible to reproduce it 
on demand.

> thread safe issue in NodeIdGenerator
> ------------------------------------
>
>                 Key: PIG-4581
>                 URL: https://issues.apache.org/jira/browse/PIG-4581
>             Project: Pig
>          Issue Type: Bug
>          Components: impl
>    Affects Versions: 0.14.0
>         Environment: any computer with multiple cores, does not always happen 
> since it is not a determinitic bug. The more threads and real cpu, the more 
> chances it will happen.
>            Reporter: Remi Catherinot
>            Priority: Trivial
>         Attachments: PIG-4581.patch
>
>
> NodeIdGenerator use an HashMap without any synchronization. In multithreaded 
> environment it may lead to concurrent access to the HashMap which, in some 
> case, triggers an infinite loop inside the HashMap implementation => the 
> parsing of the pig request never ends so the job will never run + it eats a 
> threads in the JVM that just keep burning CPU cycles.
> since it is hard to reproduce and it is not a deterministic bug it is 
> impossible to provide a viable unit tests for it to demonstrate both the bug 
> and the fix.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to