[JBoss JIRA] (HRJS-30) Move testsuite server orchestration to a domain
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/HRJS-30?page=com.atlassian.jira.plugin.sy... ]
Galder Zamarreño updated HRJS-30:
---------------------------------
Status: Open (was: New)
> Move testsuite server orchestration to a domain
> -----------------------------------------------
>
> Key: HRJS-30
> URL: https://issues.jboss.org/browse/HRJS-30
> Project: Infinispan Javascript client
> Issue Type: Enhancement
> Affects Versions: 0.3.0
> Reporter: Galder Zamarreño
> Assignee: Galder Zamarreño
> Fix For: 0.4.0
>
>
> As more tests have been added to the Infinispan JS testsuite, the existing simple server orchestration script/environment are turning out to be a bit painful to deal with.
> On one hand, Haskell's {{stack}} can be sometimes difficult to install in some envs, e.g. Ubuntu. I've also seen issues with Turtle library used in Haskell and copying contents inside symbolic links in Red Hat Linux.
> On top of that, as security and cross-site tests were added, more configurations were added and more servers need to be added, making it track the configs a bit more confusing.
> Finally, the methods used to start/stop servers in self-contained tests, e.g. xsite and cluster failover, a little bit clunky.
> So, with this in mind, we thought of using more suitable orchestration techniques for Infinispan servers. We considered docker compose and kubernetes, but since the servers just simply need to run in a single machine and there's not a huge need to have clean environments, we decided to use a single Infinispan server domain to orchestrate all servers.
> The advantages of domain is that is easy to start all servers with the right configuration very quickly, and start/stop servers from tests is very easy and quick compared with current approach. On top of that, having domain based orchestration will make it easy to port over the servers, their configs and script over to testsuites of other langs.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 11 months
[JBoss JIRA] (HRJS-31) Old connections not disconnected when switching sites
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/HRJS-31?page=com.atlassian.jira.plugin.sy... ]
Galder Zamarreño reassigned HRJS-31:
------------------------------------
Assignee: Galder Zamarreño
> Old connections not disconnected when switching sites
> -----------------------------------------------------
>
> Key: HRJS-31
> URL: https://issues.jboss.org/browse/HRJS-31
> Project: Infinispan Javascript client
> Issue Type: Bug
> Affects Versions: 0.3.0
> Reporter: Galder Zamarreño
> Assignee: Galder Zamarreño
> Fix For: 0.4.0
>
>
> When a site change happens in the client, old connections are left lingering and they're not disconnected. Before installing any new routers for any sites, irrespective of whether the switch was manual or a as a result of a failover, old connections need to be disconnected.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 11 months
[JBoss JIRA] (HRJS-31) Old connections not disconnected when switching sites
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/HRJS-31?page=com.atlassian.jira.plugin.sy... ]
Galder Zamarreño commented on HRJS-31:
--------------------------------------
The issue was discovered while addressing HRJS-30
> Old connections not disconnected when switching sites
> -----------------------------------------------------
>
> Key: HRJS-31
> URL: https://issues.jboss.org/browse/HRJS-31
> Project: Infinispan Javascript client
> Issue Type: Bug
> Affects Versions: 0.3.0
> Reporter: Galder Zamarreño
> Assignee: Galder Zamarreño
> Fix For: 0.4.0
>
>
> When a site change happens in the client, old connections are left lingering and they're not disconnected. Before installing any new routers for any sites, irrespective of whether the switch was manual or a as a result of a failover, old connections need to be disconnected.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 11 months
[JBoss JIRA] (HRJS-31) Old connections not disconnected when switching sites
by Galder Zamarreño (JIRA)
Galder Zamarreño created HRJS-31:
------------------------------------
Summary: Old connections not disconnected when switching sites
Key: HRJS-31
URL: https://issues.jboss.org/browse/HRJS-31
Project: Infinispan Javascript client
Issue Type: Bug
Affects Versions: 0.3.0
Reporter: Galder Zamarreño
When a site change happens in the client, old connections are left lingering and they're not disconnected. Before installing any new routers for any sites, irrespective of whether the switch was manual or a as a result of a failover, old connections need to be disconnected.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 11 months
[JBoss JIRA] (HRJS-30) Move testsuite server orchestration to a domain
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/HRJS-30?page=com.atlassian.jira.plugin.sy... ]
Galder Zamarreño reassigned HRJS-30:
------------------------------------
Assignee: Galder Zamarreño
> Move testsuite server orchestration to a domain
> -----------------------------------------------
>
> Key: HRJS-30
> URL: https://issues.jboss.org/browse/HRJS-30
> Project: Infinispan Javascript client
> Issue Type: Enhancement
> Affects Versions: 0.3.0
> Reporter: Galder Zamarreño
> Assignee: Galder Zamarreño
> Fix For: 0.4.0
>
>
> As more tests have been added to the Infinispan JS testsuite, the existing simple server orchestration script/environment are turning out to be a bit painful to deal with.
> On one hand, Haskell's {{stack}} can be sometimes difficult to install in some envs, e.g. Ubuntu. I've also seen issues with Turtle library used in Haskell and copying contents inside symbolic links in Red Hat Linux.
> On top of that, as security and cross-site tests were added, more configurations were added and more servers need to be added, making it track the configs a bit more confusing.
> Finally, the methods used to start/stop servers in self-contained tests, e.g. xsite and cluster failover, a little bit clunky.
> So, with this in mind, we thought of using more suitable orchestration techniques for Infinispan servers. We considered docker compose and kubernetes, but since the servers just simply need to run in a single machine and there's not a huge need to have clean environments, we decided to use a single Infinispan server domain to orchestrate all servers.
> The advantages of domain is that is easy to start all servers with the right configuration very quickly, and start/stop servers from tests is very easy and quick compared with current approach. On top of that, having domain based orchestration will make it easy to port over the servers, their configs and script over to testsuites of other langs.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 11 months
[JBoss JIRA] (ISPN-7326) Enable domain sites to be created from a single profile
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/ISPN-7326?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño reassigned ISPN-7326:
--------------------------------------
Assignee: Galder Zamarreño
> Enable domain sites to be created from a single profile
> -------------------------------------------------------
>
> Key: ISPN-7326
> URL: https://issues.jboss.org/browse/ISPN-7326
> Project: Infinispan
> Issue Type: Enhancement
> Components: Server
> Reporter: Galder Zamarreño
> Assignee: Galder Zamarreño
>
> In domain mode, it should be possible to start two nodes, each belonging to a different site and get them to join the inter-site cluster providing a single profile.
> To be able to do that, the following needs to happen:
> * A cache's backup site name needs to be able to be defined via a system property, e.g.
> {code}
> <backups>
> <backup site="${test.site.local.name:NA}" strategy="SYNC"/>
> </backups>
> {code}
> * A jgroup stack's relay remote site name needs to be able to be defined via a system property, e.g.
> {code}
> <relay site="${test.site.local.name:NA}">
> <remote-site name="${test.site.remote.name:NA}" channel="xsite"/>
> </relay>
> {code}
> With these changes, it should be possible to define a single profile, and then override site local and remote names via system properties, e.g.
> {code}
> <server-group name="site-earth" profile="clustered">
> <jvm name="default">
> <heap size="64m" max-size="512m"/>
> <jvm-options>
> <option value="-Djgroups.join_timeout=1000"/>
> <option value="-Djboss.default.multicast.address=234.99.74.14"/>
> <option value="-Dtest.site.local.name=EARTH"/>
> <option value="-Dtest.site.remote.name=MOON"/>
> </jvm-options>
> </jvm>
> <socket-binding-group ref="xsite-sockets"/>
> </server-group>
> <server-group name="site-moon" profile="clustered">
> <jvm name="default">
> <heap size="64m" max-size="512m"/>
> <jvm-options>
> <option value="-Djgroups.join_timeout=1000"/>
> <option value="-Djboss.default.multicast.address=234.99.74.24"/>
> <option value="-Dtest.site.local.name=MOON"/>
> <option value="-Dtest.site.remote.name=EARTH"/>
> </jvm-options>
> </jvm>
> <socket-binding-group ref="xsite-sockets"/>
> </server-group>
> {code}
> Right now no system property substitution happens for the elements above and hence it's not possible to achieve this with a single profile. Instead, profiles need to be duplicated making it hard to maintain.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 11 months
[JBoss JIRA] (ISPN-7326) Enable domain sites to be created from a single profile
by Galder Zamarreño (JIRA)
Galder Zamarreño created ISPN-7326:
--------------------------------------
Summary: Enable domain sites to be created from a single profile
Key: ISPN-7326
URL: https://issues.jboss.org/browse/ISPN-7326
Project: Infinispan
Issue Type: Enhancement
Reporter: Galder Zamarreño
In domain mode, it should be possible to start two nodes, each belonging to a different site and get them to join the inter-site cluster providing a single profile.
To be able to do that, the following needs to happen:
* A cache's backup site name needs to be able to be defined via a system property, e.g.
{code}
<backups>
<backup site="${test.site.local.name:NA}" strategy="SYNC"/>
</backups>
{code}
* A jgroup stack's relay remote site name needs to be able to be defined via a system property, e.g.
{code}
<relay site="${test.site.local.name:NA}">
<remote-site name="${test.site.remote.name:NA}" channel="xsite"/>
</relay>
{code}
With these changes, it should be possible to define a single profile, and then override site local and remote names via system properties, e.g.
{code}
<server-group name="site-earth" profile="clustered">
<jvm name="default">
<heap size="64m" max-size="512m"/>
<jvm-options>
<option value="-Djgroups.join_timeout=1000"/>
<option value="-Djboss.default.multicast.address=234.99.74.14"/>
<option value="-Dtest.site.local.name=EARTH"/>
<option value="-Dtest.site.remote.name=MOON"/>
</jvm-options>
</jvm>
<socket-binding-group ref="xsite-sockets"/>
</server-group>
<server-group name="site-moon" profile="clustered">
<jvm name="default">
<heap size="64m" max-size="512m"/>
<jvm-options>
<option value="-Djgroups.join_timeout=1000"/>
<option value="-Djboss.default.multicast.address=234.99.74.24"/>
<option value="-Dtest.site.local.name=MOON"/>
<option value="-Dtest.site.remote.name=EARTH"/>
</jvm-options>
</jvm>
<socket-binding-group ref="xsite-sockets"/>
</server-group>
{code}
Right now no system property substitution happens for the elements above and hence it's not possible to achieve this with a single profile. Instead, profiles need to be duplicated making it hard to maintain.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 11 months
[JBoss JIRA] (ISPN-7326) Enable domain sites to be created from a single profile
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/ISPN-7326?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño updated ISPN-7326:
-----------------------------------
Component/s: Server
> Enable domain sites to be created from a single profile
> -------------------------------------------------------
>
> Key: ISPN-7326
> URL: https://issues.jboss.org/browse/ISPN-7326
> Project: Infinispan
> Issue Type: Enhancement
> Components: Server
> Reporter: Galder Zamarreño
>
> In domain mode, it should be possible to start two nodes, each belonging to a different site and get them to join the inter-site cluster providing a single profile.
> To be able to do that, the following needs to happen:
> * A cache's backup site name needs to be able to be defined via a system property, e.g.
> {code}
> <backups>
> <backup site="${test.site.local.name:NA}" strategy="SYNC"/>
> </backups>
> {code}
> * A jgroup stack's relay remote site name needs to be able to be defined via a system property, e.g.
> {code}
> <relay site="${test.site.local.name:NA}">
> <remote-site name="${test.site.remote.name:NA}" channel="xsite"/>
> </relay>
> {code}
> With these changes, it should be possible to define a single profile, and then override site local and remote names via system properties, e.g.
> {code}
> <server-group name="site-earth" profile="clustered">
> <jvm name="default">
> <heap size="64m" max-size="512m"/>
> <jvm-options>
> <option value="-Djgroups.join_timeout=1000"/>
> <option value="-Djboss.default.multicast.address=234.99.74.14"/>
> <option value="-Dtest.site.local.name=EARTH"/>
> <option value="-Dtest.site.remote.name=MOON"/>
> </jvm-options>
> </jvm>
> <socket-binding-group ref="xsite-sockets"/>
> </server-group>
> <server-group name="site-moon" profile="clustered">
> <jvm name="default">
> <heap size="64m" max-size="512m"/>
> <jvm-options>
> <option value="-Djgroups.join_timeout=1000"/>
> <option value="-Djboss.default.multicast.address=234.99.74.24"/>
> <option value="-Dtest.site.local.name=MOON"/>
> <option value="-Dtest.site.remote.name=EARTH"/>
> </jvm-options>
> </jvm>
> <socket-binding-group ref="xsite-sockets"/>
> </server-group>
> {code}
> Right now no system property substitution happens for the elements above and hence it's not possible to achieve this with a single profile. Instead, profiles need to be duplicated making it hard to maintain.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 11 months
[JBoss JIRA] (ISPN-6880) Netty ByteBuf leak in REST endpoint
by Jakub Markos (JIRA)
[ https://issues.jboss.org/browse/ISPN-6880?page=com.atlassian.jira.plugin.... ]
Jakub Markos commented on ISPN-6880:
------------------------------------
[~gustavonalle] looks like the fix you sent is already a part of a release resteasy-netty4 3.1.0.Final, should I send a PR to bump the version or is there something else needed?
> Netty ByteBuf leak in REST endpoint
> -----------------------------------
>
> Key: ISPN-6880
> URL: https://issues.jboss.org/browse/ISPN-6880
> Project: Infinispan
> Issue Type: Bug
> Components: Server
> Affects Versions: 9.0.0.Alpha3
> Reporter: Vojtech Juranek
> Assignee: Gustavo Fernandes
> Priority: Critical
>
> REST endpoint leaks Netty {{ByteBuf}} instances:
> {noformat}
> [0m[31m11:25:34,059 SEVERE [io.netty.util.ResourceLeakDetector] (nioEventLoopGroup-2-14) LEAK: ByteBuf.release() was not called before it's garbage-collected. See http://netty.io/wiki/reference-counted-objects.html for more information.
> WARNING: 10 leak records were discarded because the leak record count is limited to 4. Use system property io.netty.leakDetection.maxRecords to increase the limit.
> Recent access records: 5
> #5:
> io.netty.buffer.AdvancedLeakAwareByteBuf.getBytes(AdvancedLeakAwareByteBuf.java:225)
> io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:805)
> io.netty.buffer.CompositeByteBuf.getBytes(CompositeByteBuf.java:44)
> io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:805)
> io.netty.buffer.CompositeByteBuf.readBytes(CompositeByteBuf.java:1742)
> io.netty.buffer.WrappedCompositeByteBuf.readBytes(WrappedCompositeByteBuf.java:996)
> io.netty.buffer.AdvancedLeakAwareCompositeByteBuf.readBytes(AdvancedLeakAwareCompositeByteBuf.java:448)
> io.netty.buffer.AdvancedLeakAwareCompositeByteBuf.readBytes(AdvancedLeakAwareCompositeByteBuf.java:36)
> io.netty.buffer.ByteBufInputStream.read(ByteBufInputStream.java:120)
> java.io.InputStream.read(InputStream.java:101)
> org.jboss.resteasy.util.ReadFromStream.readFromStream(ReadFromStream.java:30)
> org.jboss.resteasy.plugins.providers.ByteArrayProvider.readFrom(ByteArrayProvider.java:35)
> org.jboss.resteasy.plugins.providers.ByteArrayProvider.readFrom(ByteArrayProvider.java:23)
> org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.readFrom(AbstractReaderInterceptorContext.java:61)
> org.jboss.resteasy.core.interception.ServerReaderInterceptorContext.readFrom(ServerReaderInterceptorContext.java:60)
> org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.proceed(AbstractReaderInterceptorContext.java:53)
> org.jboss.resteasy.plugins.interceptors.encoding.GZIPDecodingInterceptor.aroundReadFrom(GZIPDecodingInterceptor.java:59)
> org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.proceed(AbstractReaderInterceptorContext.java:55)
> org.jboss.resteasy.core.MessageBodyParameterInjector.inject(MessageBodyParameterInjector.java:151)
> org.jboss.resteasy.core.MethodInjectorImpl.injectArguments(MethodInjectorImpl.java:91)
> org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:114)
> org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)
> org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)
> org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:236)
> org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:395)
> org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:202)
> org.jboss.resteasy.plugins.server.netty.RequestDispatcher.service(RequestDispatcher.java:83)
> org.jboss.resteasy.plugins.server.netty.RequestHandler.channelRead0(RequestHandler.java:53)
> io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
> io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtil.java:83)
> io.netty.channel.DefaultChannelHandlerInvoker$7.run(DefaultChannelHandlerInvoker.java:159)
> io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:339)
> io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:373)
> io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:742)
> io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:145)
> java.lang.Thread.run(Thread.java:745)
> #4:
> io.netty.buffer.AdvancedLeakAwareByteBuf.release(AdvancedLeakAwareByteBuf.java:901)
> io.netty.handler.codec.http.DefaultHttpContent.release(DefaultHttpContent.java:84)
> io.netty.util.ReferenceCountUtil.release(ReferenceCountUtil.java:84)
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:91)
> io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtil.java:83)
> io.netty.channel.DefaultChannelHandlerInvoker.invokeChannelRead(DefaultChannelHandlerInvoker.java:154)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:354)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:145)
> io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:277)
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:264)
> io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtil.java:83)
> io.netty.channel.DefaultChannelHandlerInvoker.invokeChannelRead(DefaultChannelHandlerInvoker.java:154)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:354)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:145)
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:1078)
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:117)
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:527)
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:484)
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:398)
> io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:370)
> io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:742)
> io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:145)
> java.lang.Thread.run(Thread.java:745)
> #3:
> io.netty.buffer.AdvancedLeakAwareByteBuf.slice(AdvancedLeakAwareByteBuf.java:75)
> io.netty.buffer.CompositeByteBuf.addComponent0(CompositeByteBuf.java:203)
> io.netty.buffer.CompositeByteBuf.addComponent(CompositeByteBuf.java:133)
> io.netty.buffer.WrappedCompositeByteBuf.addComponent(WrappedCompositeByteBuf.java:467)
> io.netty.buffer.AdvancedLeakAwareCompositeByteBuf.addComponent(AdvancedLeakAwareCompositeByteBuf.java:832)
> io.netty.handler.codec.MessageAggregator.appendPartialContent(MessageAggregator.java:323)
> io.netty.handler.codec.MessageAggregator.decode(MessageAggregator.java:287)
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89)
> io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtil.java:83)
> io.netty.channel.DefaultChannelHandlerInvoker.invokeChannelRead(DefaultChannelHandlerInvoker.java:154)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:354)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:145)
> io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:277)
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:264)
> io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtil.java:83)
> io.netty.channel.DefaultChannelHandlerInvoker.invokeChannelRead(DefaultChannelHandlerInvoker.java:154)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:354)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:145)
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:1078)
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:117)
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:527)
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:484)
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:398)
> io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:370)
> io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:742)
> io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:145)
> java.lang.Thread.run(Thread.java:745)
> #2:
> io.netty.buffer.AdvancedLeakAwareByteBuf.order(AdvancedLeakAwareByteBuf.java:65)
> io.netty.buffer.CompositeByteBuf.addComponent0(CompositeByteBuf.java:203)
> io.netty.buffer.CompositeByteBuf.addComponent(CompositeByteBuf.java:133)
> io.netty.buffer.WrappedCompositeByteBuf.addComponent(WrappedCompositeByteBuf.java:467)
> io.netty.buffer.AdvancedLeakAwareCompositeByteBuf.addComponent(AdvancedLeakAwareCompositeByteBuf.java:832)
> io.netty.handler.codec.MessageAggregator.appendPartialContent(MessageAggregator.java:323)
> io.netty.handler.codec.MessageAggregator.decode(MessageAggregator.java:287)
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89)
> io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtil.java:83)
> io.netty.channel.DefaultChannelHandlerInvoker.invokeChannelRead(DefaultChannelHandlerInvoker.java:154)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:354)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:145)
> io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:277)
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:264)
> io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtil.java:83)
> io.netty.channel.DefaultChannelHandlerInvoker.invokeChannelRead(DefaultChannelHandlerInvoker.java:154)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:354)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:145)
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:1078)
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:117)
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:527)
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:484)
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:398)
> io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:370)
> io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:742)
> io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:145)
> java.lang.Thread.run(Thread.java:745)
> #1:
> io.netty.buffer.AdvancedLeakAwareByteBuf.retain(AdvancedLeakAwareByteBuf.java:873)
> io.netty.handler.codec.MessageAggregator.appendPartialContent(MessageAggregator.java:322)
> io.netty.handler.codec.MessageAggregator.decode(MessageAggregator.java:287)
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89)
> io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtil.java:83)
> io.netty.channel.DefaultChannelHandlerInvoker.invokeChannelRead(DefaultChannelHandlerInvoker.java:154)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:354)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:145)
> io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:277)
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:264)
> io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtil.java:83)
> io.netty.channel.DefaultChannelHandlerInvoker.invokeChannelRead(DefaultChannelHandlerInvoker.java:154)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:354)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:145)
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:1078)
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:117)
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:527)
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:484)
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:398)
> io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:370)
> io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:742)
> io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:145)
> java.lang.Thread.run(Thread.java:745)
> Created at:
> io.netty.buffer.PooledByteBufAllocator.newDirectBuffer(PooledByteBufAllocator.java:271)
> io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:179)
> io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:170)
> io.netty.buffer.AbstractByteBufAllocator.ioBuffer(AbstractByteBufAllocator.java:131)
> io.netty.channel.DefaultMaxMessagesRecvByteBufAllocator$MaxMessageHandle.allocate(DefaultMaxMessagesRecvByteBufAllocator.java:73)
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:105)
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:527)
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:484)
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:398)
> io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:370)
> io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:742)
> io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:145)
> java.lang.Thread.run(Thread.java:745)
> [0m[31m11:25:34,059 SEVERE [io.netty.util.ResourceLeakDetector] (nioEventLoopGroup-2-14) LEAK: ByteBuf.release() was not called before it's garbage-collected. See http://netty.io/wiki/reference-counted-objects.html for more information.
> Recent access records: 5
> #5:
> io.netty.buffer.AdvancedLeakAwareCompositeByteBuf.readBytes(AdvancedLeakAwareCompositeByteBuf.java:447)
> io.netty.buffer.AdvancedLeakAwareCompositeByteBuf.readBytes(AdvancedLeakAwareCompositeByteBuf.java:36)
> io.netty.buffer.ByteBufInputStream.read(ByteBufInputStream.java:120)
> java.io.InputStream.read(InputStream.java:101)
> org.jboss.resteasy.util.ReadFromStream.readFromStream(ReadFromStream.java:30)
> org.jboss.resteasy.plugins.providers.ByteArrayProvider.readFrom(ByteArrayProvider.java:35)
> org.jboss.resteasy.plugins.providers.ByteArrayProvider.readFrom(ByteArrayProvider.java:23)
> org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.readFrom(AbstractReaderInterceptorContext.java:61)
> org.jboss.resteasy.core.interception.ServerReaderInterceptorContext.readFrom(ServerReaderInterceptorContext.java:60)
> org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.proceed(AbstractReaderInterceptorContext.java:53)
> org.jboss.resteasy.plugins.interceptors.encoding.GZIPDecodingInterceptor.aroundReadFrom(GZIPDecodingInterceptor.java:59)
> org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.proceed(AbstractReaderInterceptorContext.java:55)
> org.jboss.resteasy.core.MessageBodyParameterInjector.inject(MessageBodyParameterInjector.java:151)
> org.jboss.resteasy.core.MethodInjectorImpl.injectArguments(MethodInjectorImpl.java:91)
> org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:114)
> org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)
> org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)
> org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:236)
> org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:395)
> org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:202)
> org.jboss.resteasy.plugins.server.netty.RequestDispatcher.service(RequestDispatcher.java:83)
> org.jboss.resteasy.plugins.server.netty.RequestHandler.channelRead0(RequestHandler.java:53)
> io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
> io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtil.java:83)
> io.netty.channel.DefaultChannelHandlerInvoker$7.run(DefaultChannelHandlerInvoker.java:159)
> io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:339)
> io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:373)
> io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:742)
> io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:145)
> java.lang.Thread.run(Thread.java:745)
> #4:
> io.netty.buffer.AdvancedLeakAwareCompositeByteBuf.release(AdvancedLeakAwareCompositeByteBuf.java:961)
> io.netty.handler.codec.http.HttpObjectAggregator$AggregatedFullHttpMessage.release(HttpObjectAggregator.java:317)
> io.netty.util.ReferenceCountUtil.release(ReferenceCountUtil.java:84)
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:91)
> io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtil.java:83)
> io.netty.channel.DefaultChannelHandlerInvoker.invokeChannelRead(DefaultChannelHandlerInvoker.java:154)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:354)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:145)
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
> io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtil.java:83)
> io.netty.channel.DefaultChannelHandlerInvoker.invokeChannelRead(DefaultChannelHandlerInvoker.java:154)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:354)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:145)
> io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:277)
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:264)
> io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtil.java:83)
> io.netty.channel.DefaultChannelHandlerInvoker.invokeChannelRead(DefaultChannelHandlerInvoker.java:154)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:354)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:145)
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:1078)
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:117)
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:527)
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:484)
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:398)
> io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:370)
> io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:742)
> io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:145)
> java.lang.Thread.run(Thread.java:745)
> #3:
> io.netty.buffer.AdvancedLeakAwareCompositeByteBuf.retain(AdvancedLeakAwareCompositeByteBuf.java:933)
> io.netty.buffer.AdvancedLeakAwareCompositeByteBuf.retain(AdvancedLeakAwareCompositeByteBuf.java:36)
> org.jboss.resteasy.plugins.server.netty.RestEasyHttpRequestDecoder.decode(RestEasyHttpRequestDecoder.java:75)
> org.jboss.resteasy.plugins.server.netty.RestEasyHttpRequestDecoder.decode(RestEasyHttpRequestDecoder.java:28)
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89)
> io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtil.java:83)
> io.netty.channel.DefaultChannelHandlerInvoker.invokeChannelRead(DefaultChannelHandlerInvoker.java:154)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:354)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:145)
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
> io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtil.java:83)
> io.netty.channel.DefaultChannelHandlerInvoker.invokeChannelRead(DefaultChannelHandlerInvoker.java:154)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:354)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:145)
> io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:277)
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:264)
> io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtil.java:83)
> io.netty.channel.DefaultChannelHandlerInvoker.invokeChannelRead(DefaultChannelHandlerInvoker.java:154)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:354)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:145)
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:1078)
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:117)
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:527)
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:484)
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:398)
> io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:370)
> io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:742)
> io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:145)
> java.lang.Thread.run(Thread.java:745)
> #2:
> Hint: 'RestEasyHttpRequestDecoder#0' will handle the message from this point.
> io.netty.buffer.AdvancedLeakAwareCompositeByteBuf.touch(AdvancedLeakAwareCompositeByteBuf.java:951)
> io.netty.buffer.AdvancedLeakAwareCompositeByteBuf.touch(AdvancedLeakAwareCompositeByteBuf.java:36)
> io.netty.handler.codec.http.HttpObjectAggregator$AggregatedFullHttpMessage.touch(HttpObjectAggregator.java:305)
> io.netty.handler.codec.http.HttpObjectAggregator$AggregatedFullHttpRequest.touch(HttpObjectAggregator.java:402)
> io.netty.handler.codec.http.HttpObjectAggregator$AggregatedFullHttpRequest.touch(HttpObjectAggregator.java:332)
> io.netty.channel.DefaultChannelPipeline.touch(DefaultChannelPipeline.java:101)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:145)
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
> io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtil.java:83)
> io.netty.channel.DefaultChannelHandlerInvoker.invokeChannelRead(DefaultChannelHandlerInvoker.java:154)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:354)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:145)
> io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:277)
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:264)
> io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtil.java:83)
> io.netty.channel.DefaultChannelHandlerInvoker.invokeChannelRead(DefaultChannelHandlerInvoker.java:154)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:354)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:145)
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:1078)
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:117)
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:527)
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:484)
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:398)
> io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:370)
> io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:742)
> io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:145)
> java.lang.Thread.run(Thread.java:745)
> #1:
> io.netty.buffer.AdvancedLeakAwareCompositeByteBuf.addComponent(AdvancedLeakAwareCompositeByteBuf.java:831)
> io.netty.handler.codec.MessageAggregator.appendPartialContent(MessageAggregator.java:323)
> io.netty.handler.codec.MessageAggregator.decode(MessageAggregator.java:287)
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89)
> io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtil.java:83)
> io.netty.channel.DefaultChannelHandlerInvoker.invokeChannelRead(DefaultChannelHandlerInvoker.java:154)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:354)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:145)
> io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:277)
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:264)
> io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtil.java:83)
> io.netty.channel.DefaultChannelHandlerInvoker.invokeChannelRead(DefaultChannelHandlerInvoker.java:154)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:354)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:145)
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:1078)
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:117)
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:527)
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:484)
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:398)
> io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:370)
> io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:742)
> io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:145)
> java.lang.Thread.run(Thread.java:745)
> Created at:
> io.netty.buffer.AbstractByteBufAllocator.compositeDirectBuffer(AbstractByteBufAllocator.java:215)
> io.netty.buffer.AbstractByteBufAllocator.compositeBuffer(AbstractByteBufAllocator.java:193)
> io.netty.handler.codec.MessageAggregator.decode(MessageAggregator.java:251)
> io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89)
> io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtil.java:83)
> io.netty.channel.DefaultChannelHandlerInvoker.invokeChannelRead(DefaultChannelHandlerInvoker.java:154)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:354)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:145)
> io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:277)
> io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:372)
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:245)
> io.netty.channel.ChannelHandlerInvokerUtil.invokeChannelReadNow(ChannelHandlerInvokerUtil.java:83)
> io.netty.channel.DefaultChannelHandlerInvoker.invokeChannelRead(DefaultChannelHandlerInvoker.java:154)
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:354)
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:145)
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:1078)
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:117)
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:527)
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:484)
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:398)
> io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:370)
> io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:742)
> io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:145)
> java.lang.Thread.run(Thread.java:745)
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 11 months