You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Rajini Sivaram (JIRA)" <ji...@apache.org> on 2018/03/14 08:41:00 UTC

[jira] [Created] (KAFKA-6653) Delayed operations may not be completed when there is lock contention

Rajini Sivaram created KAFKA-6653:
-------------------------------------

             Summary: Delayed operations may not be completed when there is lock contention
                 Key: KAFKA-6653
                 URL: https://issues.apache.org/jira/browse/KAFKA-6653
             Project: Kafka
          Issue Type: Bug
          Components: core
    Affects Versions: 1.0.1, 0.11.0.2, 1.1.0
            Reporter: Rajini Sivaram
            Assignee: Rajini Sivaram


If there is lock contention while multiple threads check if a delayed operation may be completed (e.g. a produce request with acks=-1), only the thread that acquires the lock without blocking attempts to complete the operation. This change was made to avoid deadlocks under KAFKA-5970. But this leaves a timing window when an operation becomes ready to complete after another thread has acquired the lock and performed the check for completion, but not yet released the lock. In this case, the operation may never be completed and will timeout unless there are other operations with the same key. The timeout was observed in a failed system test where a produce request timed out, causing the test failure.

 



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