You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Ryan Fong (JIRA)" <ji...@apache.org> on 2016/05/17 03:56:12 UTC

[jira] [Updated] (JCS-156) BlockDiskCache is limited to 2GB.

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

Ryan Fong updated JCS-156:
--------------------------
    Attachment: jcs.patch

[~thomas.vdvelde], I'm attaching a suggested patch for this bug. I didn't run with it but it seems to make sense given the context.

> 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
>            Assignee: Thomas Vandahl
>         Attachments: jcs.patch
>
>
> 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 in BlockDisk class returns int instead of long.



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