Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 915541

Summary: Posix Winsync plugin throws "posix_winsync_end_update_cb: failed to add task entry" error message
Product: Red Hat Enterprise Linux 7 Reporter: Sankar Ramalingam <sramling>
Component: 389-ds-baseAssignee: Rich Megginson <rmeggins>
Status: CLOSED CURRENTRELEASE QA Contact: Sankar Ramalingam <sramling>
Severity: medium Docs Contact:
Priority: high    
Version: 7.0CC: jgalipea, nhosoi, nkinder
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: 389-ds-base-1.3.1.2-1.el7 Doc Type: Bug Fix
Doc Text:
Cause: When a task posixWinsyncCreateMemberOfTask is already running, another same task request is received, the Posix Winsync Plug-in issues an error "posix-winsync - posix_winsync_end_update_cb: failed to add task entry". This is not an "error" but an expected behaviour. Consequence: Unnecessary messages are logged in the error log. Fix: Changed the log level to SLAPI_LOG_PLUGIN. Result: Unnecessary messages are not logged in the error log.
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-13 10:29:30 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Sankar Ramalingam 2013-02-26 02:35:07 UTC
Description of problem:
DS error logs throwing "posix_winsync_end_update_cb: failed to add task entry" error when upgraded the existing RHEL6.4 Posix winsync setup to RHEL6.4z.

Version-Release number of selected component (if applicable): 1.2.11.15-12

How reproducible: Consistent when Posix winsync plugin is enabled.


Steps to Reproduce:
1. Install latest 389-ds-base packages and configure Winsync.
2. Enable "Posix Winsync" plugin and set these values(posixWinsyncCreateMemberOfTask and posixwinsyncmapmemberuid) TRUE.
3. Add few groups on AD with member attribute.
4. Leave the setup for 5 - 10 mins
5. Add few more groups on to AD with member attribute.
6. Tail the DS error logs and observe any error messages displayed as "posix-winsync - posix_winsync_end_update_cb: failed to add task entry"
  
Actual results: It throws "posix-winsync - posix_winsync_end_update_cb: failed to add task entry"

Expected results:
There should be a better way to handle if the task is already running/exists.

Additional info: Noriko's comments:

Investigated a little more on this issue.  I think the error is minor and we could fix it in 1.3.1.  But, I'd like to have more comments...

The error message is issued when testing this functionality:

    posixWinsyncCreateMemberOfTask - this is FALSE by default. Set this to TRUE if you are using memberOf and you want the memberOf attribute values updated after group sync is complete. The plugin will invoke the memberof fixup task to perform this update.

The Posix Winsync plugin sets the config parameter:

    dn: cn=Posix Winsync API,cn=plugins,cn=config
    posixwinsynccreatememberoftask: TRUE

slapd-M1/dse.ldif has the "memberuid task" entry:

    dn: cn=memberuid task,cn=tasks,cn=config
    objectClass: top
    objectClass: extensibleObject
    cn: memberuid task
    creatorsName: cn=server,cn=plugins,cn=config
    modifiersName: cn=server,cn=plugins,cn=config
    createTimestamp: 20130225103003Z
    modifyTimestamp: 20130225103003Z

And the real task entry is added sometimes.  It's added periodically and let the task run, then the task disappears when it's done.

    dn: cn=posix-winsync,cn=memberuid task,cn=tasks,cn=config
    cn: posix-winsync
    objectClass: extensibleObject
    objectClass: top
    basedn: ou=dswinsync,dc=passsync,dc=com
    creatorsName: cn=Posix Winsync API,cn=plugins,cn=config
    modifiersName: cn=Posix Winsync API,cn=plugins,cn=config
    createTimestamp: 20130225191505Z
    modifyTimestamp: 20130225191505Z

The error "failed to add task entry" is being issued in the function "posix_winsync_end_update_cb" as we see in the error log:

    [25/Feb/2013:05:33:10 -0500] posix-winsync - posix_winsync_end_update_cb: failed to add task entry
    [25/Feb/2013:05:35:06 -0500] posix-winsync - posix_winsync_end_update_cb: failed to add task entry
    [25/Feb/2013:05:36:31 -0500] posix-winsync - posix_winsync_end_update_cb: failed to add task entry
    [25/Feb/2013:05:36:32 -0500] posix-winsync - posix_winsync_end_update_cb: failed to add task entry

The function adds the task entry which DN is always "cn=posix-winsync,cn=memberuid task,cn=tasks,cn=config"
        char *dn = slapi_create_dn_string("cn=%s,cn=%s,cn=tasks,cn=config", posix_winsync_plugin_name, MEMBEROFTASK);

The function posix_winsync_end_update_cb is a update callback, if multiple updates come in while the first task is still running, the additional task adds fail since all tasks share the same name...?  Probably, we want to set the different name, e.g., containing the time stamp in the cn (cn=posix-winsync-<time>,cn=memberuid task,cn=tasks,cn=config")?

But it may not be needed that intensively if the purpose of the task is just "fix_memberuid scan for orphaned memberuids" under the basedn "ou=dswinsync,dc=passsync,dc=com".  If that's the case, the above error would be benign.  We may want to suppress them if the error code is LDAP_ALREADY_EXISTS.

Thanks,
--noriko

Comment 2 Nathan Kinder 2013-03-04 16:18:11 UTC
Upstream ticket:
https://fedorahosted.org/389/ticket/608

Comment 3 Rich Megginson 2013-10-01 23:25:27 UTC
moving all ON_QA bugs to MODIFIED in order to add them to the errata (can't add bugs in the ON_QA state to an errata).  When the errata is created, the bugs should be automatically moved back to ON_QA.

Comment 5 Sankar Ramalingam 2013-11-08 14:22:48 UTC
This cannot be verified since there is a blocker issue to test winsync - https://bugzilla.redhat.com/show_bug.cgi?id=1028440

Comment 6 Sankar Ramalingam 2013-11-11 07:22:04 UTC
As per the reproduction steps, I created groups in AD with members in a sequence and didn't encounter any errors in the DS logs. Hence, marking the bug as Verified.

Build tested:
389-ds-base-1.3.1.6-9.el7.x86_64
Passsync-1.1.5-7

Comment 7 Ludek Smid 2014-06-13 10:29:30 UTC
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.