GitHub user lizziew opened a pull request:

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

    Unmap before resizing

    While I was studying how MappedByteBuffer works, I saw a sharing runtime 
exception on Windows. I applied what I learned to generate a patch which uses 
an internal open JDK API to solve this problem.
    
    ---
    
    Caused by: java.io.IOException: The requested operation cannot be performed
    on a
     file with a user-mapped section open
            at java.io.RandomAccessFile.setLength(Native Method)
            at kafka.log.OffsetIndex.liftedTree2$1(OffsetIndex.scala:263)
            at kafka.log.OffsetIndex.resize(OffsetIndex.scala:262)
            at kafka.log.OffsetIndex.trimToValidSize(OffsetIndex.scala:247)
            at kafka.log.Log.rollToOffset(Log.scala:518)
            at kafka.log.Log.roll(Log.scala:502)
            at kafka.log.Log.maybeRoll(Log.scala:484)
            at kafka.log.Log.append(Log.scala:297)

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

    $ git pull https://github.com/lizziew/kafka 0.8

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

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

----

----

Reply via email to