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

Laurent Goujon commented on CALCITE-3965:
-----------------------------------------

I agree with the unnecessary xml writing, but adding a synchronized keyword 
when it is not necessary (which is my analysis, and maybe I wrong here, so I 
would appreciate a second pair of eyes) is also a cause for lock contention.

> Excessive time waiting on DiffRepository lock
> ---------------------------------------------
>
>                 Key: CALCITE-3965
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3965
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>            Reporter: Laurent Goujon
>            Assignee: Laurent Goujon
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> When running the whole test suite from commandline, tests are parallelized 
> and gradle/junit tries to use as many cores as possible (16 on my machine). 
> But the tests take a very long time, approximatevely 90minutes on my machine, 
> and several of them failed because they took too long to complete.
> Using jstack to look at the threads state while tests are running show that 
> most of them are waiting on {{DiffRepository}} methods 
> ({{DiffRepository#expand}} in most cases) while one of the thread obtained 
> the lock (and is usually flushing data on disk).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to