Too expensive for the acl operation?
$ egrep _re_ acl/*.[ch] acl/acl.c: re = slapi_re_comp( pat, &re_result ); acl/acl.c: /* slapi_re_exec() returns 1 if the string p1 matches the last compiled acl/acl.c: rc = slapi_re_exec( re, realval, -1 /* no timelimit */ ); acl/acl.c: slapi_re_free(re);
attachment
in a test scenario provided by qa the high cpu usage by the regex code could be confirmed [perf output attached]
attachment 0001-Ticket-48175-Avoid-using-regex-in-ACL-if-possible.patch
You patch looks good!
Could you share the top result from the build which your patch is applied to? Thanks!
screenshot of perf top with fix attached
Replying to [comment:5 lkrispen]:
Thank you, Ludwig!! What a beautiful result!!
master: commit 25c3b83af5c0ed9a37db9d4928dd429682029dd6
1.2.11: commit 6024a7731c1888668f1efc163fb55e118a373366
1.3.3
commit 064df7b5cd173c15ddc404fc905b0a0e4bd470d7
Ticket has been cloned to Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1236156
Note: 389-ds-base-1.3.4 was branched after this patch was pushed.
Closing this ticket as FIXED.
Metadata Update from @lkrispen: - Issue assigned to lkrispen - Issue set to the milestone: 1.2.11.33
389-ds-base is moving from Pagure to Github. This means that new issues and pull requests will be accepted only in 389-ds-base's github repository.
This issue has been cloned to Github and is available here: - https://github.com/389ds/389-ds-base/issues/1506
If you want to receive further updates on the issue, please navigate to the github issue and click on subscribe button.
subscribe
Thank you for understanding. We apologize for all inconvenience.
Metadata Update from @spichugi: - Issue close_status updated to: wontfix (was: Fixed)