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