You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Jun Rao (JIRA)" <ji...@apache.org> on 2015/04/05 17:52:33 UTC
[jira] [Updated] (KAFKA-2050) Avoid calling .size() on
java.util.ConcurrentLinkedQueue
[ https://issues.apache.org/jira/browse/KAFKA-2050?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jun Rao updated KAFKA-2050:
---------------------------
Assignee: Tim Brooks (was: Jay Kreps)
> Avoid calling .size() on java.util.ConcurrentLinkedQueue
> --------------------------------------------------------
>
> Key: KAFKA-2050
> URL: https://issues.apache.org/jira/browse/KAFKA-2050
> Project: Kafka
> Issue Type: Bug
> Components: network
> Reporter: Tim Brooks
> Assignee: Tim Brooks
> Attachments: KAFKA-2050.patch, dont_call_queue_size.patch
>
>
> Generally, it seems to be preferred to avoid calling .size() on a Java ConcurrentLinkedQueue. This is an O(N) operation as it must iterate through all the nodes.
> Calling this every time through the loop makes this issue worse under high load. It seems like the same functionality can be attained by just polling and checking for null.
> This is more imperative and less functional, but it seems alright since this is in lower-level networking code.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)