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

Christopher L. Shannon commented on ARTEMIS-822:
------------------------------------------------

Are you talking about the synchronized block in the write method of JournalImpl 
where the writes are enqueued?.  If so, some sort of sync will probably always 
be needed to compute the correct offset for each record and checking for a 
rollover.  But it's worth looking at to see if the time in the sync block could 
be reduced or rewritten in a way to reduce contention. 

As a reference, in the ActiveMQ 5.x broker, KahaDB does something very similar 
where records are enqueued and batched together under a lock and then a single 
thread writes the batches to the journal file.

> Reduce thread synchronization on the Journal
> --------------------------------------------
>
>                 Key: ARTEMIS-822
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-822
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>            Reporter: Luis Barreiro
>              Labels: journal
>
> Currently there is a lock in the journal so that only one thread can append 
> at a time. Although the operation is fast, it can become a bottleneck on 
> environments with hundreds of threads. There should be a way for threads not  
> to be blocked on append operations.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to