[
https://issues.apache.org/jira/browse/OAK-4058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15167329#comment-15167329
]
Alex Parvulescu commented on OAK-4058:
--------------------------------------
patch looks good! +1
bq. I also simplified StandbyClientHandler#close because there is no need to
empty the pipeline. As long as the thread pools are shut down, there should be
no resource leak.
I hope this assertion holds, I don't remember if it was covered by the existing
tests, but I like the simplification, so let's do it.
it's worth mentioning this doesn't break any standby functionality (no data
corruption as far as I see), it's related to proper cleanup of resources on
shutdown.
> Cold Standby intermittently throws RejectedExecutionException
> -------------------------------------------------------------
>
> Key: OAK-4058
> URL: https://issues.apache.org/jira/browse/OAK-4058
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: tarmk-standby
> Reporter: Francesco Mari
> Assignee: Francesco Mari
> Fix For: 1.4
>
> Attachments: OAK-4058.patch
>
>
> The Cold Standby subsystem very frequently catches and logs
> {{RejectedExecutionException}} instances thrown by Netty. These exceptions
> are most likely caused by an incorrect usage of the thread pools allocated by
> Netty.
> {noformat}
> 25.02.2016 09:23:02.517 *ERROR* [defaultEventExecutorGroup-1306-1]
> org.apache.jackrabbit.oak.plugins.segment.standby.client.SegmentLoaderHandler
> Exception caught, closing channel.
> java.util.concurrent.RejectedExecutionException: event executor terminated
> at
> io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:745)
> at
> io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:322)
> at
> io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:728)
> at
> io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:221)
> at
> io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:75)
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:233)
> at
> io.netty.channel.AbstractChannelHandlerContext.access$400(AbstractChannelHandlerContext.java:32)
> at
> io.netty.channel.AbstractChannelHandlerContext$5.run(AbstractChannelHandlerContext.java:224)
> at
> io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:36)
> at
> io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
> at
> io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
> at java.lang.Thread.run(Thread.java:745)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)