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)