{"record":{"id":"6e3dea59414b0004","repo":"apache/hadoop","slug":"no-queues-defined","errorCode":null,"errorMessage":"No queues defined ","messagePattern":"No queues defined ","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/QueueConfigurationParser.java","lineNumber":194,"sourceCode":"        \"Failed to set setXIncludeAware(true) for parser \"\n          + docBuilderFactory\n          + NAME_SEPARATOR + e);\n    }\n    DocumentBuilder builder = docBuilderFactory.newDocumentBuilder();\n    Document doc = null;\n    Element queuesNode = null;\n\n    doc = builder.parse(resourceInput);\n    queuesNode = doc.getDocumentElement();\n    return this.parseResource(queuesNode);\n  }\n\n  private Queue parseResource(Element queuesNode) {\n    Queue rootNode = null;\n    try {\n      if (!QUEUES_TAG.equals(queuesNode.getTagName())) {\n        LOG.info(\"Bad conf file: top-level element not <queues>\");\n        throw new RuntimeException(\"No queues defined \");\n      }\n      NamedNodeMap nmp = queuesNode.getAttributes();\n      Node acls = nmp.getNamedItem(ACLS_ENABLED_TAG);\n\n      if (acls != null) {\n        LOG.warn(\"Configuring \" + ACLS_ENABLED_TAG + \" flag in \" +\n            QueueManager.QUEUE_CONF_FILE_NAME + \" is not valid. \" +\n            \"This tag is ignored. Configure \" +\n            MRConfig.MR_ACLS_ENABLED + \" in mapred-site.xml. See the \" +\n            \" documentation of \" + MRConfig.MR_ACLS_ENABLED +\n            \", which is used for enabling job level authorization and \" +\n            \" queue level authorization.\");\n      }\n\n      NodeList props = queuesNode.getChildNodes();\n      if (props == null || props.getLength() <= 0) {\n        LOG.info(\" Bad configuration no queues defined \");\n        throw new RuntimeException(\" No queues defined \");","sourceCodeStart":176,"sourceCodeEnd":212,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapred/QueueConfigurationParser.java#L176-L212","documentation":"After parsing, the queue XML parser requires the document's root element to be exactly <queues>; anything else triggers this RuntimeException immediately after the 'Bad conf file: top-level element not <queues>' log line. It means the wrong file or a malformed document reached the queue parser.","triggerScenarios":"A mapred-queues.xml whose root is <configuration> (mapred-site content pasted in), a typo'd or differently-cased root tag, or an unrelated XML file passed to QueueConfigurationParser.","commonSituations":"Copy-paste between config files during cluster setup; template refactors renaming the root; editor auto-modifications; CI deploying the wrong template into mapred-queues.xml.","solutions":["Make the root element exactly <queues>","Diff against a known-good mapred-queues.xml from the Hadoop distribution","Validate before deploying: xmllint --noout mapred-queues.xml plus an explicit root-element check"],"exampleFix":"<!-- before -->\n<configuration>\n  <queue><name>default</name></queue>\n</configuration>\n\n<!-- after -->\n<queues>\n  <queue><name>default</name></queue>\n</queues>","handlingStrategy":"validation","validationCode":"// deploy-time check: queue config root must be <queues>\nDocument d = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(path));\nif (!\"queues\".equals(d.getDocumentElement().getTagName())) {\n  throw new IllegalArgumentException(\"queue config root must be <queues>, found <\"\n      + d.getDocumentElement().getTagName() + \">\");\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Template queue XML from the distribution's example; never hand-retype the root tag","Lint site XML files in CI (xmllint plus root-element assertions)","Keep per-file roles distinct: mapred-site vs mapred-queues vs capacity-scheduler"],"tags":["hadoop","mapreduce","queues","xml","configuration","parse-error"],"backgroundTag":"malformed-config-file","analyzedSha":"2add9630210752f88ceb1bb74eb65e37bf41da8e","analyzedAt":"2026-08-22T19:55:07.957Z","schemaVersion":2},"datasetVersion":"2026-08-22T20:17:22.307Z"}