From 0744a578e41ff28bd33088ae4e16f362d69a00a5 Mon Sep 17 00:00:00 2001 From: Tsuyoshi Ozawa Date: Tue, 14 Jul 2015 19:13:45 +0900 Subject: [PATCH] HADOOP-12191. Bzip2Factory is not thread safe. Contributed by Brahma Reddy Battula. (cherry picked from commit 4084eaf94347042d9b8cb1e86ba831036621dfdd) --- hadoop-common-project/hadoop-common/CHANGES.txt | 3 +++ .../java/org/apache/hadoop/io/compress/bzip2/Bzip2Factory.java | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index b4468dc5606..53442859df9 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -15,6 +15,9 @@ Release 2.7.2 - UNRELEASED HADOOP-12186. ActiveStandbyElector shouldn't call monitorLockNodeAsync multiple times (zhihai xu via vinayakumarb) + HADOOP-12191. Bzip2Factory is not thread safe. (Brahma Reddy Battula + via ozawa) + Release 2.7.1 - 2015-07-06 INCOMPATIBLE CHANGES diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/bzip2/Bzip2Factory.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/bzip2/Bzip2Factory.java index c82ac9939f7..0bbcc364a29 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/bzip2/Bzip2Factory.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/bzip2/Bzip2Factory.java @@ -50,7 +50,7 @@ public class Bzip2Factory { * @return true if native-bzip2 is loaded & initialized * and can be loaded for this job, else false */ - public static boolean isNativeBzip2Loaded(Configuration conf) { + public static synchronized boolean isNativeBzip2Loaded(Configuration conf) { String libname = conf.get("io.compression.codec.bzip2.library", "system-native"); if (!bzip2LibraryName.equals(libname)) {