[JBoss JIRA] (ISPN-5653) keySet().iterator() does not propagate flags to remove()
by Radim Vansa (JIRA)
[ https://issues.jboss.org/browse/ISPN-5653?page=com.atlassian.jira.plugin.... ]
Radim Vansa updated ISPN-5653:
------------------------------
Affects Version/s: 8.0.0.Beta2
> 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
>
> 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)
9 years, 4 months
[JBoss JIRA] (ISPN-5653) keySet().iterator() does not propagate flags to remove()
by Radim Vansa (JIRA)
Radim Vansa created ISPN-5653:
---------------------------------
Summary: 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
Reporter: Radim Vansa
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)
9 years, 4 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:
-----------------------------------------------
Sebastian Łaskawiec <slaskawi(a)redhat.com> changed the Status of [bug 1248999|https://bugzilla.redhat.com/show_bug.cgi?id=1248999] from NEW to MODIFIED
> 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, 8.0.0.Final
>
>
> 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)
9 years, 4 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:
-----------------------------------------------
Sebastian Łaskawiec <slaskawi(a)redhat.com> changed the Status of [bug 1248999|https://bugzilla.redhat.com/show_bug.cgi?id=1248999] from NEW to MODIFIED
> 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)
9 years, 4 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:
-----------------------------------------------
Sebastian Łaskawiec <slaskawi(a)redhat.com> changed the Status of [bug 1248999|https://bugzilla.redhat.com/show_bug.cgi?id=1248999] from NEW to MODIFIED
> "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)
9 years, 4 months