HADOOP-11841. Remove unused ecschema-def.xml files.
This commit is contained in:
parent
64f8f0a145
commit
909632dd90
|
@ -42,3 +42,5 @@
|
||||||
( Kai Zheng via vinayakumarb )
|
( Kai Zheng via vinayakumarb )
|
||||||
|
|
||||||
HADOOP-11818. Minor improvements for erasurecode classes. (Rakesh R via Kai Zheng)
|
HADOOP-11818. Minor improvements for erasurecode classes. (Rakesh R via Kai Zheng)
|
||||||
|
|
||||||
|
HADOOP-11841. Remove unused ecschema-def.xml files. (szetszwo)
|
||||||
|
|
|
@ -1,35 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one
|
|
||||||
or more contributor license agreements. See the NOTICE file
|
|
||||||
distributed with this work for additional information
|
|
||||||
regarding copyright ownership. The ASF licenses this file
|
|
||||||
to you under the Apache License, Version 2.0 (the
|
|
||||||
"License"); you may not use this file except in compliance
|
|
||||||
with the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Please define your EC schemas here. Note, once these schemas are loaded
|
|
||||||
and referenced by EC storage policies, any change to them will be ignored.
|
|
||||||
You can modify and remove those not used yet, or add new ones.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<schemas>
|
|
||||||
<schema name="RS-10-4">
|
|
||||||
<k>10</k>
|
|
||||||
<m>4</m>
|
|
||||||
<codec>RS</codec>
|
|
||||||
</schema>
|
|
||||||
</schemas>
|
|
|
@ -143,11 +143,6 @@ public class CommonConfigurationKeys extends CommonConfigurationKeysPublic {
|
||||||
/** Supported erasure codec classes */
|
/** Supported erasure codec classes */
|
||||||
public static final String IO_ERASURECODE_CODECS_KEY = "io.erasurecode.codecs";
|
public static final String IO_ERASURECODE_CODECS_KEY = "io.erasurecode.codecs";
|
||||||
|
|
||||||
public static final String IO_ERASURECODE_SCHEMA_FILE_KEY =
|
|
||||||
"io.erasurecode.schema.file";
|
|
||||||
public static final String IO_ERASURECODE_SCHEMA_FILE_DEFAULT =
|
|
||||||
"ecschema-def.xml";
|
|
||||||
|
|
||||||
/** Use XOR raw coder when possible for the RS codec */
|
/** Use XOR raw coder when possible for the RS codec */
|
||||||
public static final String IO_ERASURECODE_CODEC_RS_USEXOR_KEY =
|
public static final String IO_ERASURECODE_CODEC_RS_USEXOR_KEY =
|
||||||
"io.erasurecode.codec.rs.usexor";
|
"io.erasurecode.codec.rs.usexor";
|
||||||
|
|
|
@ -17,20 +17,27 @@
|
||||||
*/
|
*/
|
||||||
package org.apache.hadoop.io.erasurecode;
|
package org.apache.hadoop.io.erasurecode;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import java.io.File;
|
||||||
import org.slf4j.LoggerFactory;
|
import java.io.IOException;
|
||||||
import org.apache.hadoop.conf.Configuration;
|
import java.net.URL;
|
||||||
import org.apache.hadoop.fs.CommonConfigurationKeys;
|
import java.util.ArrayList;
|
||||||
import org.w3c.dom.*;
|
import java.util.Collections;
|
||||||
import org.xml.sax.SAXException;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.xml.parsers.DocumentBuilder;
|
import javax.xml.parsers.DocumentBuilder;
|
||||||
import javax.xml.parsers.DocumentBuilderFactory;
|
import javax.xml.parsers.DocumentBuilderFactory;
|
||||||
import javax.xml.parsers.ParserConfigurationException;
|
import javax.xml.parsers.ParserConfigurationException;
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
import org.slf4j.Logger;
|
||||||
import java.net.URL;
|
import org.slf4j.LoggerFactory;
|
||||||
import java.util.*;
|
import org.w3c.dom.Document;
|
||||||
|
import org.w3c.dom.Element;
|
||||||
|
import org.w3c.dom.Node;
|
||||||
|
import org.w3c.dom.NodeList;
|
||||||
|
import org.w3c.dom.Text;
|
||||||
|
import org.xml.sax.SAXException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A EC schema loading utility that loads predefined EC schemas from XML file
|
* A EC schema loading utility that loads predefined EC schemas from XML file
|
||||||
|
@ -42,8 +49,8 @@ public class SchemaLoader {
|
||||||
* Load predefined ec schemas from configuration file. This file is
|
* Load predefined ec schemas from configuration file. This file is
|
||||||
* expected to be in the XML format.
|
* expected to be in the XML format.
|
||||||
*/
|
*/
|
||||||
public List<ECSchema> loadSchema(Configuration conf) {
|
public List<ECSchema> loadSchema(String schemaFilePath) {
|
||||||
File confFile = getSchemaFile(conf);
|
File confFile = getSchemaFile(schemaFilePath);
|
||||||
if (confFile == null) {
|
if (confFile == null) {
|
||||||
LOG.warn("Not found any predefined EC schema file");
|
LOG.warn("Not found any predefined EC schema file");
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
|
@ -100,10 +107,7 @@ public class SchemaLoader {
|
||||||
* Path to the XML file containing predefined ec schemas. If the path is
|
* Path to the XML file containing predefined ec schemas. If the path is
|
||||||
* relative, it is searched for in the classpath.
|
* relative, it is searched for in the classpath.
|
||||||
*/
|
*/
|
||||||
private File getSchemaFile(Configuration conf) {
|
private File getSchemaFile(String schemaFilePath) {
|
||||||
String schemaFilePath = conf.get(
|
|
||||||
CommonConfigurationKeys.IO_ERASURECODE_SCHEMA_FILE_KEY,
|
|
||||||
CommonConfigurationKeys.IO_ERASURECODE_SCHEMA_FILE_DEFAULT);
|
|
||||||
File schemaFile = new File(schemaFilePath);
|
File schemaFile = new File(schemaFilePath);
|
||||||
if (! schemaFile.isAbsolute()) {
|
if (! schemaFile.isAbsolute()) {
|
||||||
URL url = Thread.currentThread().getContextClassLoader()
|
URL url = Thread.currentThread().getContextClassLoader()
|
||||||
|
|
|
@ -17,16 +17,14 @@
|
||||||
*/
|
*/
|
||||||
package org.apache.hadoop.io.erasurecode;
|
package org.apache.hadoop.io.erasurecode;
|
||||||
|
|
||||||
import org.apache.hadoop.conf.Configuration;
|
import static org.junit.Assert.assertEquals;
|
||||||
import org.apache.hadoop.fs.CommonConfigurationKeys;
|
|
||||||
import org.junit.Test;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileWriter;
|
import java.io.FileWriter;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import org.junit.Test;
|
||||||
|
|
||||||
public class TestSchemaLoader {
|
public class TestSchemaLoader {
|
||||||
|
|
||||||
|
@ -54,12 +52,8 @@ public class TestSchemaLoader {
|
||||||
out.println("</schemas>");
|
out.println("</schemas>");
|
||||||
out.close();
|
out.close();
|
||||||
|
|
||||||
Configuration conf = new Configuration();
|
|
||||||
conf.set(CommonConfigurationKeys.IO_ERASURECODE_SCHEMA_FILE_KEY,
|
|
||||||
SCHEMA_FILE);
|
|
||||||
|
|
||||||
SchemaLoader schemaLoader = new SchemaLoader();
|
SchemaLoader schemaLoader = new SchemaLoader();
|
||||||
List<ECSchema> schemas = schemaLoader.loadSchema(conf);
|
List<ECSchema> schemas = schemaLoader.loadSchema(SCHEMA_FILE);
|
||||||
|
|
||||||
assertEquals(2, schemas.size());
|
assertEquals(2, schemas.size());
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue