[ https://issues.apache.org/jira/browse/OOZIE-3160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16489154#comment-16489154 ]
Peter Bacsko commented on OOZIE-3160: ------------------------------------- [~j782070772] if you're still following this ticket, I'd appreciate if you could try out the patch with the same settings. Anyway, I implemented some big changes inside {{PriorityDelayQueue}}. Unit tests for the class passed on my machine, but we need to see a complete build first. > PriorityDelayQueue put()/take() can cause significant CPU load due to busy > waiting > ---------------------------------------------------------------------------------- > > Key: OOZIE-3160 > URL: https://issues.apache.org/jira/browse/OOZIE-3160 > Project: Oozie > Issue Type: Bug > Components: core > Environment: all platforms > Reporter: jj > Assignee: Peter Bacsko > Priority: Major > Attachments: 11111111111111.png, 222222222222222222.png, > OOZIE-3160-POC01.patch > > > oozie process always consume high cpu. in my mechine,around 10%. > I check the source code,find take() method in PriorityDelayQueue class。 > code: > {code:java} > public QueueElement<E> take() throws InterruptedException { > QueueElement<E> e = poll(); > while (e == null) { > Thread.sleep(10); > e = poll(); > } > return e; > } > {code} > i think it's the reason of this problem. it's keep while, not await. -- This message was sent by Atlassian JIRA (v7.6.3#76005)