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

Damian Guy reassigned KAFKA-3812:
---------------------------------

    Assignee: Damian Guy  (was: Eno Thereska)

> State store locking is incorrect
> --------------------------------
>
>                 Key: KAFKA-3812
>                 URL: https://issues.apache.org/jira/browse/KAFKA-3812
>             Project: Kafka
>          Issue Type: Bug
>          Components: streams
>    Affects Versions: 0.10.1.0
>            Reporter: Eno Thereska
>            Assignee: Damian Guy
>             Fix For: 0.10.1.0
>
>
> In {{ProcessorStateManager}} in the {{lockStateDirectory}} method, we close a 
> channel if the lock is null. However, as described in 
> https://docs.oracle.com/javase/7/docs/api/java/nio/channels/FileLock.html, 
> "...closing a channel releases all locks held by the Java virtual machine on 
> the underlying file regardless of whether the locks were acquired via that 
> channel or via another channel open on the same file. It is strongly 
> recommended that, within a program, a unique channel be used to acquire all 
> locks on any given file.". Thus closing this channel sometimes leads to the 
> other lock in {{ProcessorStateManager}}, called {{directoryLock}} to be 
> released. 
> Problem is reproduced as part of the steps in KAFKA-3805, when two processes 
> are using the same state directory.



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

Reply via email to