Repository: atlas
Updated Branches:
  refs/heads/master 8ef6a4364 -> bc57e15e5


ATLAS-2549: Regression with respect to Partition keys


Project: http://git-wip-us.apache.org/repos/asf/atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/bc57e15e
Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/bc57e15e
Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/bc57e15e

Branch: refs/heads/master
Commit: bc57e15e548af88987ab7d3870aa5ae874c09830
Parents: 8ef6a43
Author: Sarath Subramanian <ssubraman...@hortonworks.com>
Authored: Mon Apr 9 13:48:02 2018 -0700
Committer: Sarath Subramanian <ssubraman...@hortonworks.com>
Committed: Mon Apr 9 13:48:02 2018 -0700

----------------------------------------------------------------------
 .../bootstrap/AtlasTypeDefStoreInitializer.java | 56 +++++++++-----------
 1 file changed, 25 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/atlas/blob/bc57e15e/repository/src/main/java/org/apache/atlas/repository/store/bootstrap/AtlasTypeDefStoreInitializer.java
----------------------------------------------------------------------
diff --git 
a/repository/src/main/java/org/apache/atlas/repository/store/bootstrap/AtlasTypeDefStoreInitializer.java
 
b/repository/src/main/java/org/apache/atlas/repository/store/bootstrap/AtlasTypeDefStoreInitializer.java
index 4109abf..40b7d11 100644
--- 
a/repository/src/main/java/org/apache/atlas/repository/store/bootstrap/AtlasTypeDefStoreInitializer.java
+++ 
b/repository/src/main/java/org/apache/atlas/repository/store/bootstrap/AtlasTypeDefStoreInitializer.java
@@ -152,50 +152,44 @@ public class AtlasTypeDefStoreInitializer implements 
ActiveStateChangeHandler {
         File[] typeDefFiles = typesDir.exists() ? typesDir.listFiles() : null;
 
         if (typeDefFiles == null || typeDefFiles.length == 0) {
-            LOG.info("Types directory {} does not exist or not readable or has 
no typedef files", typesDirName);
+            LOG.info("Types directory {} does not exist or not readable or has 
no typedef files", typesDirName );
         } else {
+
             // sort the files by filename
             Arrays.sort(typeDefFiles);
-            for (File typeDefFile : typeDefFiles) {
-                try {
-                    readTypesFromFile(typeDefFile);
-                } catch (Throwable t) {
-                    LOG.error("error while registering types in file {}", 
typeDefFile.getAbsolutePath(), t);
-                }
-            }
-        }
 
-        LOG.info("<== AtlasTypeDefStoreInitializer({})", typesDir);
-    }
+            for (File typeDefFile : typeDefFiles) {
+                if (typeDefFile.isFile()) {
+                    try {
+                        String        jsonStr  = new 
String(Files.readAllBytes(typeDefFile.toPath()), StandardCharsets.UTF_8);
+                        AtlasTypesDef typesDef = AtlasType.fromJson(jsonStr, 
AtlasTypesDef.class);
 
-    public void readTypesFromFile(File typeDefFile) {
-        if (!typeDefFile.isFile()) {
-            return;
-        }
+                        if (typesDef == null || typesDef.isEmpty()) {
+                            LOG.info("No type in file {}", 
typeDefFile.getAbsolutePath());
 
-        try {
-            String        jsonStr  = new 
String(Files.readAllBytes(typeDefFile.toPath()), StandardCharsets.UTF_8);
-            AtlasTypesDef typesDef = AtlasType.fromJson(jsonStr, 
AtlasTypesDef.class);
+                            continue;
+                        }
 
-            if (typesDef == null || typesDef.isEmpty()) {
-                LOG.info("No type in file {}", typeDefFile.getAbsolutePath());
-                return;
-            }
+                        AtlasTypesDef typesToCreate = 
getTypesToCreate(typesDef, atlasTypeRegistry);
+                        AtlasTypesDef typesToUpdate = 
getTypesToUpdate(typesDef, atlasTypeRegistry, true);
 
-            AtlasTypesDef typesToCreate = getTypesToCreate(typesDef, 
atlasTypeRegistry);
-            AtlasTypesDef typesToUpdate = getTypesToUpdate(typesDef, 
atlasTypeRegistry, true);
+                        if (!typesToCreate.isEmpty() || 
!typesToUpdate.isEmpty()) {
+                            
atlasTypeDefStore.createUpdateTypesDef(typesToCreate, typesToUpdate);
 
-            if (!typesToCreate.isEmpty() || !typesToUpdate.isEmpty()) {
-                atlasTypeDefStore.createUpdateTypesDef(typesToCreate, 
typesToUpdate);
+                            LOG.info("Created/Updated types defined in file 
{}", typeDefFile.getAbsolutePath());
+                        } else {
+                            LOG.info("No new type in file {}", 
typeDefFile.getAbsolutePath());
+                        }
 
-                LOG.info("Created/Updated types defined in file {}", 
typeDefFile.getAbsolutePath());
-            } else {
-                LOG.info("No new type in file {}", 
typeDefFile.getAbsolutePath());
+                    } catch (Throwable t) {
+                        LOG.error("error while registering types in file {}", 
typeDefFile.getAbsolutePath(), t);
+                    }
+                }
             }
 
-        } catch (Throwable t) {
-            LOG.error("error while registering types in file {}", 
typeDefFile.getAbsolutePath(), t);
+            applyTypePatches(typesDir.getPath());
         }
+        LOG.info("<== AtlasTypeDefStoreInitializer({})", typesDir);
     }
 
     public static AtlasTypesDef getTypesToCreate(AtlasTypesDef typesDef, 
AtlasTypeRegistry typeRegistry) {

Reply via email to