Atlas server fails to start if duplicate types are found during Typesystem bootstrap
diff --git a/release-log.txt b/release-log.txt
index 4a82306..470b085 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -32,6 +32,7 @@
 ATLAS-379 Create sqoop and falcon metadata addons (venkatnrangan,bvellanki,sowmyaramesh via shwethags)
 
 ALL CHANGES:
+ATLAS-1542 Atlas server fails to start if duplicate types are found during Typesystem bootstrap (svimal2106)
 ATLAS-1442 updated pom.xml to change version number to 0.7.1-incubating (mneethiraj)
 ATLAS-1432 Responsive Loader and css changes (kevalbhatt via mneethiraj)
 ATLAS-1427 update tests for the changes in default SSL protocols support (mneethiraj)
diff --git a/typesystem/src/main/java/org/apache/atlas/typesystem/types/TypeSystem.java b/typesystem/src/main/java/org/apache/atlas/typesystem/types/TypeSystem.java
index 70ba89b..e6c1f99 100755
--- a/typesystem/src/main/java/org/apache/atlas/typesystem/types/TypeSystem.java
+++ b/typesystem/src/main/java/org/apache/atlas/typesystem/types/TypeSystem.java
@@ -405,7 +405,8 @@
             for (EnumTypeDefinition eDef : enumDefs) {
                 assert eDef.name != null;
                 if (!update && isRegistered(eDef.name)) {
-                    throw new AtlasException(String.format("Redefinition of type %s not supported", eDef.name));
+                    LOG.warn("Found duplicate definition of type {}. Ignoring..", eDef.name);
+                    continue;
                 }
 
                 EnumType eT = new EnumType(this, eDef.name, eDef.description, eDef.enumValues);
@@ -415,7 +416,8 @@
             for (StructTypeDefinition sDef : structDefs) {
                 assert sDef.typeName != null;
                 if (!update && isRegistered(sDef.typeName)) {
-                    throw new TypeExistsException(String.format("Cannot redefine type %s", sDef.typeName));
+                    LOG.warn("Found duplicate definition of type {}. Ignoring..", sDef.typeName);
+                    continue;
                 }
                 StructType sT = new StructType(this, sDef.typeName, sDef.typeDescription, sDef.attributeDefinitions.length);
                 structNameToDefMap.put(sDef.typeName, sDef);
@@ -425,7 +427,8 @@
             for (HierarchicalTypeDefinition<TraitType> traitDef : traitDefs) {
                 assert traitDef.typeName != null;
                 if (!update && isRegistered(traitDef.typeName)) {
-                    throw new TypeExistsException(String.format("Cannot redefine type %s", traitDef.typeName));
+                    LOG.warn("Found duplicate definition of type {}. Ignoring..", traitDef.typeName);
+                    continue;
                 }
                 TraitType tT = new TraitType(this, traitDef.typeName, traitDef.typeDescription, traitDef.superTypes,
                         traitDef.attributeDefinitions.length);
@@ -436,7 +439,8 @@
             for (HierarchicalTypeDefinition<ClassType> classDef : classDefs) {
                 assert classDef.typeName != null;
                 if (!update && isRegistered(classDef.typeName)) {
-                    throw new TypeExistsException(String.format("Cannot redefine type %s", classDef.typeName));
+                    LOG.warn("Found duplicate definition of type {}. Ignoring..", classDef.typeName);
+                    continue;
                 }
 
                 ClassType cT = new ClassType(this, classDef.typeName, classDef.typeDescription, classDef.superTypes,