Bug 1044216

Summary: examine replication code to reduce amount of stored state information
Product: Red Hat Enterprise Linux 7 Reporter: Nathan Kinder <nkinder>
Component: 389-ds-baseAssignee: Rich Megginson <rmeggins>
Status: CLOSED ERRATA QA Contact: Viktor Ashirov <vashirov>
Severity: unspecified Docs Contact:
Priority: low    
Version: 7.0CC: chorn, lkrispen, nhosoi, nkinder
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 389-ds-base-1.3.3.1-1.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1183968 (view as bug list) Environment:
Last Closed: 2015-03-05 09:33:16 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1183968    

Description Nathan Kinder 2013-12-17 22:28:48 UTC
This bug is created as a clone of upstream ticket:
https://fedorahosted.org/389/ticket/569

When frequently updating an attribute, all the deleted values are kept until they eventually are purged. But they "most likely" never will be needed in update resolution.

The task is to review update/conflict resolution to decide if it is "most likely" or "definitely not", so that the deleted values could be immediately purged.
A side effect could be to create a design doc for the current replication protocol and identify other areas for improvement

Comment 2 Sankar Ramalingam 2014-10-16 12:20:38 UTC
Is this a SanityOnly verification for QE?

Comment 3 Nathan Kinder 2014-10-16 16:59:52 UTC
(In reply to Sankar Ramalingam from comment #2)
> Is this a SanityOnly verification for QE?

This could be verified by searchign for state information (requesting the nscpentrywsi attribute).  Ludwig should be able to provide specific test/verification steps.

Comment 4 Ludwig 2014-11-17 13:50:16 UTC
The initial design doc for this feature is here:
http://www.port389.org/docs/389ds/design/entry-state-resolution.html

The effect of the implementation sholud be a reduction in stored replication metadata, but for an application there should be no difference, so without knowledge of the internals it is hard to test.

As far as I know in TET the mmrepl/state tests attempt to verify these internals and I think Noriko did adapt the tests to take this new internal behaviour into account, but am not definitely sure about this.

Comment 6 Sankar Ramalingam 2015-01-28 15:29:31 UTC
(In reply to Ludwig from comment #4)
> The initial design doc for this feature is here:
> http://www.port389.org/docs/389ds/design/entry-state-resolution.html
> 
> The effect of the implementation sholud be a reduction in stored replication
> metadata, but for an application there should be no difference, so without
> knowledge of the internals it is hard to test.
> 
> As far as I know in TET the mmrepl/state tests attempt to verify these
> internals and I think Noriko did adapt the tests to take this new internal
> behaviour into account, but am not definitely sure about this.

Hi Noriko, can you add some information about the tests added in mmrepl/state tests?.

Comment 7 Noriko Hosoi 2015-01-28 17:33:33 UTC
(In reply to Sankar Ramalingam from comment #6)
> (In reply to Ludwig from comment #4)
> > The initial design doc for this feature is here:
> > http://www.port389.org/docs/389ds/design/entry-state-resolution.html
> > 
> > The effect of the implementation sholud be a reduction in stored replication
> > metadata, but for an application there should be no difference, so without
> > knowledge of the internals it is hard to test.
> > 
> > As far as I know in TET the mmrepl/state tests attempt to verify these
> > internals and I think Noriko did adapt the tests to take this new internal
> > behaviour into account, but am not definitely sure about this.
> 
> Hi Noriko, can you add some information about the tests added in
> mmrepl/state tests?.

On the git master branch, you can find this comment (See Devel Whiteboard: DS 569)

commit 3e17ce35f295e556a41ceaa56b4b927f32b891ef
Author: Noriko Hosoi <nhosoi>
Date:   Sat Jun 22 01:23:36 2013 +0000
    bug146804: Updated the testcase to adjust to the server's new behaviour for newer than 1.3.1.
    See ticket #569; http://port389.org/wiki/Entry_State_Resolution

The commit I made is retrieved as follows:
git diff 6fe1baf7ad6b3ce44fe95667160ca4efa8eda6a9 3e17ce35f295e556a41ceaa56b4b927f32b891ef

It added some test cases to this function in accept.sh (not state):
bug146804()

Comment 11 errata-xmlrpc 2015-03-05 09:33:16 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHSA-2015-0416.html