Repository: ambari Updated Branches: refs/heads/trunk 51870ae74 -> 203e82b78
AMBARI-17733. Tez views disappear and can not be created after upgrade to 2.4.0.0 .(Gaurav Nagar via dipayanb) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/203e82b7 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/203e82b7 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/203e82b7 Branch: refs/heads/trunk Commit: 203e82b785d0024f230de31618e03975bb91be03 Parents: 51870ae Author: Dipayan Bhowmick <[email protected]> Authored: Sat Jul 16 01:23:07 2016 +0530 Committer: Dipayan Bhowmick <[email protected]> Committed: Sat Jul 16 01:23:36 2016 +0530 ---------------------------------------------------------------------- .../server/view/ViewDataMigrationContextImpl.java | 14 ++++++++------ .../org/apache/ambari/server/view/ViewRegistry.java | 7 +++++-- 2 files changed, 13 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/203e82b7/ambari-server/src/main/java/org/apache/ambari/server/view/ViewDataMigrationContextImpl.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/view/ViewDataMigrationContextImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/view/ViewDataMigrationContextImpl.java index e1734bd..4502fc8 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/view/ViewDataMigrationContextImpl.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/view/ViewDataMigrationContextImpl.java @@ -201,12 +201,14 @@ public class ViewDataMigrationContextImpl implements ViewDataMigrationContext { PersistenceConfig persistence = viewDefinition.getConfiguration().getPersistence(); HashMap<String, Class> classes = new HashMap<>(); - for (EntityConfig c : persistence.getEntities()) { - try { - Class entity = viewDefinition.getClassLoader().loadClass(c.getClassName()); - classes.put(c.getClassName(), entity); - } catch (ClassNotFoundException e) { - e.printStackTrace(); + if (persistence != null) { + for (EntityConfig c : persistence.getEntities()) { + try { + Class entity = viewDefinition.getClassLoader().loadClass(c.getClassName()); + classes.put(c.getClassName(), entity); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } } } return classes; http://git-wip-us.apache.org/repos/asf/ambari/blob/203e82b7/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java b/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java index ae04b99..83a3761 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java @@ -1676,8 +1676,11 @@ public class ViewRegistry { } persistView(viewDefinition, instanceDefinitions); - // add auto instance configurations if required - addAutoInstanceDefinition(viewDefinition); + // auto instances of loaded old views for doing data migration can not be installed + if (getDefinition(viewDefinition.getViewName(), viewDefinition.getVersion()) != null) { + // add auto instance configurations if required + addAutoInstanceDefinition(viewDefinition); + } setViewStatus(viewDefinition, ViewEntity.ViewStatus.DEPLOYED, "Deployed " + extractedArchiveDirPath + ".");
