Subject: | Cannot unmerge users reliably: EFFECTIVE_ID_CACHE may be inconsistent |
(This bug report has also been filed as https://github.com/bestpractical/rt-extension-mergeusers/issues/4)
%EFFECTIVE_ID_CACHE is flushed whenever a user is merged or unmerged.
If Request Tracker runs on a server farm of web servers, or on certain Apache MPMs, then one process would be unaware when a merge/unmerge happens via another. The cache inconsistency can cause weird behaviour, like unmerge operations that appear to succeed, but modifications to one user still show up on the other.
The cache is also flushed every 100 requests, which is too infrequent to prevent cache inconsistency.
The %EFFECTIVE_ID_CACHE should either be eliminated altogether or be flushed on every request.