On Fri, 2014-04-11 at 12:16 +0200, Jakub Hrozek wrote:
> On Wed, Apr 09, 2014 at 02:29:05PM +0200, Pavel Reichl wrote:
> > Hello, 
> > 
> > please see attached patch. 
> > 
> > This patch was previously written for BZ 1059423. But it now seems that
> > more detailed logging information is generally useful for issues that
> > are emerging from this area lately.
> > 
> > Pavel Reichl
> 
> Hi,
> 
> this patch is OK, but I think we should also add more debugging to
> sdap_save_grpmem().
> 
> Would it be too much work to also apply the patch to 1.11 ? I think it
> might come handy with the planned RHEL-6.6 rebase..

Hi, 

I added 3 log messages to sdap_save_grpmem() and 1 to sysdb_store_group.
I actually can't see any other good spot to add logging in
sdap_save_grpmem(), but I could add more logging messages into functions
which are called from here...?

I'll be happy to prepare patch for 1.11 but I would prefer to have acked
patch for master before doing so. 

Thanks.
>From 8cac5099cc0ae3aed98ff290c4a7f7663ed4f092 Mon Sep 17 00:00:00 2001
From: Pavel Reichl <[email protected]>
Date: Wed, 19 Feb 2014 17:34:05 +0000
Subject: [PATCH] SDAP: augmented logging for group saving

Resolves:
https://fedorahosted.org/sssd/ticket/2239
---
 src/db/sysdb_ops.c                     |  3 +++
 src/providers/ldap/sdap_async_groups.c | 22 +++++++++++++++++++++-
 2 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/src/db/sysdb_ops.c b/src/db/sysdb_ops.c
index 3065be6444070a8d1fceddb323cff883434eacf4..1f51b9682f11b04f1e40677eb26982c300a1687f 100644
--- a/src/db/sysdb_ops.c
+++ b/src/db/sysdb_ops.c
@@ -1909,6 +1909,9 @@ int sysdb_store_group(struct sss_domain_info *domain,
 
     ret = sysdb_search_group_by_name(tmp_ctx, domain, name, src_attrs, &msg);
     if (ret && ret != ENOENT) {
+        DEBUG(SSSDBG_MINOR_FAILURE,
+              "sysdb_search_group_by_name failed for %s with: [%d][%s].\n",
+              name, ret, strerror(ret));
         goto done;
     }
     if (ret == ENOENT) {
diff --git a/src/providers/ldap/sdap_async_groups.c b/src/providers/ldap/sdap_async_groups.c
index 930c5ed2df6e6ca467ab413e292ad41125e7f23f..4240bb585d57a80199d040ac44891ee1b6429e05 100644
--- a/src/providers/ldap/sdap_async_groups.c
+++ b/src/providers/ldap/sdap_async_groups.c
@@ -198,6 +198,7 @@ static int sdap_fill_memberships(struct sdap_options *opts,
 
     ret = sysdb_attrs_get_el(group_attrs, SYSDB_MEMBER, &el);
     if (ret) {
+        DEBUG(SSSDBG_MINOR_FAILURE, "sysdb_attrs_get_el failed\n");
         goto done;
     }
 
@@ -205,6 +206,7 @@ static int sdap_fill_memberships(struct sdap_options *opts,
     el->values = talloc_realloc(group_attrs, el->values, struct ldb_val,
                                 el->num_values + num_values + nuserdns);
     if (!el->values) {
+        DEBUG(SSSDBG_MINOR_FAILURE, "No memory to allocate group attrs\n");
         ret = ENOMEM;
         goto done;
     }
@@ -243,6 +245,9 @@ static int sdap_fill_memberships(struct sdap_options *opts,
                 continue;
             }
             if (ret != EOK) {
+                DEBUG(SSSDBG_MINOR_FAILURE,
+                      "'sdap_find_entry_by_origDN' failed for member [%s] ",
+                       (char *)values[i].data);
                 goto done;
             }
 
@@ -253,6 +258,8 @@ static int sdap_fill_memberships(struct sdap_options *opts,
             el->values[j].length = strlen((char *)el->values[j].data);
             j++;
         } else if (hret != HASH_SUCCESS) {
+            DEBUG(SSSDBG_MINOR_FAILURE,
+                  "hash_lookup failed: [%d]: %s\n", hret, strerror(hret));
             ret = EFAULT;
             goto done;
         }
@@ -755,6 +762,9 @@ static int sdap_save_grpmem(TALLOC_CTX *memctx,
         ret = sdap_dn_by_primary_gid(memctx, attrs, dom, opts,
                                      &userdns, &nuserdns);
         if (ret != EOK) {
+            DEBUG(SSSDBG_MINOR_FAILURE,
+                  "sdap_dn_by_primary_gid failed: [%d][%s].\n",
+                  ret, strerror(ret));
             goto fail;
         }
     }
@@ -762,6 +772,8 @@ static int sdap_save_grpmem(TALLOC_CTX *memctx,
     ret = sysdb_attrs_get_el(attrs,
                     opts->group_map[SDAP_AT_GROUP_MEMBER].sys_name, &el);
     if (ret != EOK) {
+        DEBUG(SSSDBG_MINOR_FAILURE, "sysdb_attrs_get_el failed: [%d][%s].\n",
+              ret, strerror(ret));
         goto fail;
     }
 
@@ -774,6 +786,7 @@ static int sdap_save_grpmem(TALLOC_CTX *memctx,
 
         group_attrs = sysdb_new_attrs(memctx);
         if (!group_attrs) {
+            DEBUG(SSSDBG_MINOR_FAILURE, "sysdb_new_attrs failed\n");
             ret = ENOMEM;
             goto fail;
         }
@@ -782,13 +795,20 @@ static int sdap_save_grpmem(TALLOC_CTX *memctx,
                                     el->values, el->num_values,
                                     userdns, nuserdns);
         if (ret) {
+            DEBUG(SSSDBG_CRIT_FAILURE,
+                  "sdap_fill_memberships failed with [%d]: %s\n", ret,
+                   strerror(ret));
             goto fail;
         }
     }
 
     ret = sysdb_store_group(dom, group_name, 0, group_attrs,
                             dom->group_timeout, now);
-    if (ret) goto fail;
+    if (ret) {
+        DEBUG(SSSDBG_MINOR_FAILURE, "sysdb_store_group failed: [%d][%s].\n",
+              ret, strerror(ret));
+        goto fail;
+    }
 
     return EOK;
 
-- 
1.8.4.2

_______________________________________________
sssd-devel mailing list
[email protected]
https://lists.fedorahosted.org/mailman/listinfo/sssd-devel

Reply via email to