[ 
https://issues.apache.org/jira/browse/DIRSERVER-1655?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13100268#comment-13100268
 ] 

Selcuk Aya edited comment on DIRSERVER-1655 at 9/8/11 12:48 PM:
----------------------------------------------------------------

CSN are consecutive and journal keeps the entries in sorted but the log entries 
are not inserted in sorted order.

I would still go with something like this:

////////////////////////////////
or maye do CSN creation under a lock and notify all consumer logs under this 
lock
///////////////////////
notify replication even interceptor OF CSN creation ->get log locks
generat csn,
insert  an entry with key CSN and value null
notify replication even interceptor OF CSN creation->release log locs




do modification

notify replication event interceptor of modifaction
update the entry with key csn with the real log entry

When consumer log thread reads off this log in increasing CSN order, it will 
wait for a null entry to be non null.


      was (Author: saya):
    CSN are consecutive and journal keeps the entries in sorted but the log 
entries are not inserted in sorted order.

I would still go with something like this:

notify replication even interceptor OF CSN creation ->get log locks
generat csn,
insert  an entry with key CSN and value null
notify replication even interceptor OF CSN creation->release log locs

do modification

notify replication event interceptor of modifaction
update the entry with key csn with the real log entry

When consumer log thread reads off this log in increasing CSN order, it will 
wait for a null entry to be non null.

  
> Possible incorrect insertion of modifications in the consumer log
> -----------------------------------------------------------------
>
>                 Key: DIRSERVER-1655
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1655
>             Project: Directory ApacheDS
>          Issue Type: Bug
>    Affects Versions: 2.0.0-M2
>            Reporter: Emmanuel Lecharny
>            Priority: Critical
>             Fix For: 2.0.0-M4
>
>
> The way we process modifications in the EventInterceptor, creating a new 
> thread, make it possible that the modifications may be inserted into a 
> consumer log in the wrong order.
> A possoble solution could be to use the same thread to insert modifications 
> in the log.

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

        

Reply via email to