You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by jo...@apache.org on 2016/02/16 19:30:33 UTC
[28/50] [abbrv] ambari git commit: AMBARI-15031. Duplicate key
violation during ldap sync (Oliver Szabo via rlevas)
AMBARI-15031. Duplicate key violation during ldap sync (Oliver Szabo via rlevas)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e1875539
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e1875539
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e1875539
Branch: refs/heads/branch-dev-patch-upgrade
Commit: e18755393326d10564f7d68c2d025572fed25d63
Parents: ed55354
Author: Oliver Szabo <os...@hortonworks.com>
Authored: Fri Feb 12 16:26:31 2016 -0500
Committer: Robert Levas <rl...@hortonworks.com>
Committed: Fri Feb 12 16:26:35 2016 -0500
----------------------------------------------------------------------
.../ambari/server/security/ldap/AmbariLdapDataPopulator.java | 5 ++++-
.../org/apache/ambari/server/security/ldap/LdapBatchDto.java | 5 +++++
.../server/security/ldap/AmbariLdapDataPopulatorTest.java | 4 ++++
3 files changed, 13 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/e1875539/ambari-server/src/main/java/org/apache/ambari/server/security/ldap/AmbariLdapDataPopulator.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/security/ldap/AmbariLdapDataPopulator.java b/ambari-server/src/main/java/org/apache/ambari/server/security/ldap/AmbariLdapDataPopulator.java
index 21492cf..801e43e 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/security/ldap/AmbariLdapDataPopulator.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/security/ldap/AmbariLdapDataPopulator.java
@@ -485,8 +485,11 @@ public class AmbariLdapDataPopulator {
batchInfo.getGroupsToBecomeLdap().add(groupName);
}
internalGroupsMap.remove(groupName);
+ batchInfo.getGroupsProcessedInternal().add(groupName);
} else {
- batchInfo.getGroupsToBeCreated().add(groupName);
+ if (!batchInfo.getGroupsProcessedInternal().contains(groupName)) {
+ batchInfo.getGroupsToBeCreated().add(groupName);
+ }
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e1875539/ambari-server/src/main/java/org/apache/ambari/server/security/ldap/LdapBatchDto.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/security/ldap/LdapBatchDto.java b/ambari-server/src/main/java/org/apache/ambari/server/security/ldap/LdapBatchDto.java
index 9247f38..bb9c5ee 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/security/ldap/LdapBatchDto.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/security/ldap/LdapBatchDto.java
@@ -27,6 +27,7 @@ public class LdapBatchDto {
private final Set<String> groupsToBecomeLdap = new HashSet<String>();
private final Set<String> groupsToBeCreated = new HashSet<String>();
private final Set<String> groupsToBeRemoved = new HashSet<String>();
+ private final Set<String> groupsProcessedInternal = new HashSet<>();
private final Set<String> usersToBecomeLdap = new HashSet<String>();
private final Set<String> usersToBeCreated = new HashSet<String>();
private final Set<String> usersToBeRemoved = new HashSet<String>();
@@ -64,4 +65,8 @@ public class LdapBatchDto {
public Set<String> getUsersToBeRemoved() {
return usersToBeRemoved;
}
+
+ public Set<String> getGroupsProcessedInternal() {
+ return groupsProcessedInternal;
+ }
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/e1875539/ambari-server/src/test/java/org/apache/ambari/server/security/ldap/AmbariLdapDataPopulatorTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/security/ldap/AmbariLdapDataPopulatorTest.java b/ambari-server/src/test/java/org/apache/ambari/server/security/ldap/AmbariLdapDataPopulatorTest.java
index be92871..8ce6c5b 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/security/ldap/AmbariLdapDataPopulatorTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/security/ldap/AmbariLdapDataPopulatorTest.java
@@ -348,6 +348,10 @@ public class AmbariLdapDataPopulatorTest {
assertTrue(result.getMembershipToRemove().isEmpty());
assertTrue(result.getUsersToBecomeLdap().isEmpty());
assertTrue(result.getUsersToBeRemoved().isEmpty());
+ assertTrue(result.getGroupsProcessedInternal().contains("group1"));
+ assertTrue(result.getGroupsProcessedInternal().contains("group2"));
+ assertTrue(!result.getGroupsProcessedInternal().contains("xgroup1"));
+ assertTrue(!result.getGroupsProcessedInternal().contains("xgroup2"));
verify(populator.loadLdapTemplate(), populator);
}