Jian He created YARN-3165:
-----------------------------

             Summary: Possible inconsistent queue state when queue 
reinitialization failed
                 Key: YARN-3165
                 URL: https://issues.apache.org/jira/browse/YARN-3165
             Project: Hadoop YARN
          Issue Type: Bug
            Reporter: Jian He
            Assignee: Jian He


This came up in a discussion with [~chris.douglas]. 
If queue reinitialization failed in the middle, it is possible that queues are 
left in an inconsistent state - some queues are already updated, but some are 
not.  One example is below code in leafQueue:
{code} 
    if (newMax.getMemory() < oldMax.getMemory()
        || newMax.getVirtualCores() < oldMax.getVirtualCores()) {
      throw new IOException(
          "Trying to reinitialize "
              + getQueuePath()
              + " the maximum allocation size can not be decreased!"
              + " Current setting: " + oldMax
              + ", trying to set it to: " + newMax);
    }
{code}
If exception is thrown here, the previous queues are already updated, but 
latter queues are not.
So we should make queue reinitialization transactional. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to