[ https://issues.apache.org/jira/browse/OOZIE-3160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16576376#comment-16576376 ]
Andras Piros commented on OOZIE-3160: ------------------------------------- Thanks for the contribution [~pbacsko]! I like that the code is pretty much aligned with the specification. I think most functionality is covered and error-free, the code is quite readable - I wouldn't call it a proof of concept anymore ;) I only made a couple of comments on ReviewBoard. Nice job! > 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-3160-POC02.patch, OOZIE-3160-POC02.patch, > OOZIE-3160-POC03.patch, OOZIE-3160-POC04.patch, OOZIE-3160-POC05.patch, > PriorityDelayQueue improvement - OOZIE-3160.pdf > > > 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)