[ https://issues.apache.org/jira/browse/MAPREDUCE-1067?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hemanth Yamijala updated MAPREDUCE-1067: ---------------------------------------- Status: Open (was: Patch Available) I have some feedback: - In QueueConfigurationParser.getQueueElement, we have specifically removed the check queueState != null when appending a 'state' element to the Queue element. It seems like the check is useful for preventing errors. Is there a specific reason for doing this ? For e.g. would it not be true that there could be a leaf queue given a null State on construction ? We should either prevent it in the construction or here, no ? - bq. Also, state of a container queue should not be allowed to change once the hierarchy is built. I think the way this works is when queue configuration is refreshed, a state change for container queues will result in exceptions being thrown when the QueueConfigurationParser parses and constructs Queue objects (using setState or addChild). This results in a RuntimeException that will be handled only by the IPC handler on the server. I think no useful information about the error will reach the admin. Can you please verify if this is the case ? If yes, I think it must be fixed to be handled more gracefully, and a better error message must be given. Same holds for first time construction of hierarchy as well. - testQueueState should be split into multiple test cases. Typically, it is good practice to test one condition / aspect of a unit in one unit test case. It makes test case maintenance easier. There are atleast 3 distinct tests I am seeing in this test case - The first part of the test testQueueState is verifying a message that doesn't seem correct. For e.g. I think the XML is semantically correct, but since a queue state is defined for a container queue, construction fails. Then why are we getting an exception whose message is "Malformed xml formation queue tag and acls tags or state tags are siblings" ? The code is incorrect if this test is passing. - Shouldn't there be test cases testing refresh of queue state for container queues and verify they fail ? - There should also be a case to test that when a queue is constructed with state stopped, and then children are added to it, an exception is thrown. It is arguable if this is the right design - i.e. we should probably have ContainerQueue as a first class citizen and then we can always prevent an invalid state for such an instance, but possibly that's a separate JIRA. > Default state of queues is undefined when unspecified > ----------------------------------------------------- > > Key: MAPREDUCE-1067 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-1067 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: jobtracker > Affects Versions: 0.21.0 > Reporter: V.V.Chaitanya Krishna > Assignee: V.V.Chaitanya Krishna > Priority: Blocker > Fix For: 0.21.0 > > Attachments: MAPREDUCE-1067-1.patch, MAPREDUCE-1067-2.patch, > MAPREDUCE-1067-3.patch, MAPREDUCE-1067-4.patch, MAPREDUCE-1067-5.patch, > MAPREDUCE-1067-6.patch > > > Currently, if the state of a queue is not specified, it is being set to > "undefined" state instead of running state. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.