[jira] [Updated] (HADOOP-8031) Configuration class fails to find embedded .jar resources; should use URL.openStream()
[ https://issues.apache.org/jira/browse/HADOOP-8031?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ahmed Radwan updated HADOOP-8031: - Attachment: HADOOP-8031-part2.patch Configuration class fails to find embedded .jar resources; should use URL.openStream() -- Key: HADOOP-8031 URL: https://issues.apache.org/jira/browse/HADOOP-8031 Project: Hadoop Common Issue Type: Bug Components: conf Affects Versions: 2.0.0-alpha Reporter: Elias Ross Assignee: Elias Ross Fix For: 2.2.0-alpha Attachments: 0001-fix-HADOOP-7982-class-loader.patch, HADOOP-8031-part2.patch, HADOOP-8031.patch, hadoop-8031.txt While running a hadoop client within RHQ (monitoring software) using its classloader, I see this: 2012-02-07 09:15:25,313 INFO [ResourceContainer.invoker.daemon-2] (org.apache.hadoop.conf.Configuration)- parsing jar:file:/usr/local/rhq-agent/data/tmp/rhq-hadoop-plugin-4.3.0-SNAPSHOT.jar6856622641102893436.classloader/hadoop-core-0.20.2+737+1.jar7204287718482036191.tmp!/core-default.xml 2012-02-07 09:15:25,318 ERROR [InventoryManager.discovery-1] (rhq.core.pc.inventory.InventoryManager)- Failed to start component for Resource[id=16290, type=NameNode, key=NameNode:/usr/lib/hadoop-0.20, name=NameNode, parent=vg61l01ad-hadoop002.apple.com] from synchronized merge. org.rhq.core.clientapi.agent.PluginContainerException: Failed to start component for resource Resource[id=16290, type=NameNode, key=NameNode:/usr/lib/hadoop-0.20, name=NameNode, parent=vg61l01ad-hadoop002.apple.com]. Caused by: java.lang.RuntimeException: core-site.xml not found at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1308) at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1228) at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:1169) at org.apache.hadoop.conf.Configuration.set(Configuration.java:438) This is because the URL jar:file:/usr/local/rhq-agent/data/tmp/rhq-hadoop-plugin-4.3.0-SNAPSHOT.jar6856622641102893436.classloader/hadoop-core-0.20.2+737+1.jar7204287718482036191.tmp!/core-default.xml cannot be found by DocumentBuilder (doesn't understand it). (Note: the logs are for an old version of Configuration class, but the new version has the same code.) The solution is to obtain the resource stream directly from the URL object itself. That is to say: {code} URL url = getResource((String)name); -if (url != null) { - if (!quiet) { -LOG.info(parsing + url); - } - doc = builder.parse(url.toString()); -} +doc = builder.parse(url.openStream()); {code} Note: I have a full patch pending approval at Apple for this change, including some cleanup. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (HADOOP-8031) Configuration class fails to find embedded .jar resources; should use URL.openStream()
[ https://issues.apache.org/jira/browse/HADOOP-8031?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ahmed Radwan updated HADOOP-8031: - Attachment: HADOOP-8031.patch Configuration class fails to find embedded .jar resources; should use URL.openStream() -- Key: HADOOP-8031 URL: https://issues.apache.org/jira/browse/HADOOP-8031 Project: Hadoop Common Issue Type: Bug Components: conf Affects Versions: 2.0.0-alpha Reporter: Elias Ross Assignee: Elias Ross Attachments: 0001-fix-HADOOP-7982-class-loader.patch, HADOOP-8031.patch, hadoop-8031.txt While running a hadoop client within RHQ (monitoring software) using its classloader, I see this: 2012-02-07 09:15:25,313 INFO [ResourceContainer.invoker.daemon-2] (org.apache.hadoop.conf.Configuration)- parsing jar:file:/usr/local/rhq-agent/data/tmp/rhq-hadoop-plugin-4.3.0-SNAPSHOT.jar6856622641102893436.classloader/hadoop-core-0.20.2+737+1.jar7204287718482036191.tmp!/core-default.xml 2012-02-07 09:15:25,318 ERROR [InventoryManager.discovery-1] (rhq.core.pc.inventory.InventoryManager)- Failed to start component for Resource[id=16290, type=NameNode, key=NameNode:/usr/lib/hadoop-0.20, name=NameNode, parent=vg61l01ad-hadoop002.apple.com] from synchronized merge. org.rhq.core.clientapi.agent.PluginContainerException: Failed to start component for resource Resource[id=16290, type=NameNode, key=NameNode:/usr/lib/hadoop-0.20, name=NameNode, parent=vg61l01ad-hadoop002.apple.com]. Caused by: java.lang.RuntimeException: core-site.xml not found at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1308) at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1228) at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:1169) at org.apache.hadoop.conf.Configuration.set(Configuration.java:438) This is because the URL jar:file:/usr/local/rhq-agent/data/tmp/rhq-hadoop-plugin-4.3.0-SNAPSHOT.jar6856622641102893436.classloader/hadoop-core-0.20.2+737+1.jar7204287718482036191.tmp!/core-default.xml cannot be found by DocumentBuilder (doesn't understand it). (Note: the logs are for an old version of Configuration class, but the new version has the same code.) The solution is to obtain the resource stream directly from the URL object itself. That is to say: {code} URL url = getResource((String)name); -if (url != null) { - if (!quiet) { -LOG.info(parsing + url); - } - doc = builder.parse(url.toString()); -} +doc = builder.parse(url.openStream()); {code} Note: I have a full patch pending approval at Apple for this change, including some cleanup. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (HADOOP-8031) Configuration class fails to find embedded .jar resources; should use URL.openStream()
[ https://issues.apache.org/jira/browse/HADOOP-8031?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ahmed Radwan updated HADOOP-8031: - Status: Patch Available (was: Open) Configuration class fails to find embedded .jar resources; should use URL.openStream() -- Key: HADOOP-8031 URL: https://issues.apache.org/jira/browse/HADOOP-8031 Project: Hadoop Common Issue Type: Bug Components: conf Affects Versions: 2.0.0-alpha Reporter: Elias Ross Assignee: Elias Ross Attachments: 0001-fix-HADOOP-7982-class-loader.patch, HADOOP-8031.patch, hadoop-8031.txt While running a hadoop client within RHQ (monitoring software) using its classloader, I see this: 2012-02-07 09:15:25,313 INFO [ResourceContainer.invoker.daemon-2] (org.apache.hadoop.conf.Configuration)- parsing jar:file:/usr/local/rhq-agent/data/tmp/rhq-hadoop-plugin-4.3.0-SNAPSHOT.jar6856622641102893436.classloader/hadoop-core-0.20.2+737+1.jar7204287718482036191.tmp!/core-default.xml 2012-02-07 09:15:25,318 ERROR [InventoryManager.discovery-1] (rhq.core.pc.inventory.InventoryManager)- Failed to start component for Resource[id=16290, type=NameNode, key=NameNode:/usr/lib/hadoop-0.20, name=NameNode, parent=vg61l01ad-hadoop002.apple.com] from synchronized merge. org.rhq.core.clientapi.agent.PluginContainerException: Failed to start component for resource Resource[id=16290, type=NameNode, key=NameNode:/usr/lib/hadoop-0.20, name=NameNode, parent=vg61l01ad-hadoop002.apple.com]. Caused by: java.lang.RuntimeException: core-site.xml not found at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1308) at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1228) at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:1169) at org.apache.hadoop.conf.Configuration.set(Configuration.java:438) This is because the URL jar:file:/usr/local/rhq-agent/data/tmp/rhq-hadoop-plugin-4.3.0-SNAPSHOT.jar6856622641102893436.classloader/hadoop-core-0.20.2+737+1.jar7204287718482036191.tmp!/core-default.xml cannot be found by DocumentBuilder (doesn't understand it). (Note: the logs are for an old version of Configuration class, but the new version has the same code.) The solution is to obtain the resource stream directly from the URL object itself. That is to say: {code} URL url = getResource((String)name); -if (url != null) { - if (!quiet) { -LOG.info(parsing + url); - } - doc = builder.parse(url.toString()); -} +doc = builder.parse(url.openStream()); {code} Note: I have a full patch pending approval at Apple for this change, including some cleanup. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (HADOOP-8031) Configuration class fails to find embedded .jar resources; should use URL.openStream()
[ https://issues.apache.org/jira/browse/HADOOP-8031?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alejandro Abdelnur updated HADOOP-8031: --- Resolution: Fixed Fix Version/s: 2.2.0-alpha Hadoop Flags: Reviewed Status: Resolved (was: Patch Available) Thanks Elias. Committed to trunk and branch-2. Configuration class fails to find embedded .jar resources; should use URL.openStream() -- Key: HADOOP-8031 URL: https://issues.apache.org/jira/browse/HADOOP-8031 Project: Hadoop Common Issue Type: Bug Components: conf Affects Versions: 2.0.0-alpha Reporter: Elias Ross Assignee: Elias Ross Fix For: 2.2.0-alpha Attachments: 0001-fix-HADOOP-7982-class-loader.patch, HADOOP-8031.patch, hadoop-8031.txt While running a hadoop client within RHQ (monitoring software) using its classloader, I see this: 2012-02-07 09:15:25,313 INFO [ResourceContainer.invoker.daemon-2] (org.apache.hadoop.conf.Configuration)- parsing jar:file:/usr/local/rhq-agent/data/tmp/rhq-hadoop-plugin-4.3.0-SNAPSHOT.jar6856622641102893436.classloader/hadoop-core-0.20.2+737+1.jar7204287718482036191.tmp!/core-default.xml 2012-02-07 09:15:25,318 ERROR [InventoryManager.discovery-1] (rhq.core.pc.inventory.InventoryManager)- Failed to start component for Resource[id=16290, type=NameNode, key=NameNode:/usr/lib/hadoop-0.20, name=NameNode, parent=vg61l01ad-hadoop002.apple.com] from synchronized merge. org.rhq.core.clientapi.agent.PluginContainerException: Failed to start component for resource Resource[id=16290, type=NameNode, key=NameNode:/usr/lib/hadoop-0.20, name=NameNode, parent=vg61l01ad-hadoop002.apple.com]. Caused by: java.lang.RuntimeException: core-site.xml not found at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1308) at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1228) at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:1169) at org.apache.hadoop.conf.Configuration.set(Configuration.java:438) This is because the URL jar:file:/usr/local/rhq-agent/data/tmp/rhq-hadoop-plugin-4.3.0-SNAPSHOT.jar6856622641102893436.classloader/hadoop-core-0.20.2+737+1.jar7204287718482036191.tmp!/core-default.xml cannot be found by DocumentBuilder (doesn't understand it). (Note: the logs are for an old version of Configuration class, but the new version has the same code.) The solution is to obtain the resource stream directly from the URL object itself. That is to say: {code} URL url = getResource((String)name); -if (url != null) { - if (!quiet) { -LOG.info(parsing + url); - } - doc = builder.parse(url.toString()); -} +doc = builder.parse(url.openStream()); {code} Note: I have a full patch pending approval at Apple for this change, including some cleanup. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (HADOOP-8031) Configuration class fails to find embedded .jar resources; should use URL.openStream()
[ https://issues.apache.org/jira/browse/HADOOP-8031?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Eli Collins updated HADOOP-8031: Attachment: hadoop-8031.txt Patch attached. Configuration class fails to find embedded .jar resources; should use URL.openStream() -- Key: HADOOP-8031 URL: https://issues.apache.org/jira/browse/HADOOP-8031 Project: Hadoop Common Issue Type: Bug Components: conf Affects Versions: 2.0.0-alpha Reporter: Elias Ross Assignee: Elias Ross Attachments: 0001-fix-HADOOP-7982-class-loader.patch, hadoop-8031.txt While running a hadoop client within RHQ (monitoring software) using its classloader, I see this: 2012-02-07 09:15:25,313 INFO [ResourceContainer.invoker.daemon-2] (org.apache.hadoop.conf.Configuration)- parsing jar:file:/usr/local/rhq-agent/data/tmp/rhq-hadoop-plugin-4.3.0-SNAPSHOT.jar6856622641102893436.classloader/hadoop-core-0.20.2+737+1.jar7204287718482036191.tmp!/core-default.xml 2012-02-07 09:15:25,318 ERROR [InventoryManager.discovery-1] (rhq.core.pc.inventory.InventoryManager)- Failed to start component for Resource[id=16290, type=NameNode, key=NameNode:/usr/lib/hadoop-0.20, name=NameNode, parent=vg61l01ad-hadoop002.apple.com] from synchronized merge. org.rhq.core.clientapi.agent.PluginContainerException: Failed to start component for resource Resource[id=16290, type=NameNode, key=NameNode:/usr/lib/hadoop-0.20, name=NameNode, parent=vg61l01ad-hadoop002.apple.com]. Caused by: java.lang.RuntimeException: core-site.xml not found at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1308) at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1228) at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:1169) at org.apache.hadoop.conf.Configuration.set(Configuration.java:438) This is because the URL jar:file:/usr/local/rhq-agent/data/tmp/rhq-hadoop-plugin-4.3.0-SNAPSHOT.jar6856622641102893436.classloader/hadoop-core-0.20.2+737+1.jar7204287718482036191.tmp!/core-default.xml cannot be found by DocumentBuilder (doesn't understand it). (Note: the logs are for an old version of Configuration class, but the new version has the same code.) The solution is to obtain the resource stream directly from the URL object itself. That is to say: {code} URL url = getResource((String)name); -if (url != null) { - if (!quiet) { -LOG.info(parsing + url); - } - doc = builder.parse(url.toString()); -} +doc = builder.parse(url.openStream()); {code} Note: I have a full patch pending approval at Apple for this change, including some cleanup. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (HADOOP-8031) Configuration class fails to find embedded .jar resources; should use URL.openStream()
[ https://issues.apache.org/jira/browse/HADOOP-8031?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Eli Collins updated HADOOP-8031: Component/s: conf Target Version/s: 2.0.1-alpha Affects Version/s: 2.0.0-alpha Configuration class fails to find embedded .jar resources; should use URL.openStream() -- Key: HADOOP-8031 URL: https://issues.apache.org/jira/browse/HADOOP-8031 Project: Hadoop Common Issue Type: Bug Components: conf Affects Versions: 2.0.0-alpha Reporter: Elias Ross Assignee: Elias Ross Attachments: 0001-fix-HADOOP-7982-class-loader.patch, hadoop-8031.txt While running a hadoop client within RHQ (monitoring software) using its classloader, I see this: 2012-02-07 09:15:25,313 INFO [ResourceContainer.invoker.daemon-2] (org.apache.hadoop.conf.Configuration)- parsing jar:file:/usr/local/rhq-agent/data/tmp/rhq-hadoop-plugin-4.3.0-SNAPSHOT.jar6856622641102893436.classloader/hadoop-core-0.20.2+737+1.jar7204287718482036191.tmp!/core-default.xml 2012-02-07 09:15:25,318 ERROR [InventoryManager.discovery-1] (rhq.core.pc.inventory.InventoryManager)- Failed to start component for Resource[id=16290, type=NameNode, key=NameNode:/usr/lib/hadoop-0.20, name=NameNode, parent=vg61l01ad-hadoop002.apple.com] from synchronized merge. org.rhq.core.clientapi.agent.PluginContainerException: Failed to start component for resource Resource[id=16290, type=NameNode, key=NameNode:/usr/lib/hadoop-0.20, name=NameNode, parent=vg61l01ad-hadoop002.apple.com]. Caused by: java.lang.RuntimeException: core-site.xml not found at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1308) at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1228) at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:1169) at org.apache.hadoop.conf.Configuration.set(Configuration.java:438) This is because the URL jar:file:/usr/local/rhq-agent/data/tmp/rhq-hadoop-plugin-4.3.0-SNAPSHOT.jar6856622641102893436.classloader/hadoop-core-0.20.2+737+1.jar7204287718482036191.tmp!/core-default.xml cannot be found by DocumentBuilder (doesn't understand it). (Note: the logs are for an old version of Configuration class, but the new version has the same code.) The solution is to obtain the resource stream directly from the URL object itself. That is to say: {code} URL url = getResource((String)name); -if (url != null) { - if (!quiet) { -LOG.info(parsing + url); - } - doc = builder.parse(url.toString()); -} +doc = builder.parse(url.openStream()); {code} Note: I have a full patch pending approval at Apple for this change, including some cleanup. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (HADOOP-8031) Configuration class fails to find embedded .jar resources; should use URL.openStream()
[ https://issues.apache.org/jira/browse/HADOOP-8031?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Elias Ross updated HADOOP-8031: --- Attachment: 0001-fix-HADOOP-7982-class-loader.patch Simple patch Configuration class fails to find embedded .jar resources; should use URL.openStream() -- Key: HADOOP-8031 URL: https://issues.apache.org/jira/browse/HADOOP-8031 Project: Hadoop Common Issue Type: Bug Reporter: Elias Ross Attachments: 0001-fix-HADOOP-7982-class-loader.patch While running a hadoop client within RHQ (monitoring software) using its classloader, I see this: 2012-02-07 09:15:25,313 INFO [ResourceContainer.invoker.daemon-2] (org.apache.hadoop.conf.Configuration)- parsing jar:file:/usr/local/rhq-agent/data/tmp/rhq-hadoop-plugin-4.3.0-SNAPSHOT.jar6856622641102893436.classloader/hadoop-core-0.20.2+737+1.jar7204287718482036191.tmp!/core-default.xml 2012-02-07 09:15:25,318 ERROR [InventoryManager.discovery-1] (rhq.core.pc.inventory.InventoryManager)- Failed to start component for Resource[id=16290, type=NameNode, key=NameNode:/usr/lib/hadoop-0.20, name=NameNode, parent=vg61l01ad-hadoop002.apple.com] from synchronized merge. org.rhq.core.clientapi.agent.PluginContainerException: Failed to start component for resource Resource[id=16290, type=NameNode, key=NameNode:/usr/lib/hadoop-0.20, name=NameNode, parent=vg61l01ad-hadoop002.apple.com]. Caused by: java.lang.RuntimeException: core-site.xml not found at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1308) at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1228) at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:1169) at org.apache.hadoop.conf.Configuration.set(Configuration.java:438) This is because the URL jar:file:/usr/local/rhq-agent/data/tmp/rhq-hadoop-plugin-4.3.0-SNAPSHOT.jar6856622641102893436.classloader/hadoop-core-0.20.2+737+1.jar7204287718482036191.tmp!/core-default.xml cannot be found by DocumentBuilder (doesn't understand it). (Note: the logs are for an old version of Configuration class, but the new version has the same code.) The solution is to obtain the resource stream directly from the URL object itself. That is to say: {code} URL url = getResource((String)name); -if (url != null) { - if (!quiet) { -LOG.info(parsing + url); - } - doc = builder.parse(url.toString()); -} +doc = builder.parse(url.openStream()); {code} Note: I have a full patch pending approval at Apple for this change, including some cleanup. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira