Details
-
Bug
-
Status: Closed
-
Top
-
Resolution: Duplicate
-
2.24.00
-
None
-
None
Description
The calculation of the authorization bitset takes too much time. Some logs from a team concurrency test on the test server:
21.11.2012 17:11:30 INFO [org.hippoecm.repository.query.lucene.ServicingSearchIndex.getAuthorizationBitSet():125] Creating authorization bitset for user 'fvanlankvelt-editor' took 80 ms.
21.11.2012 17:11:30 INFO [org.hippoecm.repository.query.lucene.ServicingSearchIndex.getAuthorizationBitSet():125] Creating authorization bitset for user 'mdenburger-editor' took 48 ms.
21.11.2012 17:11:30 INFO [org.hippoecm.repository.query.lucene.ServicingSearchIndex.getAuthorizationBitSet():125] Creating authorization bitset for user 'liveuser' took 76 ms.
21.11.2012 17:11:32 INFO [org.hippoecm.repository.query.lucene.ServicingSearchIndex.getAuthorizationBitSet():125] Creating uthorization bitset for user 'mdenburger-editor' took 808 ms.
21.11.2012 17:11:33 INFO [org.hippoecm.repository.query.lucene.ServicingSearchIndex.getAuthorizationBitSet():125] Creating authorization bitset for user 'mdenburger-editor' took 164 ms.
21.11.2012 17:11:33 INFO [org.hippoecm.repository.query.lucene.ServicingSearchIndex.getAuthorizationBitSet():125] Creating authorization bitset for user 'mdenburger-editor' took 160 ms.
21.11.2012 17:11:33 INFO [org.hippoecm.repository.query.lucene.ServicingSearchIndex.getAuthorizationBitSet():125] Creating authorization bitset for user 'mdenburger-editor' took 108 ms.
21.11.2012 17:11:33 INFO [org.hippoecm.repository.query.lucene.ServicingSearchIndex.getAuthorizationBitSet():125] Creating authorization bitset for user 'fvanlankvelt-editor' took 216 ms.
21.11.2012 17:11:37 INFO [org.hippoecm.repository.query.lucene.ServicingSearchIndex.getAuthorizationBitSet():125] Creating authorization bitset for user 'fvanlankvelt-editor' took 92 ms.
21.11.2012 17:11:37 INFO [org.hippoecm.repository.query.lucene.ServicingSearchIndex.getAuthorizationBitSet():125] Creating authorization bitset for user 'fvanlankvelt-editor' took 212 ms.
21.11.2012 17:11:37 INFO [org.hippoecm.repository.query.lucene.ServicingSearchIndex.getAuthorizationBitSet():125] Creating authorization bitset for user 'mdenburger-editor' took 152 ms.
Background: for every search we compute an authorized bitset. This is needed for liveuser / previewuser in site. Once this bitset is computed, we get fast authorized queries, correct counts, correct faceted navigation, etc etc.
We also use authorized bitsets for cms users now. This is not strictly needed, as we never did that in the past. However, once the bitset is computed, authorized searches will be faster. However, computing the
bitset happens almost for every click after any change (even event log) in the repository.
Now, we can reduce most likely the issue in the cms by having the cms users not use this authorized bitset any more : Thus, only for system users (live|preview user hst are such users) we compute
authorization bitset. This should 'fix' the performance degrade for cms users regarding queries.
Next is the HST : we cannot get rid of auth query there so we really need to compute it. However, we can compute it more efficiently by only computing bitsets for new indexreaders : This will be much
faster, as most of the (large) indexreaders we already computed the bitset before. Downside is that this will be difficult code, involving concurrency, and might introduce bugs.
Attachments
Issue Links
- relates to
-
CMS-6623 CMS becomes slow over time
- Closed