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