Hi,
Using IDM351.
Somehow during remove/add of the "security equals to" attribute the
attribute is removed completely.

I have a METATREE to which I sync from a database using driver "A1", in
the command transformation policy on the publisher channel of A1 I have a
policy that removes the group membership and security equals to attributes
for all groups named Idm-Auto-* from my user when some attributes change
and add new group membership and security equals to.

From my METATREE I have several drivers going to different trees.
With one of those trees (Schooltree) I have a bi-directional sync for the
Group Membership and Security Equals To attributes.

The tree Schooltree has only one driver running, the one that connects
with the METATREE.

Here is the rule that does the removing:

<rule>
<description>Remove membership from Idm-Auto-* Groups</description>
<conditions>
<and>
<if-local-variable name="var-GroupMember" op="available"/>
<if-local-variable name="var-SEQ" op="available"/>
</and>
</conditions>
<actions>
<do-for-each>
<arg-node-set>
<token-local-variable name="var-GroupMember"/>
</arg-node-set>
<arg-actions>
<do-if>
<arg-conditions>
<and>
<if-local-variable mode="regex" name="current-node"
op="equal">.+Idm-Auto.+</if-local-variable>
</and>
</arg-conditions>
<arg-actions>
<do-remove-dest-attr-value direct="true" name="Group Membership">
<arg-value type="dn">
<token-local-variable name="current-node"/>
</arg-value>
</do-remove-dest-attr-value>
</arg-actions>
<arg-actions/>
</do-if>
</arg-actions>
</do-for-each>
<do-for-each>
<arg-node-set>
<token-local-variable name="var-SEQ"/>
</arg-node-set>
<arg-actions>
<do-if>
<arg-conditions>
<and>
<if-local-variable mode="regex" name="current-node"
op="equal">.+Idm-Auto.+</if-local-variable>
</and>
</arg-conditions>
<arg-actions>
<do-remove-dest-attr-value name="Security Equals" direct="true">
<arg-value type="dn">
<token-local-variable name="current-node"/>
</arg-value>
</do-remove-dest-attr-value>
</arg-actions>
<arg-actions/>
</do-if>
</arg-actions>
</do-for-each>
</actions>
</rule>

Here is what happens in the other tree (Schooltree) after it has received
the command to remove those values, a bit of the trace, the names/DN's are
scrambled.


First comes the XDS document but after that you can see it "writing to
cache" changes to the Security Equals attribute and this is being resent
to the Metatree.

I don't understand why it doesn't happen to the group membership values,
after all they are in the same operation. Anyway somehow this causes
several modify operations that are sent to the metatree and back, using a
LDAP browser and refreshing during this operation I can see the security
equals being written and then removed.

If I set the publisher filter for the security equals attribute to notify
on the metatree side of the driver I can see the modify operation to
remove the seq value being sent but since I now have it as notify it's
tossed away and this "loop" doesn't occur, all values stay as they should.



<nds dtdversion="3.5" ndsversion="8.x">
<source>
<product version="3.5.10.20070918 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<modify cached-time="20071218165750.593Z" class-name="User"
dest-dn="SchooltreeIrsSchoolSchoolsLS695SARKRS" dest-entry-id="33837"
event-id="SSC#0x01b39cc8#6"
qualified-src-dn="O=METATREEOU=IdentitiesCN=000111222333CN=00011 1222333-XX"
src-dn="METATREEIdentities\000111222333\000111222333-XX"
src-entry-id="40314" timestamp="0#0">
<association
state="associated">{2085DF62-A9F8-874a-CDBD-2085DF62A9F8}</association>
<modify-attr attr-name="Security Equals">
<remove-value>
<value timestamp="1197997017#13"
type="dn">SchooltreeIrsSchoolUsersGroupsIdm-Auto-Group1</value>
<value timestamp="1197997017#18"
type="dn">SchooltreeIrsSchoolUsersGroupsIdm-Auto-Group2</value>
<value timestamp="1197997017#23"
type="dn">SchooltreeIrsSchoolUsersGroupsLIIdm-Auto-Group3</value>
<value timestamp="1197997017#28"
type="dn">SchooltreeIrsSchoolUsersGroupsLIIdm-Auto-6</value>
</remove-value>
</modify-attr>
<modify-attr attr-name="Group Membership">
<remove-value>
<value timestamp="1197997017#1"
type="dn">SchooltreeIrsSchoolUsersGroupsIdm-Auto-Group1</value>
<value timestamp="1197997017#2"
type="dn">SchooltreeIrsSchoolUsersGroupsIdm-Auto-Group2</value>
17:57:51 64192BB0 Drvrs: <value timestamp="1197997017#3"
type="dn">SchooltreeIrsSchoolUsersGroupsLIIdm-Auto-Group3</value>
<value timestamp="1197997017#4"
type="dn">SchooltreeIrsSchoolUsersGroupsLIIdm-Auto-6</value>
</remove-value>
</modify-attr>
</modify>
</input>
</nds>
17:57:51 64192BB0 Drvrs: BLABLABLADRIVER PT:Filtering out
notification-only attributes.
17:57:51 64192BB0 Drvrs: BLABLABLADRIVER PT:Pumping XDS to eDirectory.
17:57:51 64192BB0 Drvrs: BLABLABLADRIVER PT:Performing operation modify
for SchooltreeIrsSchoolSchoolsLS695SARKRS.
17:57:51 64192BB0 Drvrs: BLABLABLADRIVER PT:Modifying entry
SchooltreeIrsSchoolSchoolsLS695SARKRS.
17:57:51 64192BB0 DirXML: BLABLABLADRIVER EV: Filtered by loopback
detection
17:57:51 64192BB0 DirXML: BLABLABLADRIVER EV: Filtered by loopback
detection
17:57:51 64192BB0 DirXML: BLABLABLADRIVER EV: Filtered by loopback
detection
17:57:51 64192BB0 DirXML: BLABLABLADRIVER EV: Filtered by loopback
detection
17:57:51 64192BB0 DirXML: BLABLABLADRIVER EV: Filtered by loopback
detection
17:57:51 64192BB0 DirXML: BLABLABLADRIVER EV: Filtered by loopback
detection
17:57:51 64192BB0 DirXML: BLABLABLADRIVER EV: Filtered by loopback
detection
17:57:51 64192BB0 DirXML: BLABLABLADRIVER EV: Filtered by loopback
detection
17:57:51 64192BB0 Drvrs: BLABLABLADRIVER PT:Fixing link from
SchooltreeIrsSchoolSchoolsLS695SARKRS#Security Equals.
17:57:51 68506BB0 DirXML: BLABLABLADRIVER EV: Writing data to cache:
17:57:51 68506BB0 DirXML: BLABLABLADRIVER EV: Event:
type(REMOVE_VALUE)timestamp(1197997071#13)object(T =SCHOOLTREEO=IRSOU=SCHOOLOU=SCHOOLSOU=LSOU=6CN=95S ARKRS:User)value(SYN_DIST_NAME:Security
Equals:T=SCHOOLTREEO=IRSOU=SCHOOLOU=USERSOU=groups CN=Idm-Auto-Group1)
17:57:51 68506BB0 DirXML: BLABLABLADRIVER EV: Entry ID: 0x842d, Verb:
-84, Entry flags: 0x0001, Obituary flags: 0x0000
17:57:51 68506BB0 DirXML: BLABLABLADRIVER EV: Wrote 117 bytes to cache
33369.TAO
17:57:51 68506BB0 DirXML: BLABLABLADRIVER EV: Elapsed time: 0.023
milliseconds
17:57:51 68506BB0 DirXML: BLABLABLADRIVER EV: Writing data to cache:
17:57:51 68506BB0 DirXML: BLABLABLADRIVER EV: Event:
type(MODIFY_ENTRY)timestamp(0#0)object(T=SCHOOLTRE EO=IRSOU=SCHOOLOU=SCHOOLSOU=LSOU=6CN=95SARKRS:User )
17:57:51 68506BB0 DirXML: BLABLABLADRIVER EV: Entry ID: 0x842d, Verb:
-84, Entry flags: 0x0001, Obituary flags: 0x0000
17:57:51 68506BB0 DirXML: BLABLABLADRIVER EV: Wrote 149 bytes to cache
33369.TAO
17:57:51 68506BB0 DirXML: BLABLABLADRIVER EV: Elapsed time: 0.011
milliseconds
17:57:51 68506BB0 DirXML: BLABLABLADRIVER EV: Committing 266 bytes to
cache 33369.TAO
17:57:51 68506BB0 DirXML: BLABLABLADRIVER EV: Committed 266 bytes to cache
33369.TAO
17:57:51 68506BB0 DirXML: BLABLABLADRIVER EV: Elapsed time: 1.289
milliseconds
17:57:51 64192BB0 Drvrs: BLABLABLADRIVER PT:Fixing link from
SchooltreeIrsSchoolSchoolsLS695SARKRS#Security Equals.
17:57:51 66D00BB0 DirXML: BLABLABLADRIVER EV: Writing data to cache:
17:57:51 66D00BB0 DirXML: BLABLABLADRIVER EV: Event:
type(REMOVE_VALUE)timestamp(1197997071#18)object(T =SCHOOLTREEO=IRSOU=SCHOOLOU=SCHOOLSOU=LSOU=6CN=95S ARKRS:User)value(SYN_DIST_NAME:Security
Equals:T=SCHOOLTREEO=IRSOU=SCHOOLOU=USERSOU=groups CN=Idm-Auto-Group2)
17:57:51 66D00BB0 DirXML: BLABLABLADRIVER EV: Entry ID: 0x842d, Verb:
-84, Entry flags: 0x0001, Obituary flags: 0x0000
17:57:51 66D00BB0 DirXML: BLABLABLADRIVER EV: Wrote 122 bytes to cache
33369.TAO
17:57:51 66D00BB0 DirXML: BLABLABLADRIVER EV: Elapsed time: 0.020
milliseconds
17:57:51 66D00BB0 DirXML: BLABLABLADRIVER EV: Writing data to cache:
17:57:51 66D00BB0 DirXML: BLABLABLADRIVER EV: Event:
type(MODIFY_ENTRY)timestamp(0#0)object(T=SCHOOLTRE EO=IRSOU=SCHOOLOU=SCHOOLSOU=LSOU=6CN=95SARKRS:User )
17:57:51 66D00BB0 DirXML: BLABLABLADRIVER EV: Entry ID: 0x842d, Verb:
-84, Entry flags: 0x0001, Obituary flags: 0x0000
17:57:51 66D00BB0 DirXML: BLABLABLADRIVER EV: Wrote 149 bytes to cache
33369.TAO
17:57:51 66D00BB0 DirXML: BLABLABLADRIVER EV: Elapsed time: 0.011
milliseconds
17:57:51 66D00BB0 DirXML: BLABLABLADRIVER EV: Committing 271 bytes to
cache 33369.TAO
17:57:51 66D00BB0 DirXML: BLABLABLADRIVER EV: Committed 271 bytes to cache
33369.TAO
17:57:51 66D00BB0 DirXML: BLABLABLADRIVER EV: Elapsed time: 1.285
milliseconds
17:57:51 64192BB0 Drvrs: BLABLABLADRIVER PT:Fixing link from
SchooltreeIrsSchoolSchoolsLS695SARKRS#Security Equals.
17:57:51 4DF26BB0 DirXML: BLABLABLADRIVER EV: Writing data to cache:
17:57:51 4DF26BB0 DirXML: BLABLABLADRIVER EV: Event:
type(REMOVE_VALUE)timestamp(1197997071#23)object(T =SCHOOLTREEO=IRSOU=SCHOOLOU=SCHOOLSOU=LSOU=6CN=95S ARKRS:User)value(SYN_DIST_NAME:Security
Equals:T=SCHOOLTREEO=IRSOU=SCHOOLOU=USERSOU=groups OU=LICN=Idm-Auto-Group3)
17:57:51 4DF26BB0 DirXML: BLABLABLADRIVER EV: Entry ID: 0x842d, Verb:
-84, Entry flags: 0x0001, Obituary flags: 0x0000
17:57:51 4DF26BB0 DirXML: BLABLABLADRIVER EV: Wrote 123 bytes to cache
33369.TAO
17:57:51 4DF26BB0 DirXML: BLABLABLADRIVER EV: Elapsed time: 0.021
milliseconds
17:57:51 4DF26BB0 DirXML: BLABLABLADRIVER EV: Writing data to cache:
17:57:51 4DF26BB0 DirXML: BLABLABLADRIVER EV: Event:
type(MODIFY_ENTRY)timestamp(0#0)object(T=SCHOOLTRE EO=IRSOU=SCHOOLOU=SCHOOLSOU=LSOU=6CN=95SARKRS:User )
17:57:51 4DF26BB0 DirXML: BLABLABLADRIVER EV: Entry ID: 0x842d, Verb:
-84, Entry flags: 0x0001, Obituary flags: 0x0000
17:57:51 4DF26BB0 DirXML: BLABLABLADRIVER EV: Wrote 149 bytes to cache
33369.TAO
17:57:51 4DF26BB0 DirXML: BLABLABLADRIVER EV: Elapsed time: 0.011
milliseconds
17:57:51 4DF26BB0 DirXML: BLABLABLADRIVER EV: Committing 272 bytes to
cache 33369.TAO
17:57:51 4DF26BB0 DirXML: BLABLABLADRIVER EV: Committed 272 bytes to cache
33369.TAO
17:57:51 4DF26BB0 DirXML: BLABLABLADRIVER EV: Elapsed time: 0.493
milliseconds
17:57:51 64192BB0 Drvrs: BLABLABLADRIVER PT:Fixing link from
SchooltreeIrsSchoolSchoolsLS695SARKRS#Security Equals.
17:57:51 64EFFBB0 DirXML: BLABLABLADRIVER EV: Writing data to cache:
17:57:51 64EFFBB0 DirXML: BLABLABLADRIVER EV: Event:
type(REMOVE_VALUE)timestamp(1197997071#28)object(T =SCHOOLTREEO=IRSOU=SCHOOLOU=SCHOOLSOU=LSOU=6CN=95S ARKRS:User)value(SYN_DIST_NAME:Security
Equals:T=SCHOOLTREEO=IRSOU=SCHOOLOU=USERSOU=groups OU=LICN=Idm-Auto-6)
17:57:51 64EFFBB0 DirXML: BLABLABLADRIVER EV: Entry ID: 0x842d, Verb:
-84, Entry flags: 0x0001, Obituary flags: 0x0000
17:57:51 64EFFBB0 DirXML: BLABLABLADRIVER EV: Wrote 109 bytes to cache
33369.TAO
17:57:51 64EFFBB0 DirXML: BLABLABLADRIVER EV: Elapsed time: 0.036
milliseconds
17:57:51 64EFFBB0 DirXML: BLABLABLADRIVER EV: Writing data to cache:
17:57:51 64EFFBB0 DirXML: BLABLABLADRIVER EV: Event:
type(MODIFY_ENTRY)timestamp(0#0)object(T=SCHOOLTRE EO=IRSOU=SCHOOLOU=SCHOOLSOU=LSOU=6CN=95SARKRS:User )
17:57:51 64EFFBB0 DirXML: BLABLABLADRIVER EV: Entry ID: 0x842d, Verb:
-84, Entry flags: 0x0001, Obituary flags: 0x0000
17:57:51 64EFFBB0 DirXML: BLABLABLADRIVER EV: Wrote 149 bytes to cache
33369.TAO
17:57:51 64EFFBB0 DirXML: BLABLABLADRIVER EV: Elapsed time: 0.012
milliseconds
17:57:51 64EFFBB0 DirXML: BLABLABLADRIVER EV: Committing 258 bytes to
cache 33369.TAO
17:57:51 64EFFBB0 DirXML: BLABLABLADRIVER EV: Committed 258 bytes to cache
33369.TAO
17:57:51 64EFFBB0 DirXML: BLABLABLADRIVER EV: Elapsed time: 1.750
milliseconds
17:57:51 64192BB0 Drvrs: BLABLABLADRIVER PT:Fixing link from
SchooltreeIrsSchoolSchoolsLS695SARKRS#Group Membership.
17:57:51 64192BB0 Drvrs: BLABLABLADRIVER PT:Fixing link from
SchooltreeIrsSchoolSchoolsLS695SARKRS#Group Membership.
17:57:51 64192BB0 Drvrs: BLABLABLADRIVER PT:Fixing link from
SchooltreeIrsSchoolSchoolsLS695SARKRS#Group Membership.
17:57:51 64192BB0 Drvrs: BLABLABLADRIVER PT:Fixing link from
SchooltreeIrsSchoolSchoolsLS695SARKRS#Group Membership.
17:57:51 64192BB0 Drvrs: BLABLABLADRIVER PT:
DirXML Log Event -------------------
Driver: BLABLABLADRIVER
Channel: Publisher
Object: METATREEIdentities\000111222333\000111222333-XX
(SchooltreeIrsSchoolSchoolsLS695SARKRS)
Status: Success