OpenSearch/x-pack/plugin/core
Tim Vernum 31b19bd022
Use separate BitSet cache in Doc Level Security (#43899)
Document level security was depending on the shared
"BitsetFilterCache" which (by design) never expires its entries.

However, when using DLS queries - particularly templated ones - the
number (and memory usage) of generated bitsets can be significant.

This change introduces a new cache specifically for BitSets used in
DLS queries, that has memory usage constraints and access time expiry.

The whole cache is automatically cleared if the role cache is cleared.
Individual bitsets are cleared when the corresponding lucene index
reader is closed.

The cache defaults to 50MB, and entries expire if unused for 7 days.

Backport of: #43669
2019-07-03 18:04:06 +10:00
..
forbidden Ensure SHA256 is not used in tests (#42289) 2019-05-22 09:54:24 +03:00
licenses Remove Log4j 1.2 API as a dependency (#42702) 2019-05-30 16:08:07 -04:00
src Use separate BitSet cache in Doc Level Security (#43899) 2019-07-03 18:04:06 +10:00
build.gradle [Backport] Remove dependency substitutions 7.x (#42866) 2019-06-04 13:50:23 -07:00
snapshot.key Make licensing FIPS-140 compliant (#30251) 2018-05-02 22:19:43 +03:00