[ 
https://issues.apache.org/jira/browse/KAFKA-3812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15385079#comment-15385079
 ] 

ASF GitHub Bot commented on KAFKA-3812:
---------------------------------------

GitHub user dguy opened a pull request:

    https://github.com/apache/kafka/pull/1641

    HOTFIX: fix compilation error due to merge of KAFKA-3812 

    Merge of KAFKA-3812 caused a compilation error in 
StreamThreadStateStoreProviderTest

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/dguy/kafka fix-compile-error

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/kafka/pull/1641.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1641
    
----
commit 60fa103e3a6fe1e4dd9788033e854886493016e0
Author: Damian Guy <[email protected]>
Date:   2016-07-19T23:49:02Z

    fix compilation error

----


> 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