[
https://issues.apache.org/jira/browse/OOZIE-3160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16623347#comment-16623347
]
Andras Piros commented on OOZIE-3160:
-------------------------------------
{{TestCallableQueueService#testQueueSizeWhenMaxConcurrencyIsReached()}} is
flaky, but {{TestCallableQueueService#testPriorityExecutionOrder()}} could not
be reproduced either locally or using
[{{dist_test}}|http://dist-test.cloudera.org/job?job_id=oozie.forsage.1537522567.2166].
Committing amendment patch 001 to unblock OOZIE-3349.
TODO items still:
# make unit test {{TestHAPartitionDependencyManagerService}} and ZooKeeper
related test cases pass when
{{oozie.service.CallableQueueService.queue.oldImpl=true}}
# fix {{TestCallableQueueService}} flakiness
[~pbacsko] can you please take some time to fix those outstanding items? Thanks!
> 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
> Affects Versions: trunk
> Environment: all platforms
> Reporter: jj
> Assignee: Peter Bacsko
> Priority: Major
> Fix For: 5.1.0
>
> Attachments: 11111111111111.png, 222222222222222222.png,
> OOZIE-3160-001.patch, OOZIE-3160-002.patch, OOZIE-3160-003.patch,
> OOZIE-3160-004.patch, OOZIE-3160-005.patch, OOZIE-3160-006.patch,
> OOZIE-3160-007.patch, OOZIE-3160-POC01.patch, OOZIE-3160-POC02.patch,
> OOZIE-3160-POC02.patch, OOZIE-3160-POC03.patch, OOZIE-3160-POC04.patch,
> OOZIE-3160-POC05.patch, OOZIE-3160.amend.001.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)