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 2016/02/26 01:43:18 UTC

[jira] [Created] (KAFKA-3292) ClientQuotaManager.getOrCreateQuotaSensors() may return a null ClientSensors.throttleTimeSensor

Jun Rao created KAFKA-3292:
------------------------------

             Summary: ClientQuotaManager.getOrCreateQuotaSensors() may return a null ClientSensors.throttleTimeSensor
                 Key: KAFKA-3292
                 URL: https://issues.apache.org/jira/browse/KAFKA-3292
             Project: Kafka
          Issue Type: Bug
            Reporter: Jun Rao
             Fix For: 0.10.0.0


It seems that the following situation is possible. Two threads try to call getOrCreateQuotaSensors() at the same time. Initially, quotaSensor is not registered, then both threads try to get the write lock to register quotaSensor. Thread 1 grabs the write lock and registers both quotaSensor and throttleTimeSensor, and then releases the lock. Thread 2 grabs the write lock again and reads a non-null quotaSensor. It then skips the logic to register throttleTimeSensor and returns. However, the returned throttleTimeSensor will be null.



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