diff --git a/ql/src/java/org/apache/hadoop/hive/ql/io/HiveInputFormat.java b/ql/src/java/org/apache/hadoop/hive/ql/io/HiveInputFormat.java index a6a8176..fefc934 100755 --- a/ql/src/java/org/apache/hadoop/hive/ql/io/HiveInputFormat.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/io/HiveInputFormat.java @@ -202,7 +202,11 @@ public void configure(JobConf job) { try { InputFormat newInstance = (InputFormat) ReflectionUtils .newInstance(inputFormatClass, job); - inputFormats.put(inputFormatClass, newInstance); + // HBase input formats are not thread safe today. See HIVE-8808. + String inputFormatName = inputFormatClass.getName().toLowerCase(); + if (!inputFormatName.contains("hbase")) { + inputFormats.put(inputFormatClass, newInstance); + } } catch (Exception e) { throw new IOException("Cannot create an instance of InputFormat class " + inputFormatClass.getName() + " as specified in mapredWork!", e);