Hi,
I'm posting in the developer forum rather than the OT General forum because I really want developer eyes on this, particularly anyone who has done Oscript for a decade or more.
For my government client, we've been tracking an issue where every so often, a duplicate entry appears in DTreeACL, where you have the same right ID, same ACL type, and same data ID entered twice, but not necessarily with the same Permissions. Our DBA has noted that (at least in SQL Server) all 6 field of DTreeACL make up a unique entry which allows such duplicates from a DB perspective. Programmatically, I'm asking if that makes sense, and if there is *ever* a reason why Content Server would want/need to create a second (or third) ACL for the same data ID and same user/group? The reason that this is an issue for us is that when such dups exist in the database, a folder tree can neither be copied nor moved because the perm check chokes on the duplication. We are running CS 10.0 U 2015-06. I suspect a race condition where one thread adds an empty ACL for a user, and another thread adds the empty ACL and updates it, not knowing about the other one.
And yes, we've opened a ticket, but we're not gettin anywhere with it as this is an issue that's near impossible to replicate. Hence I'm reaching out to the development community as our only recourse is to implement our own unique constraint on DTreeACL to prevent there from ever being two entries with the same DataID, RightID, and ACL type.
-Hugh