[ https://issues.apache.org/jira/browse/FELIX-5467?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pierre De Rop updated FELIX-5467: --------------------------------- Fix Version/s: org.apache.felix.dependencymanager-r9 > MultiPropertyFilterIndex is unusable when a service reference contains a lot > of values for one key > -------------------------------------------------------------------------------------------------- > > Key: FELIX-5467 > URL: https://issues.apache.org/jira/browse/FELIX-5467 > Project: Felix > Issue Type: Improvement > Components: Dependency Manager > Affects Versions: org.apache.felix.dependencymanager-r8 > Reporter: Jeroen Daanen > Assignee: Pierre De Rop > Fix For: org.apache.felix.dependencymanager-r9 > > Attachments: MultiPropertyFilterIndex.java, Property.java > > > Upon addition of a service, the MultiPropertyFilterIndex creates a set of > keys using the keys and values of the service reference properties. If the > value is an array of values it creates keys for each possible permutation of > those values so that the service reference can be retrieved if in the service > dependency filter multiple values are specified (e.g. > {{(&(objectClass=SomeClass)(&(a=x)(a=n)(a=y)(b=y)(c=z)))}}). If there are a > lot of values for a key this results in a huge memory consumption, making it > impossible to use. > Now, in my application I always specify just one value in the service filter > (e.g. there is a service which has multiple values for property "a" but I > only specify one: {{(&(objectClass=SomeClass)(&(a=x)(b=y)(c=z)))}}) so I > don't need those permutations, but because my property has a lot of values > (>10) I cannot use the MultiPropertyFilterIndex causing a significant > performance loss. > I would like to suggest to add the possibility to leave out creating the > permutation of values for a service property if you specify so in your filter > properties. For instance by preceding the property configuration with '#', > e.g. > {{-Dorg.apache.felix.dependencymanager.filterindex=\*aspect\*;\*adapter\*;objectClass;objectClass,#a,b,c}} -- This message was sent by Atlassian JIRA (v6.3.4#6332)