commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexander Malyshev (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (JCS-156) BlockDiskCache is limited to 2GB.
Date Mon, 21 Dec 2015 00:15:46 GMT

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

Alexander Malyshev updated JCS-156:
-----------------------------------
    Description: 
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.

  was:
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.


> 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 in BlockDisk class returns int
instead of long.



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

Mime
View raw message