Uploaded image for project: 'Oozie'
  1. Oozie
  2. OOZIE-1664

PollablePriorityDelayQueue.poll() returns elements with +ve delay

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 4.1.0
    • None
    • None

    Description

      In CallableQueueService:

                  queue = new PollablePriorityDelayQueue<CallableWrapper>(3, 1000 * 30, TimeUnit.MILLISECONDS, queueSize) {
      
                      @Override
                      protected boolean eligibleToPoll(QueueElement<?> element) {
                          if (element != null) {
                              CallableWrapper wrapper = (CallableWrapper) element;
                              if (element.getElement() != null) {
                                  return callableReachMaxConcurrency(wrapper.getElement());
                              }
                          }
                          return false;
                      }
      
                  };
      

      elegibleToPoll() doesn't check if delay is -ve and in PollablePriorityQueue.poll() iterates over all elements and return any element whose concurrency is not maxed. The element returned can be an element with +ve delay which implies the element is still not up for execution(delay is not elapsed yet), but is picked up for execution

                          Iterator<QueueElement<E>> iter = queues[i - 1].iterator();
                          while(e == null && iter.hasNext()) {
                              e = iter.next();
                              if (eligibleToPoll(e)) {
                                  queues[i - 1].remove(e);
                              }
                              else {
                                  debug("poll(): the iterator element [{0}], from P[{1}] is not eligible to poll", e.getElement().toString(), i);
                                  e = null;
                              }
                          }
      

      Attachments

        1. OOZIE-1664.patch
          2 kB
          Shwetha GS

        Activity

          People

            shwethags Shwetha GS
            shwethags Shwetha GS
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: