[JBoss JIRA] (ISPN-5343) Make eviction max-entries parameter configurable at runtime
by Sebastian Łaskawiec (JIRA)
[ https://issues.jboss.org/browse/ISPN-5343?page=com.atlassian.jira.plugin.... ]
Sebastian Łaskawiec reassigned ISPN-5343:
-----------------------------------------
Assignee: Sebastian Łaskawiec (was: William Burns)
> Make eviction max-entries parameter configurable at runtime
> -----------------------------------------------------------
>
> Key: ISPN-5343
> URL: https://issues.jboss.org/browse/ISPN-5343
> Project: Infinispan
> Issue Type: Feature Request
> Components: Eviction
> Affects Versions: 7.2.0.Beta2
> Environment: Infinispan 7/ JDG
> Reporter: Duncan Doyle
> Assignee: Sebastian Łaskawiec
> Fix For: 8.0.0.Final
>
>
> I've got a use-case where I would like to be able to dynamically (at runtime) configure the max-entries parameter of my eviction configuration. This would allow to, for example, decrease the max-entries dynamically when my system starts running oom.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 8 months
[JBoss JIRA] (ISPN-5667) Unify isExpired for time and entries
by Radim Vansa (JIRA)
Radim Vansa created ISPN-5667:
---------------------------------
Summary: Unify isExpired for time and entries
Key: ISPN-5667
URL: https://issues.jboss.org/browse/ISPN-5667
Project: Infinispan
Issue Type: Bug
Reporter: Radim Vansa
{{DefaultTimeService.isTimeExpired()}} is implemented using non-strict comparison:
{code}
time() - endTime >= 0
{code}
while expiration of entries in {{ExpiryHelper}} uses strict one:
{code}
now > created + lifespan
{code}
I don't know which one should be the correct one, probably fixing this in TimeService will cause less trouble.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 8 months
[JBoss JIRA] (ISPN-5581) "scala.MatchError: None" in HotRodEncoder
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-5581?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-5581:
-----------------------------------------------
Vojtech Juranek <vjuranek(a)redhat.com> changed the Status of [bug 1248999|https://bugzilla.redhat.com/show_bug.cgi?id=1248999] from ON_QA to VERIFIED
> "scala.MatchError: None" in HotRodEncoder
> -----------------------------------------
>
> Key: ISPN-5581
> URL: https://issues.jboss.org/browse/ISPN-5581
> Project: Infinispan
> Issue Type: Feature Request
> Components: Remote Protocols
> Affects Versions: 8.0.0.Alpha2, 7.2.3.Final
> Reporter: Galder Zamarreño
> Assignee: Galder Zamarreño
> Fix For: 7.2.4.Final, 8.0.0.Final
>
>
> As a result of fixing ISPN-5576, the following exceptions have started appearing
> {code}
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] 04:29:12,353 ERROR (HotRodServerWorker-11-1:) [HotRodEncoder] ISPN005023: Exception encoding message None
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] scala.MatchError: None (of class scala.None$)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at org.infinispan.server.hotrod.HotRodEncoder.encode(HotRodEncoder.scala:32)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:107)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:633)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:691)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:681)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:716)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:954)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:243)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at org.infinispan.server.hotrod.HotRodDecoder.writeResponse(HotRodDecoder.scala:234)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at org.infinispan.server.hotrod.HotRodDecoder.customDecodeHeader(HotRodDecoder.scala:193)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at org.infinispan.server.hotrod.HotRodDecoder.org$infinispan$server$hotrod$HotRodDecoder$$decodeHeader(HotRodDecoder.scala:84)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at org.infinispan.server.hotrod.HotRodDecoder$$anonfun$decode$1.apply$mcV$sp(HotRodDecoder.scala:47)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at org.infinispan.server.hotrod.HotRodDecoder$$anon$1.run(HotRodDecoder.scala:206)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at org.infinispan.server.hotrod.HotRodDecoder$$anon$1.run(HotRodDecoder.scala:205)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at org.infinispan.security.Security.doAs(Security.java:143)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at org.infinispan.server.hotrod.HotRodDecoder.wrapSecurity(HotRodDecoder.scala:205)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at org.infinispan.server.hotrod.HotRodDecoder.decode(HotRodDecoder.scala:45)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:370)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:168)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at org.infinispan.server.hotrod.HotRodDecoder.org$infinispan$server$core$transport$StatsChannelHandler$$super$channelRead(HotRodDecoder.scala:31)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at org.infinispan.server.core.transport.StatsChannelHandler$class.channelRead(StatsChannelHandler.scala:32)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at org.infinispan.server.hotrod.HotRodDecoder.channelRead(HotRodDecoder.scala:31)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:846)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:130)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
> [08:29:12] : [org.infinispan:infinispan-server-hotrod] at java.lang.Thread.run(Thread.java:745)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 8 months
[JBoss JIRA] (ISPN-5576) Use MessageToByteEncoder to avoid ByteBuf leak w/ exceptions
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-5576?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-5576:
-----------------------------------------------
Vojtech Juranek <vjuranek(a)redhat.com> changed the Status of [bug 1248999|https://bugzilla.redhat.com/show_bug.cgi?id=1248999] from ON_QA to VERIFIED
> Use MessageToByteEncoder to avoid ByteBuf leak w/ exceptions
> ------------------------------------------------------------
>
> Key: ISPN-5576
> URL: https://issues.jboss.org/browse/ISPN-5576
> Project: Infinispan
> Issue Type: Bug
> Components: Remote Protocols
> Affects Versions: 7.2.3.Final
> Reporter: Galder Zamarreño
> Assignee: Galder Zamarreño
> Fix For: 8.0.0.Beta1, 7.2.4.Final, 8.0.0.Final
>
>
> Encoder implementation allocates buffers but does not release them in case of exception before the encoded buffer is added to the response list. As a result, if encoding faces exceptions, it could leak byte buffers and show messages like this:
> {code}
> [io.netty.util.ResourceLeakDetector] LEAK: ByteBuf.release() was not called before it's garbage-collected.
> Enable advanced leak reporting to find out where the leak occurred. To enable advanced leak reporting,
> specify the JVM option '-Dio.netty.leakDetectionLevel=advanced' or call ResourceLeakDetector.setLevel()
> LEAK: ByteBuf.release() was not called before it's garbage-collected.
> Recent access records: 0
> Created at:
> io.netty.buffer.PooledByteBufAllocator.newDirectBuffer(PooledByteBufAllocator.java:259)
> io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:155)
> io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:141)
> io.netty.buffer.AbstractByteBufAllocator.buffer(AbstractByteBufAllocator.java:75)
> org.infinispan.server.hotrod.HotRodEncoder.encode(HotRodEncoder.scala:29)
> io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:89)
> io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:633)
> io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:691)
> io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:626)
> io.netty.handler.timeout.IdleStateHandler.write(IdleStateHandler.java:266)
> io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:633)
> io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:691)
> io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:681)
> io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:716)
> io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:954)
> io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:243)
> org.infinispan.server.core.AbstractProtocolDecoder.writeResponse(AbstractProtocolDecoder.scala:220)
> org.infinispan.server.hotrod.HotRodDecoder.customDecodeHeader(HotRodDecoder.scala:153)
> org.infinispan.server.core.AbstractProtocolDecoder.org$infinispan$server$core$AbstractProtocolDecoder$$decodeHeader(AbstractProtocolDecoder.scala:137)
> org.infinispan.server.core.AbstractProtocolDecoder$$anon$2.run(AbstractProtocolDecoder.scala:98)
> org.infinispan.server.core.AbstractProtocolDecoder$$anon$2.run(AbstractProtocolDecoder.scala:95)
> org.infinispan.security.Security.doAs(Security.java:143)
> org.infinispan.server.core.AbstractProtocolDecoder.secureDecodeDispatch(AbstractProtocolDecoder.scala:95)
> org.infinispan.server.core.AbstractProtocolDecoder.decode(AbstractProtocolDecoder.scala:59)
> io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:370)
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:168)
> org.infinispan.server.core.AbstractProtocolDecoder.channelRead(AbstractProtocolDecoder.scala:459)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294)
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:846)
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:130)
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
> io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
> io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
> java.lang.Thread.run(Thread.java:745)
> {code}
> Also, encoder implementation does not log exceptions reported at encoding time, so exceptions like this can only be noticed via instrumentation.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 8 months
[JBoss JIRA] (ISPN-5523) Enabling eager caching can lead to sever throwing "OutOfMemoryError: Direct buffer memory"
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-5523?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-5523:
-----------------------------------------------
Vojtech Juranek <vjuranek(a)redhat.com> changed the Status of [bug 1248999|https://bugzilla.redhat.com/show_bug.cgi?id=1248999] from ON_QA to VERIFIED
> Enabling eager caching can lead to sever throwing "OutOfMemoryError: Direct buffer memory"
> -------------------------------------------------------------------------------------------
>
> Key: ISPN-5523
> URL: https://issues.jboss.org/browse/ISPN-5523
> Project: Infinispan
> Issue Type: Bug
> Components: Remote Protocols
> Affects Versions: 7.2.2.Final, 8.0.0.Alpha1
> Reporter: Galder Zamarreño
> Assignee: Galder Zamarreño
> Fix For: 7.2.4.Final, 8.0.0.CR1
>
>
> Some near caching tests are throwing:
> {code}
> [0m[31m04:11:24,499 ERROR [org.infinispan.server.hotrod.CacheDecodeContext] (HotRodServerWorker-43) ISPN005009: Unexpected error before any request parameters read: java.lang.OutOfMemoryError: Direct buffer memory
> at java.nio.Bits.reserveMemory(Bits.java:658) [rt.jar:1.7.0_75]
> at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:123) [rt.jar:1.7.0_75]
> at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:306) [rt.jar:1.7.0_75]
> at io.netty.buffer.PoolArena$DirectArena.newChunk(PoolArena.java:433) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
> at io.netty.buffer.PoolArena.allocateNormal(PoolArena.java:179) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
> at io.netty.buffer.PoolArena.allocate(PoolArena.java:168) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
> at io.netty.buffer.PoolArena.allocate(PoolArena.java:98) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
> at io.netty.buffer.PooledByteBufAllocator.newDirectBuffer(PooledByteBufAllocator.java:241) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
> at io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:155) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
> at io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:146) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
> at io.netty.buffer.AbstractByteBufAllocator.ioBuffer(AbstractByteBufAllocator.java:107) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
> at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:106) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
> at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:494) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
> at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:461) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
> at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
> at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) [netty-all-4.0.18.Final-redhat-1.jar:4.0.18.Final-redhat-1]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_75]
> {code}
> KeyValueVersionConverter allocates a byte buffer but does not release it. It could be the cause...
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 8 months
[JBoss JIRA] (ISPN-5666) Review publicly accessbile classes in remote-query-client/server
by Adrian Nistor (JIRA)
Adrian Nistor created ISPN-5666:
-----------------------------------
Summary: Review publicly accessbile classes in remote-query-client/server
Key: ISPN-5666
URL: https://issues.jboss.org/browse/ISPN-5666
Project: Infinispan
Issue Type: Task
Components: Remote Querying
Affects Versions: 8.0.0.Beta1
Reporter: Adrian Nistor
Assignee: Adrian Nistor
Fix For: 8.0.0.Final
Non-API classes should be moved to an impl package.
Should also add package-info file with appropriate {quote}@private/@public{quote} javadoc annotation.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 8 months
[JBoss JIRA] (ISPN-5653) keySet().iterator() does not propagate flags to remove()
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/ISPN-5653?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño updated ISPN-5653:
-----------------------------------
Status: Resolved (was: Pull Request Sent)
Fix Version/s: 8.0.0.Final
Resolution: Done
> keySet().iterator() does not propagate flags to remove()
> --------------------------------------------------------
>
> Key: ISPN-5653
> URL: https://issues.jboss.org/browse/ISPN-5653
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 7.2.3.Final, 8.0.0.Beta2
> Reporter: Radim Vansa
> Assignee: William Burns
> Fix For: 8.0.0.Beta3, 7.2.4.Final, 8.0.0.Final
>
>
> Calling {{remove()}} on iterator obtained through keySet() does not propagate flags from the original (decorated) cache. Test case (should go into BaseEntryRetrieverTest):
> {code}
> @Test
> public void simpleTestWithFlags() {
> Map<Object, String> values = putValuesInCache();
> final Cache<Object, Object> cache = cache(0, CACHE_NAME);
> cache.getAdvancedCache().addInterceptor(new BaseCustomInterceptor() {
> @Override
> public Object visitRemoveCommand(InvocationContext ctx, RemoveCommand command) throws Throwable {
> assertTrue(command.hasFlag(Flag.SKIP_CACHE_STORE));
> return super.visitRemoveCommand(ctx, command);
> }
> }, 0);
> for (Iterator it = cache(0, CACHE_NAME).getAdvancedCache().withFlags(Flag.SKIP_CACHE_STORE).keySet().iterator(); it.hasNext();) {
> assertTrue(values.containsKey(it.next()));
> it.remove();
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 8 months
[JBoss JIRA] (ISPN-4919) Configuration templates
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/ISPN-4919?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño updated ISPN-4919:
-----------------------------------
Fix Version/s: 8.0.0.Final
> Configuration templates
> -----------------------
>
> Key: ISPN-4919
> URL: https://issues.jboss.org/browse/ISPN-4919
> Project: Infinispan
> Issue Type: Feature Request
> Components: Configuration
> Reporter: Tristan Tarrant
> Assignee: Tristan Tarrant
> Fix For: 8.0.0.Beta3, 8.0.0.Final
>
>
> Currently there is a 1:1 relationship between configuration and named caches. While the programmatic API does have the ability to .read() an existing configuration to create a new one, the declarative config does not.
> We should introduce the concept of configuration inheritance, e.g.:
> {code}
> <local-cache name="eviction-cache">
> <eviction strategy="LIRS" maxEntries="10000"/>
> </local-cache>
> <local-cache name="mycache" template="eviction-cache" />
> {code}
> Possibly, cache templates should be made "abstract" so that they cannot be instantiated as named caches directly, e.g.:
> {code}
> <local-cache name="eviction-cache" abstract="true">
> ...
> </local-cache>
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 8 months