[logback-dev] [JIRA] Issue Comment Edited: (LBCLASSIC-234) CLONE -Excessive synchronization in ReconfigureOnChangeFilter.decide

uri unger (JIRA) noreply-jira at qos.ch
Tue Nov 23 16:54:51 CET 2010


    [ http://jira.qos.ch/browse/LBCLASSIC-234?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=11902#action_11902 ] 

uri unger edited comment on LBCLASSIC-234 at 11/23/10 4:53 PM:
---------------------------------------------------------------

Ok, now regarding regenerating this bug using your ReconfigurePerf  test.

I have made several minor changes in your test code as follows:
1. totalTestDuration was very short, only 1100 ms (i'm testing on windows); i changed it to something like a few minutes to allow me to actually see something in jprofiler.
2. very important: in scan_perf.xml, i have changed the default root level from debug to error. This is becuase I must not really write any log to any file, or otherwise the io times would  dominate the running time and i won't be able to see any significant finding regarding the issue in the profiler.

Sure enough, after doing these changes, i see (in jprofiler) locking times of more than 200ms using only 50 concurrent threads.
I've also added a screen capture of the threads history view in jprofiler. The little red sections are the blocking times.

uri


      was (Author: uriunger):
    Ok, now regarding regenerating this bug using your ReconfigurePerf  test.

I have made several minor changes in your test code as follows:
1. totalTestDuration was very short, only 1100 ms (i'm testing on windows); i changed it to something like a few minutes to allow me to actually see something in jprofiler.
2. very important: in scan_perf.xml, i have changed the default root level from debug to error. this is becuase I must not really write any log to any file, or otherwise the io times would  dominate the running time and i won't be able to see any significant finding regarding the issue in the profiler.

Sure enough, after doing these changes, i see locking times of more than 200ms using only 50 concurrent threads in jprofiler.
I also added a screen capture of the threads as seen in the thread history view in fprofiler. the little red sections are the blocking times.

uri

  
> CLONE -Excessive synchronization in ReconfigureOnChangeFilter.decide
> --------------------------------------------------------------------
>
>                 Key: LBCLASSIC-234
>                 URL: http://jira.qos.ch/browse/LBCLASSIC-234
>             Project: logback-classic
>          Issue Type: Bug
>    Affects Versions: 0.917
>            Reporter: uri unger
>            Assignee: Ceki Gulcu
>            Priority: Critical
>         Attachments: screenshot-1.jpg
>
>
> The synchronization in ReconfigureOnChangeFilter.decide hurts scalability.
> It seems unnecessary to serialize the code in changeDetected -- it should be possible to use atomic updates of nextCheck and lastModified and only serialize the actual reconfiguration.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the logback-dev mailing list