This is an automated email from the ASF dual-hosted git repository.
pvillard pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/master by this push:
new 93efc2a NIFI-5935: - Ensuring exceptions are handled in the ldap
user/group sync background thread. - Adding additional logging around what
users/groups were discovered.
93efc2a is described below
commit 93efc2affcd899aaa38cd98799f6c308df517148
Author: Matt Gilman <[email protected]>
AuthorDate: Mon Jan 7 14:02:42 2019 -0500
NIFI-5935:
- Ensuring exceptions are handled in the ldap user/group sync background
thread.
- Adding additional logging around what users/groups were discovered.
Signed-off-by: Pierre Villard <[email protected]>
This closes #3247.
---
.../java/org/apache/nifi/authorization/Group.java | 2 +-
.../nifi/ldap/tenants/LdapUserGroupProvider.java | 21 ++++++++++++++++++++-
2 files changed, 21 insertions(+), 2 deletions(-)
diff --git
a/nifi-framework-api/src/main/java/org/apache/nifi/authorization/Group.java
b/nifi-framework-api/src/main/java/org/apache/nifi/authorization/Group.java
index 7908e85..72e03c6 100644
--- a/nifi-framework-api/src/main/java/org/apache/nifi/authorization/Group.java
+++ b/nifi-framework-api/src/main/java/org/apache/nifi/authorization/Group.java
@@ -89,7 +89,7 @@ public class Group { // TODO rename to UserGroup
@Override
public String toString() {
- return String.format("identifier[%s], name[%s]", getIdentifier(),
getName());
+ return String.format("identifier[%s], name[%s], users[%s]",
getIdentifier(), getName(), String.join(", ", users));
}
diff --git
a/nifi-nar-bundles/nifi-ldap-iaa-providers-bundle/nifi-ldap-iaa-providers/src/main/java/org/apache/nifi/ldap/tenants/LdapUserGroupProvider.java
b/nifi-nar-bundles/nifi-ldap-iaa-providers-bundle/nifi-ldap-iaa-providers/src/main/java/org/apache/nifi/ldap/tenants/LdapUserGroupProvider.java
index 2282578..9b5dada 100644
---
a/nifi-nar-bundles/nifi-ldap-iaa-providers-bundle/nifi-ldap-iaa-providers/src/main/java/org/apache/nifi/ldap/tenants/LdapUserGroupProvider.java
+++
b/nifi-nar-bundles/nifi-ldap-iaa-providers-bundle/nifi-ldap-iaa-providers/src/main/java/org/apache/nifi/ldap/tenants/LdapUserGroupProvider.java
@@ -392,7 +392,16 @@ public class LdapUserGroupProvider implements
UserGroupProvider {
}
// schedule the background thread to load the users/groups
- ldapSync.scheduleWithFixedDelay(() -> load(context), syncInterval,
syncInterval, TimeUnit.MILLISECONDS);
+ ldapSync.scheduleWithFixedDelay(() -> {
+ try {
+ load(context);
+ } catch (final Throwable t) {
+ logger.error("Failed to sync User/Groups from LDAP due to
{}. Will try again in {} millis.", new Object[] {t.toString(), syncInterval});
+ if (logger.isDebugEnabled()) {
+ logger.error("", t);
+ }
+ }
+ }, syncInterval, syncInterval, TimeUnit.MILLISECONDS);
} catch (final AuthorizationAccessException e) {
throw new AuthorizerCreationException(e);
}
@@ -639,6 +648,16 @@ public class LdapUserGroupProvider implements
UserGroupProvider {
});
}
+ if (logger.isDebugEnabled()) {
+ logger.debug("-------------------------------------");
+ logger.debug("Loaded the following users from LDAP:");
+ userList.forEach((user) -> logger.debug(" - " + user));
+ logger.debug("--------------------------------------");
+ logger.debug("Loaded the following groups from LDAP:");
+ groupList.forEach((group) -> logger.debug(" - " + group));
+ logger.debug("--------------------------------------");
+ }
+
// record the updated tenants
tenants.set(new TenantHolder(new HashSet<>(userList), new
HashSet<>(groupList)));
} finally {