ATLAS-1053: Fix for issues flagged by Coverity scan - potential NPE
diff --git a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java
index fcc45ab..e0d8024 100755
--- a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java
+++ b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java
@@ -123,7 +123,10 @@
List<String> databases = hiveClient.getAllDatabases();
for (String databaseName : databases) {
Referenceable dbReference = registerDatabase(databaseName);
- importTables(dbReference, databaseName, failOnError);
+
+ if (dbReference != null) {
+ importTables(dbReference, databaseName, failOnError);
+ }
}
}
@@ -146,13 +149,16 @@
private Referenceable registerDatabase(String databaseName) throws Exception {
Referenceable dbRef = getDatabaseReference(clusterName, databaseName);
Database db = hiveClient.getDatabase(databaseName);
- if (dbRef == null) {
- dbRef = createDBInstance(db);
- dbRef = registerInstance(dbRef);
- } else {
- LOG.info("Database {} is already registered with id {}. Updating it.", databaseName, dbRef.getId().id);
- dbRef = createOrUpdateDBInstance(db, dbRef);
- updateInstance(dbRef);
+
+ if (db != null) {
+ if (dbRef == null) {
+ dbRef = createDBInstance(db);
+ dbRef = registerInstance(dbRef);
+ } else {
+ LOG.info("Database {} is already registered with id {}. Updating it.", databaseName, dbRef.getId().id);
+ dbRef = createOrUpdateDBInstance(db, dbRef);
+ updateInstance(dbRef);
+ }
}
return dbRef;
}
diff --git a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java
index cf2e865..e27e52c 100755
--- a/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java
+++ b/addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java
@@ -499,6 +499,9 @@
if (db != null) {
db = dgiBridge.hiveClient.getDatabase(db.getName());
+ }
+
+ if (db != null) {
Referenceable dbEntity = dgiBridge.createDBInstance(db);
entities.add(dbEntity);
diff --git a/release-log.txt b/release-log.txt
index 334a1c5..c3ab28b 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -6,6 +6,7 @@
ALL CHANGES:
+ATLAS-1053 Fix issues flagged by Coverity scan - potential NPE (mneethiraj via sumasai)
ATLAS-1052 Fix NPE in HiveHook due to null Session State (sumasai)
ATLAS-1051 Sqoop Hook does not package HDFS model jars which is required (sumasai)
ATLAS-1049 List types by supertype (shwethags via sumasai)