Update hadoop-common to 3.4.0 (#568)

* Update hadoop-common to 3.4.0

* Fix tests

* Fix for arm

---------

Co-authored-by: Taro L. Saito <leo@xerial.org>
This commit is contained in:
xerial-bot 2024-03-21 10:06:48 -07:00 committed by GitHub
parent 59bd3c6a00
commit 37fdbfa0b9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 6 additions and 4 deletions

View File

@ -78,7 +78,7 @@ libraryDependencies ++= Seq(
"org.wvlet.airframe" %% "airframe-log" % "24.3.0" % "test",
"org.osgi" % "org.osgi.core" % "6.0.0" % "provided",
"com.github.sbt" % "junit-interface" % "0.13.3" % "test",
"org.apache.hadoop" % "hadoop-common" % "2.10.2" % "test" exclude ("org.xerial.snappy", "snappy-java")
"org.apache.hadoop" % "hadoop-common" % "3.4.0" % "test" exclude ("org.xerial.snappy", "snappy-java")
)
enablePlugins(SbtOsgi)

View File

@ -2,7 +2,6 @@ package org.xerial.snappy;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.SystemUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.io.compress.SnappyCodec;
import org.junit.AfterClass;
@ -25,13 +24,13 @@ public class SnappyHadoopCompatibleOutputStreamTest
{
final String libResourceFolder;
Map<String, String> libraryNames = new LinkedHashMap<>();
if (SystemUtils.IS_OS_LINUX) {
if (OSInfo.getOSName() == "Linux") {
libResourceFolder = "/lib/Linux";
libraryNames.put("libhadoop.so", "libhadoop.so");
// certain Linux systems need these shared library be copied before the JVM started, see build.sbt
libraryNames.put("libsnappy.so", "libsnappy.so");
libraryNames.put("libsnappy.so.1", "libsnappy.so");
} else if (SystemUtils.IS_OS_MAC_OSX) {
} else if (OSInfo.getOSName() == "Mac") {
libResourceFolder = "/lib/MacOSX";
libraryNames.put("libhadoop.dylib", "libhadoop.dylib");
libraryNames.put("libsnappy.dylib", "libsnappy.dylib");

View File

@ -179,6 +179,9 @@ public class SnappyOutputStreamTest
// compression quality:
if (ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN)
assertEquals(90992, expectedCompressedData.length);
else if(OSInfo.getArchName() == "aarch64")
// Arm has a better compression ratio
assertEquals(91051, expectedCompressedData.length);
else
assertEquals(91080, expectedCompressedData.length);
// The chunk size should not affect the size of the compressed output: