Modify event not being detected by engine on second server
I have an interesting issue with one of my customers.
Here is the config:
- Two server tree
- Running on Red Hat 6.5
- eDirectory 9.0.4 on both
- IDM 4.6 on both
- Both servers have copies of all replicas
- eDirectory appears to be healthy
- Null Business logic driver running on server1
- Delimited Text driver running on server2
- All traces are running at level 3
- User is being modified by a source system causing a multi valued case ignore attribute custCategory to have some of it's values to be removed by the business logic driver.
- Later on in the thread on the business logic driver, the user to be moved to a different container.
The delimited text driver has custCategory set to sync on the subscriber channel in the driver filter, however the driver does not see the modify transaction for custCategory. It does see the move (and the driver performs a sync from move)
I don't see anything in the log file of the Delimited Text driver at the time when custCategory is modified.
Checking the values in iMonitor reveal that both servers have processed the change to custCategory.
My delimited text driver is a subscriber only (dumb output to a file that is then processed by the application) so the sync does does not (and cannot) evaluate the correct value for custCategory, so I have essentially lost the remove values transaction.
If I modify the attribute manually via LDAP on server1, within a few seconds server2 picks up the transaction as expected.
The problem seems to be related to the change then move sequence of events. Has anyone else seen this kind of behaviour?
Other than moving the Delimited Text driver to server1, anyone any ideas on how I can remedy this?
There is a very long explanation why running a driver which does moves on a non-root server will cause pain and suffering - but in general it is a bad idea.
As earlier, I'd recommend to look at a sync trace, it will show you what is being send.
Also you say that your aux-class attribute is in the filter, is it on the class which receives the attribute, or is it there as aux-class/attribute.
It could be interesting to make sure that both are there ... the filter can sometimes be "interesting".
I will definitely run a dstrace at some point here as it's somewhat bizarre.
I get where you're coming from with the aux class - and I have the attribute listed under User on the filter. I'd have thought if that were the issue though, I'd have seen it all of the time.
It could be a sync issue. Run an ndstrace +time +tags +sync +sydl on the destination server to see if you get the modify, which will then trigger the even.
Thanks for the reply Casper.
The reason I don't think it's an eDirectory sync issue is that it's the object is showing consistency on both servers in iMonitor.
I've taken the path of least resistance at the moment and moved my delimited text driver over on to server1.
I'm waiting on the customer to retest - if this doesn't work I'll follow your advice - never hurts to see whats happening on the sync thread 🙂