summaryrefslogtreecommitdiff
path: root/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
diff options
context:
space:
mode:
Diffstat (limited to 'ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java')
-rw-r--r--ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java14
1 files changed, 8 insertions, 6 deletions
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 156fd5babe..455b4f16c7 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
@@ -711,10 +711,7 @@ public class ViewRegistry {
targetInstanceEntity.getName());
List<PrivilegeEntity> targetInstancePrivileges = privilegeDAO.findByResourceId(targetInstanceEntity.getResource().getId());
if (targetInstancePrivileges.size() > 0) {
- LOG.warn("Old privileges will be removed for " + targetInstanceEntity.getName());
- for (PrivilegeEntity privilegeEntity : targetInstancePrivileges) {
- removePrivilegeEntity(privilegeEntity);
- }
+ LOG.warn("Target instance {} already has privileges assigned, these will not be deleted. Manual clean up may be needed",targetInstanceEntity.getName());
}
List<PrivilegeEntity> sourceInstancePrivileges = privilegeDAO.findByResourceId(sourceInstanceEntity.getResource().getId());
@@ -723,9 +720,14 @@ public class ViewRegistry {
targetPrivilege.setPrincipal(sourcePrivilege.getPrincipal());
targetPrivilege.setResource(targetInstanceEntity.getResource());
targetPrivilege.setPermission(sourcePrivilege.getPermission());
- privilegeDAO.create(targetPrivilege);
+ try {
+ privilegeDAO.create(targetPrivilege);
+ targetPrivilege.getPrincipal().getPrivileges().add(sourcePrivilege);
+ } catch (Exception e){
+ LOG.warn("Could not migrate privilege {} ",targetPrivilege);
+ LOG.error("Caught exception",e);
+ }
- targetPrivilege.getPrincipal().getPrivileges().add(sourcePrivilege);
}
}