I'll give you more data:
- We have 2705 users synchronized from Microsoft Active Directory.
- When we don't manipulate in our custom cache refresh script info like displayName or memberOf (attributes that contain ñ-letters and accents), all the syncs works.
- When we try to manipulate info in displayName or memberOf, it throws 252 errors. CR counter increases from 0 to 252.
- To check those errors, as oxtrust_cache_refresh.log doesn't show enough info, we print/log in our cache refresh script log all the process. We see all the errors come from displayName and memberOf containing ñ-letter or accents, at the moment we call for getValue() function of GluuCustomAttribute. Sure, the errors come from that function.
- We print on cache refresh script log every line we write... the java exception is thrown from the function early mentioned. Those exceptions can't be catched in "try-except" with Python. So, it seems it throws directly from Java without any way to mitigate it from our script.
- oxtrust_cache_refresh.log only shows that had been errors on users with messages like this:
2017-12-18 11:39:55,463 ERROR [Thread-1165] [gluu.oxtrust.ldap.cache.service.CacheRefreshTimer] (CacheRefreshTimer.java:671) - Failed to execute Cache Refresh scripts for person '@!1F14.B01A.2B94.44F3!0001!EDBE.3490!0000!72D9.A615'
- At the end of the sync process, oxtrust_cache_refresh.log shows:
2017-12-18 11:39:55,694 INFO [Thread-1165] [gluu.oxtrust.ldap.cache.service.CacheRefreshTimer] (CacheRefreshTimer.java:395) - Updated '2453' entries
2017-12-18 11:39:55,695 INFO [Thread-1165] [gluu.oxtrust.ldap.cache.service.CacheRefreshTimer] (CacheRefreshTimer.java:397) - Failed to update '252' entries
2017-12-18 11:39:55,712 INFO [Thread-1165] [gluu.oxtrust.ldap.cache.service.CacheRefreshTimer] (CacheRefreshTimer.java:437) - Removed '0' persons from target server
- I'm pretty sure there's another way to receive info from LDAP as is used in Gluu UI, because that "spanish info" is well-represented without errors on it.
- Aliaksandr, we have spent a whole week only working in sync process. Now, I could teach Gluu sync process hehehehe (have you certificate path? hehehehe). I mean, all the steps you have wrote, I've already made it. I filtered with multiple scopes (Base DNs) to sync little groups. Always when we don't manipulate "spanish-letters-people", it works. Sure, the big problem is accents and ñ-letters with getValue() function.