-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18302/
-----------------------------------------------------------
Review request for oozie.
Bugs: OOZIE-1699
https://issues.apache.org/jira/browse/OOZIE-1699
Repository: oozie-git
Description
-------
The core issue is before XCommand is added to the workerQueue within
BlockingQueue of the ThreadPoolExecutor, it is added to the uniqueCallables in
CallableQueueService. If however while XCommand isn't added to the
BlockingQueue due to any exception (as below), the item remains in
uniqueCallables preventing further execution of the command.
{code}
if (queueElement == null) {
throw new NullPointerException("queueElement is NULL");
}
if (queueElement.getPriority() < 0 || queueElement.getPriority() >=
priorities) {
throw new IllegalArgumentException("priority out of range: " +
queueElement);
}
if (queueElement.inQueue) {
throw new IllegalStateException("queueElement already in a queue: "
+ queueElement);
}
{code}
Diffs
-----
core/src/main/java/org/apache/oozie/service/CallableQueueService.java ab81b09
core/src/main/java/org/apache/oozie/util/PollablePriorityDelayQueue.java
6645544
core/src/main/java/org/apache/oozie/util/PriorityDelayQueue.java 8b4e0ff
core/src/test/java/org/apache/oozie/service/TestCallableQueueService.java
903866d
Diff: https://reviews.apache.org/r/18302/diff/
Testing
-------
New tests added to TestCallableQueueService to validate if the fix indeed fixes
this issue.
Thanks,
Srikanth Sundarrajan