Filter mutated by optimizer passed to other partitions
------------------------------------------------------
Key: DIRSERVER-1121
URL: https://issues.apache.org/jira/browse/DIRSERVER-1121
Project: Directory ApacheDS
Issue Type: Bug
Components: core
Affects Versions: 1.5.1
Reporter: Shon Vella
Priority: Minor
org.apache.directory.server.core.authz.GroupCache.initialize() creates a filter
and subsequently performs a search using the same filter object on different
suffixes. When passed to a JDBMPartition,
org.apache.directory.server.core.partition.impl.btree.DefaultOptimizer.annotate()
adds annotations to nodes in the filter. The same filter is then passed with
all the annotations to subsequent searches on other parititions. When passing
to an alternate custom partition implementation, these annotations get in the
way because the printToBuffer() functionality of each filter node includes
annotation information in the serialized form of the filter making it unusable.
Providing a way to recursively remove annotations would provide a workable
bandaid for this specific problem, though it is probably a bad idea to reuse a
filter that has been previously annotated, so either the partition should make
a copy before annotating or GroupCache (and any other code that uses the same
filter reuse paradigm) shouldn't be reusing the filter.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.