lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yonik Seeley (JIRA)" <>
Subject [jira] [Updated] (SOLR-3715) improve tlog concurrency
Date Wed, 08 Aug 2012 19:09:21 GMT


Yonik Seeley updated SOLR-3715:

    Attachment: SOLR-3715.patch

Here's a patch that moves log record serialization outside of the synchronized block.

All tests pass, but I could detect no meaningful speedup on my system.
After further investigation, I believe this is due to the fact that our binary (javabin) serialization
is *really* fast.  I did some profiling and it was between .25% (sampling) and 2% (instrumentation)
of the total runtime.  Removing synchronization around such a small percent of time is not
going to show up much on my 4 CPU box.

I still plan to commit this as it still represents an architectural improvement, may be more
mesurable in high-core systems, and is a stepping stone toward future improvements. 

> improve tlog concurrency
> ------------------------
>                 Key: SOLR-3715
>                 URL:
>             Project: Solr
>          Issue Type: Improvement
>            Reporter: Yonik Seeley
>            Assignee: Yonik Seeley
>         Attachments: SOLR-3715.patch
> Right now log record serialization is synchronized.  We can improve concurrency by serializing
to a ram buffer outside synchronization.  The cost will be RAM usage for buffering, and more
complex concurrency in the tlog itself (i.e. we must ensure that a close does not happen without
flushing all in-RAM buffers)

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message