[ 
https://issues.apache.org/jira/browse/HDDS-1669?focusedWorklogId=257956&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-257956
 ]

ASF GitHub Bot logged work on HDDS-1669:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 11/Jun/19 17:37
            Start Date: 11/Jun/19 17:37
    Worklog Time Spent: 10m 
      Work Description: elek commented on pull request #946: HDDS-1669. SCM 
startup is failing if network-topology-default.xml is part of a jar
URL: https://github.com/apache/hadoop/pull/946
 
 
   
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 257956)
    Time Spent: 1h  (was: 50m)

> SCM startup is failing if network-topology-default.xml is part of a jar
> -----------------------------------------------------------------------
>
>                 Key: HDDS-1669
>                 URL: https://issues.apache.org/jira/browse/HDDS-1669
>             Project: Hadoop Distributed Data Store
>          Issue Type: Bug
>            Reporter: Elek, Marton
>            Assignee: Elek, Marton
>            Priority: Blocker
>              Labels: pull-request-available
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> network-topology-default.xml can be loaded from file or classpath. But the 
> NodeSchemaLoader assumes that the files on the classpath can be opened as a 
> file. It's true if the file is in etc/hadoop (which is part of the classpath) 
> but not true if the file is packaged to a jajr file:
> {code}
> scm_1         | 2019-06-11 13:18:03 INFO  NodeSchemaLoader:118 - Loading file 
> from 
> jar:file:/opt/hadoop/share/ozone/lib/hadoop-hdds-common-0.5.0-SNAPSHOT.jar!/network-topology-default.xml
> scm_1         | 2019-06-11 13:18:03 ERROR NodeSchemaManager:74 - Failed to 
> load schema file:network-topology-default.xml, error:
> scm_1         | java.lang.IllegalArgumentException: URI is not hierarchical
> scm_1         |       at java.io.File.<init>(File.java:418)
> scm_1         |       at 
> org.apache.hadoop.hdds.scm.net.NodeSchemaLoader.loadSchemaFromFile(NodeSchemaLoader.java:119)
> scm_1         |       at 
> org.apache.hadoop.hdds.scm.net.NodeSchemaManager.init(NodeSchemaManager.java:67)
> scm_1         |       at 
> org.apache.hadoop.hdds.scm.net.NetworkTopologyImpl.<init>(NetworkTopologyImpl.java:63)
> scm_1         |       at 
> org.apache.hadoop.hdds.scm.server.StorageContainerManager.initializeSystemManagers(StorageContainerManager.java:382)
> scm_1         |       at 
> org.apache.hadoop.hdds.scm.server.StorageContainerManager.<init>(StorageContainerManager.java:275)
> scm_1         |       at 
> org.apache.hadoop.hdds.scm.server.StorageContainerManager.<init>(StorageContainerManager.java:208)
> scm_1         |       at 
> org.apache.hadoop.hdds.scm.server.StorageContainerManager.createSCM(StorageContainerManager.java:586)
> scm_1         |       at 
> org.apache.hadoop.hdds.scm.server.StorageContainerManagerStarter$SCMStarterHelper.start(StorageContainerManagerStarter.java:139)
> scm_1         |       at 
> org.apache.hadoop.hdds.scm.server.StorageContainerManagerStarter.startScm(StorageContainerManagerStarter.java:115)
> scm_1         |       at 
> org.apache.hadoop.hdds.scm.server.StorageContainerManagerStarter.call(StorageContainerManagerStarter.java:67)
> scm_1         |       at 
> org.apache.hadoop.hdds.scm.server.StorageContainerManagerStarter.call(StorageContainerManagerStarter.java:42)
> scm_1         |       at picocli.CommandLine.execute(CommandLine.java:1173)
> scm_1         |       at picocli.CommandLine.access$800(CommandLine.java:141)
> scm_1         |       at 
> picocli.CommandLine$RunLast.handle(CommandLine.java:1367)
> scm_1         |       at 
> picocli.CommandLine$RunLast.handle(CommandLine.java:1335)
> scm_1         |       at 
> picocli.CommandLine$AbstractParseResultHandler.handleParseResult(CommandLine.java:1243)
> scm_1         |       at 
> picocli.CommandLine.parseWithHandlers(CommandLine.java:1526)
> scm_1         |       at 
> picocli.CommandLine.parseWithHandler(CommandLine.java:1465)
> scm_1         |       at 
> org.apache.hadoop.hdds.cli.GenericCli.execute(GenericCli.java:65)
> scm_1         |       at 
> org.apache.hadoop.hdds.cli.GenericCli.run(GenericCli.java:56)
> scm_1         |       at 
> org.apache.hadoop.hdds.scm.server.StorageContainerManagerStarter.main(StorageContainerManagerStarter.java:56)
> scm_1         | Failed to load schema file:network-topology-default.xml, 
> error:
> {code}
> The quick fix is to keep the current behaviour but read the file from 
> classloader.getResourceAsStream() instead of classloader.getResource().toURI()



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to