Alexander Malyshev created JCS-156:
--------------------------------------

             Summary: BlockDiskCache is limited to 2GB.
                 Key: JCS-156
                 URL: https://issues.apache.org/jira/browse/JCS-156
             Project: Commons JCS
          Issue Type: Bug
          Components: Composite Cache
    Affects Versions: jcs-2.0-beta-1
            Reporter: Alexander Malyshev


There is a bug in BlockDiskCache which makes it limited to 2GB in size. If I 
try to write more, I'm getting the following exception:

Exception in thread "CacheEventQueue.QProcessor-sliderCache" 
java.lang.IllegalArgumentException: Negative position
        at sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:754)
        at 
org.apache.commons.jcs.auxiliary.disk.block.BlockDisk.write(BlockDisk.java:216)
        at 
org.apache.commons.jcs.auxiliary.disk.block.BlockDiskCache.processUpdate(BlockDiskCache.java:394)
        at 
org.apache.commons.jcs.auxiliary.AbstractAuxiliaryCacheEventLogging.updateWithEventLogging(AbstractAuxiliaryCacheEventLogging.java:65)
        at 
org.apache.commons.jcs.auxiliary.disk.AbstractDiskCache.doUpdate(AbstractDiskCache.java:804)
        at 
org.apache.commons.jcs.auxiliary.disk.AbstractDiskCache$MyCacheListener.handlePut(AbstractDiskCache.java:662)
        at 
org.apache.commons.jcs.engine.AbstractCacheEventQueue$PutEvent.doRun(AbstractCacheEventQueue.java:350)
        at 
org.apache.commons.jcs.engine.AbstractCacheEventQueue$AbstractCacheEvent.run(AbstractCacheEventQueue.java:269)
        at 
org.apache.commons.jcs.engine.CacheEventQueue$QProcessor.run(CacheEventQueue.java:304)

The reason is that method calculateByteOffsetForBlock returns int instead of 
long.



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

Reply via email to