[ 
https://issues.apache.org/jira/browse/KAFKA-6722?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

wade wu updated KAFKA-6722:
---------------------------
    External issue URL: 
https://cwiki.apache.org/confluence/display/KAFKA/KIP-NEXT%3A+Get+rid+of+unnecessary+read+lock

> SensorAccess.getOrCreate should be more efficient
> -------------------------------------------------
>
>                 Key: KAFKA-6722
>                 URL: https://issues.apache.org/jira/browse/KAFKA-6722
>             Project: Kafka
>          Issue Type: Improvement
>            Reporter: wade wu
>            Priority: Major
>
> In this source code: 
> [https://github.com/Microsoft/kafka/blob/azpubsub-release-0-10-2/core/src/main/scala/kafka/server/SensorAccess.scala]
> The lock/unlock of read lock in getOrCreate() is not necessary, or it should 
> be refactored. For each request from Producer, this read lock lock/unlock is 
> called and lock/unlock, it is costing the time. 
> By using a temp variable, we can completely get rid of the read lock. 
> var sensor: Sensor = metrics.getSensor(sensorName)
> if (sensor == null) {
> lock.writeLock().lock()
> try
> {  var temp = new sensor(); tmp.add(metrics); sensor = temp; }
> catch()
> {...}
>  
> lock.writelock.unlock();
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to