You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Emmanuel Lecharny (JIRA)" <ji...@apache.org> on 2010/10/31 16:14:26 UTC

[jira] Created: (DIRSERVER-1578) The index values must have been normalized before being used

The index values must have been normalized before being used
------------------------------------------------------------

                 Key: DIRSERVER-1578
                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1578
             Project: Directory ApacheDS
          Issue Type: Improvement
    Affects Versions: 1.5.7
            Reporter: Emmanuel Lecharny


Each time we access an index using a value, we do a normalization of this value. This is potentially an costly operation, which is mostly a duplicated work. In order to spare such an operation, a cache is added to the index, but it has two drawbacks :
- first the cache is small (default size is 100, just enough to store 50 values at most, as we register both the normal value and the normalized value)
- second, this cache is synchronized to avoid inconsistencies, so it induce some contention

We should assume that the value is *always* normalized when we use such an index, and remove this extra normalization, and the associated cache.

Note that we may use a Attribute value, or a Long (for the reverse index), so it would be quite a good idea to create two different type of indexes :
- AttributeType index
- ID indexes

instead of using generic indexes all the time. 

Last, in order to be sure that we use normalized values, it's enough to add a flag in the Value<?> class to tell if the value is normalized or not. If it's not, we just have to normalize it.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] [Updated] (DIRSERVER-1578) The index values must have been normalized before being used

Posted by "Pierre-Arnaud Marcelot (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DIRSERVER-1578?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pierre-Arnaud Marcelot updated DIRSERVER-1578:
----------------------------------------------

    Fix Version/s:     (was: 2.0.0-M2)
                   2.0.0-M3

> The index values must have been normalized before being used
> ------------------------------------------------------------
>
>                 Key: DIRSERVER-1578
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1578
>             Project: Directory ApacheDS
>          Issue Type: Improvement
>    Affects Versions: 1.5.7
>            Reporter: Emmanuel Lecharny
>             Fix For: 2.0.0-M3
>
>
> Each time we access an index using a value, we do a normalization of this value. This is potentially an costly operation, which is mostly a duplicated work. In order to spare such an operation, a cache is added to the index, but it has two drawbacks :
> - first the cache is small (default size is 100, just enough to store 50 values at most, as we register both the normal value and the normalized value)
> - second, this cache is synchronized to avoid inconsistencies, so it induce some contention
> We should assume that the value is *always* normalized when we use such an index, and remove this extra normalization, and the associated cache.
> Note that we may use a Attribute value, or a Long (for the reverse index), so it would be quite a good idea to create two different type of indexes :
> - AttributeType index
> - ID indexes
> instead of using generic indexes all the time. 
> Last, in order to be sure that we use normalized values, it's enough to add a flag in the Value<?> class to tell if the value is normalized or not. If it's not, we just have to normalize it.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (DIRSERVER-1578) The index values must have been normalized before being used

Posted by "Emmanuel Lecharny (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DIRSERVER-1578?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Emmanuel Lecharny updated DIRSERVER-1578:
-----------------------------------------

    Fix Version/s: 2.0.0-RC1

> The index values must have been normalized before being used
> ------------------------------------------------------------
>
>                 Key: DIRSERVER-1578
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1578
>             Project: Directory ApacheDS
>          Issue Type: Improvement
>    Affects Versions: 1.5.7
>            Reporter: Emmanuel Lecharny
>             Fix For: 2.0.0-RC1
>
>
> Each time we access an index using a value, we do a normalization of this value. This is potentially an costly operation, which is mostly a duplicated work. In order to spare such an operation, a cache is added to the index, but it has two drawbacks :
> - first the cache is small (default size is 100, just enough to store 50 values at most, as we register both the normal value and the normalized value)
> - second, this cache is synchronized to avoid inconsistencies, so it induce some contention
> We should assume that the value is *always* normalized when we use such an index, and remove this extra normalization, and the associated cache.
> Note that we may use a Attribute value, or a Long (for the reverse index), so it would be quite a good idea to create two different type of indexes :
> - AttributeType index
> - ID indexes
> instead of using generic indexes all the time. 
> Last, in order to be sure that we use normalized values, it's enough to add a flag in the Value<?> class to tell if the value is normalized or not. If it's not, we just have to normalize it.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.