[ 
https://issues.apache.org/jira/browse/OOZIE-1886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14053412#comment-14053412
 ] 

Shwetha G S commented on OOZIE-1886:
------------------------------------

{quote}
DelayQueue is thread safe, so we don't need use lock for offer(). Java use 
ReentrantLock internally.
{quote}
offer() requires lock as it also modifies queueElement in addition to 
DelayQueue.offer(). Since offer() is called only from 
CallableQueueService.queue() and CallableQueueService.queue() is already 
synchronised, we don't need another lock in offer().

Can someone commit this please?

> Queue operation talking longer time
> -----------------------------------
>
>                 Key: OOZIE-1886
>                 URL: https://issues.apache.org/jira/browse/OOZIE-1886
>             Project: Oozie
>          Issue Type: Bug
>    Affects Versions: 4.0.1
>            Reporter: Shwetha G S
>            Assignee: Shwetha G S
>             Fix For: trunk
>
>         Attachments: OOZIE-1886.patch
>
>
> Purshotam Shah added a comment - 24/May/14 00:36
> We noticed that this fix is causing congestion. Queue operation were talking 
> longer time than expected.
> There are two lock being used for queuing commands, which is causing delay.
> First, all queue command function of CallableQueueService is synchronized.
> Second, add function of PriorityDelayQueue need to acquire ReentrantLock
> lock, which was added as part of this patch.
> Acquiring two lock for queueing a single command was slowing down the system.
> Server was taking more than 4 sec, just to queue a command.
> After we rollback this patch and server was back to normal.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to