directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Lécharny <elecha...@gmail.com>
Subject Re: Database corruption, some interesting finding !
Date Mon, 25 Jan 2016 11:39:51 GMT
Le 25/01/16 12:33, Kiran Ayyagari a écrit :
> On Mon, Jan 25, 2016 at 4:51 PM, Emmanuel Lécharny <elecharny@gmail.com>
> wrote:
>
>> Hi guys,
>>
>> while working on the repair() function, iI found something very
>> interesting.
>>
>> When we update a partition, at the end, we call the sync() method which
>> writes down on disk all the updates which are pending in memory. This
>> sync() method itself sync all the indexes :
>>
>>     /**
>>      * This method is called when the synch thread is waking up, to write
>>      * the modified data.
>>      *
>>      * @throws Exception on failures to sync database files to disk
>>      */
>>     public synchronized void sync() throws Exception
>>     {
>>         if ( !initialized )
>>         {
>>             return;
>>         }
>>
>>         // Sync all system indices
>>         for ( Index<?, String> idx : systemIndices.values() )
>>         {
>>             idx.sync();
>>         }
>>
> the above call should cover this case cause JdbmRdnIndex extends JdbmIndex

Damn it, I'm wrong... The rdnIndex is covered. Here is the list of
system indexes :

{
    2.5.4.0=Index<objectClass>,
    1.3.6.1.4.1.18060.0.4.1.2.3=Index<apachePresence>,
    1.3.6.1.4.1.18060.0.4.1.2.5=Index<apacheOneAlias>,
    1.3.6.1.4.1.18060.0.4.1.2.6=Index<apacheSubAlias>,
    1.3.6.1.4.1.18060.0.4.1.2.7=Index<1.3.6.1.4.1.18060.0.4.1.2.7>, //
The Alias index
    1.3.6.1.4.1.4203.666.1.7=Index<entryCSN>,
    1.3.6.1.4.1.18060.0.4.1.2.50=Index<1.3.6.1.4.1.18060.0.4.1.2.50>, //
The RDN index <--------
    2.5.18.5=Index<administrativeRole>
}

Sorry...

Mime
View raw message