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 {

Reply via email to