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

Flavio Junqueira commented on ZOOKEEPER-2060:
---------------------------------------------

After having a second look, it doesn't look like there is a deadlock. 
Constructing the debug string is taking longer and longer because the size of 
the queuedBuffer is growing when throttled. Also, if we turn debug on, then we 
should see the problem again, and I was thinking that we should make this 
message trace level rather than debug. 

These days we use string formatting like in:

{noformat}
LOG.warn("Unable to truncate {}", itr.logFile);
{noformat}

to avoid the unnecessary string construction. In this case, by checking if 
debug/trace is enabled, we avoid the call to hexDump compared to doing the 
string formatting, so I think it is a plus to do it this way.  


> Deadlock in NettyServerCnxnFactory
> ----------------------------------
>
>                 Key: ZOOKEEPER-2060
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2060
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: server
>    Affects Versions: 3.4.6, 3.5.0
>            Reporter: Ian Dimayuga
>            Assignee: Ian Dimayuga
>             Fix For: 3.4.7, 3.5.1
>
>         Attachments: ZOOKEEPER-2060.patch, ZOOKEEPER-2060_deadlock_jstack.txt
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> In NettyServerCnxnFactory, high throughput triggers a deadlock.
> This is caused by a channel-buffer-dumping debug statement in 
> NettyServerCnxnFactory.java that is executed regardless of log level.
> This code path only executes when the server is throttling, but when it does 
> it encounters a race and occasional deadlock between the channel buffer and 
> NettyServerCnxn (jstack attached).
> The proposed fix adds the debug logging guard to this statement, similar to 
> other existing statements.



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

Reply via email to