HADOOP-11418. Property "io.compression.codec.lzo.class" does not work with other value besides default. (Yuanbo Liu via iwasakims)
(cherry picked from commit bec5b4cd8c
)
This commit is contained in:
parent
58642d2244
commit
5bceaa9683
|
@ -82,9 +82,9 @@ final class Compression {
|
||||||
public synchronized boolean isSupported() {
|
public synchronized boolean isSupported() {
|
||||||
if (!checked) {
|
if (!checked) {
|
||||||
checked = true;
|
checked = true;
|
||||||
String extClazz =
|
String extClazzConf = conf.get(CONF_LZO_CLASS);
|
||||||
(conf.get(CONF_LZO_CLASS) == null ? System
|
String extClazz = (extClazzConf != null) ?
|
||||||
.getProperty(CONF_LZO_CLASS) : null);
|
extClazzConf : System.getProperty(CONF_LZO_CLASS);
|
||||||
String clazz = (extClazz != null) ? extClazz : defaultClazz;
|
String clazz = (extClazz != null) ? extClazz : defaultClazz;
|
||||||
try {
|
try {
|
||||||
LOG.info("Trying to load Lzo codec class: " + clazz);
|
LOG.info("Trying to load Lzo codec class: " + clazz);
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
/**
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
package org.apache.hadoop.io.file.tfile;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
|
public class TestCompression {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Regression test for HADOOP-11418.
|
||||||
|
* Verify we can set a LZO codec different from default LZO codec.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testConfigureLZOCodec() throws IOException {
|
||||||
|
// Dummy codec
|
||||||
|
String defaultCodec = "org.apache.hadoop.io.compress.DefaultCodec";
|
||||||
|
Compression.Algorithm.conf.set(
|
||||||
|
Compression.Algorithm.CONF_LZO_CLASS, defaultCodec);
|
||||||
|
assertEquals(defaultCodec,
|
||||||
|
Compression.Algorithm.LZO.getCodec().getClass().getName());
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue