[Red Hat JIRA] (ISPN-12570) REST server stop hangs when channel is open
by Will Burns (Jira)
[ https://issues.redhat.com/browse/ISPN-12570?page=com.atlassian.jira.plugi... ]
Will Burns updated ISPN-12570:
------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
> REST server stop hangs when channel is open
> -------------------------------------------
>
> Key: ISPN-12570
> URL: https://issues.redhat.com/browse/ISPN-12570
> Project: Infinispan
> Issue Type: Bug
> Components: REST, Server
> Affects Versions: 12.0.0.Dev07
> Reporter: Dan Berindei
> Priority: Major
> Fix For: 12.0.0.CR1
>
>
> {{NettyTransport.stop()}} calls {{acceptedChannels.close()}} after shutting down the both the {{masterGroup}} and the {{ioGroup}}. But if a channel is still open, closing it requires submitting a task to the channel's event loop, which is now shut down.
> {{AbstractChannelHandlerContext.safeExecute()}} hides the rejection exception, but the {{ChannelPromise}} returned by {{channel.close()}} never completes, and the server doesn't stop.
> {noformat}
> java.util.concurrent.RejectedExecutionException: event executor terminated
> at io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:926)
> at io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:353)
> at io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:346)
> at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:828)
> at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:818)
> at io.netty.channel.AbstractChannelHandlerContext.safeExecute(AbstractChannelHandlerContext.java:989)
> at io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:608)
> at io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:472)
> at io.netty.channel.DefaultChannelPipeline.close(DefaultChannelPipeline.java:957)
> at io.netty.channel.AbstractChannel.close(AbstractChannel.java:232)
> at io.netty.channel.group.DefaultChannelGroup.close(DefaultChannelGroup.java:342)
> at io.netty.channel.group.DefaultChannelGroup.close(DefaultChannelGroup.java:221)
> at org.infinispan.server.core.transport.NettyTransport.stop(NettyTransport.java:135)
> at org.infinispan.server.core.AbstractProtocolServer.stop(AbstractProtocolServer.java:202)
> at org.infinispan.rest.RestServer.stop(RestServer.java:100)
> at org.infinispan.rest.helper.RestServerHelper.stop(RestServerHelper.java:86)
> {noformat}
> {noformat}
> java.lang.RuntimeException: Test timed out after 300 seconds
> at java.base(a)11.0.9/java.lang.Object.$$BlockHound$$_wait(Native Method)
> at java.base(a)11.0.9/java.lang.Object.wait(Object.java)
> at java.base@11.0.9/java.lang.Object.wait(Object.java:328)
> at app//io.netty.util.concurrent.DefaultPromise.awaitUninterruptibly(DefaultPromise.java:274)
> at app//io.netty.channel.group.DefaultChannelGroupFuture.awaitUninterruptibly(DefaultChannelGroupFuture.java:178)
> at app//io.netty.channel.group.DefaultChannelGroupFuture.awaitUninterruptibly(DefaultChannelGroupFuture.java:41)
> at app//org.infinispan.server.core.transport.NettyTransport.stop(NettyTransport.java:149)
> at app//org.infinispan.server.core.AbstractProtocolServer.stop(AbstractProtocolServer.java:202)
> at app//org.infinispan.rest.RestServer.stop(RestServer.java:100)
> at app//org.infinispan.rest.helper.RestServerHelper.stop(RestServerHelper.java:86)
> {noformat}
> {{CacheV2ResourceTest.afterSuite()}} sometimes hangs this way. Initially I attributed the hanging to ISPN-12558, but it looks like a separate issue.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 1 month
[Red Hat JIRA] (ISPN-12478) IRAC metrics
by Pedro Ruivo (Jira)
[ https://issues.redhat.com/browse/ISPN-12478?page=com.atlassian.jira.plugi... ]
Pedro Ruivo updated ISPN-12478:
-------------------------------
Sprint: DataGrid Sprint #50 (was: DataGrid Sprint #50, DataGrid Sprint #53)
> IRAC metrics
> ------------
>
> Key: ISPN-12478
> URL: https://issues.redhat.com/browse/ISPN-12478
> Project: Infinispan
> Issue Type: Enhancement
> Components: Cross-Site Replication
> Affects Versions: 12.0.0.Dev05
> Reporter: Pedro Ruivo
> Assignee: Pedro Ruivo
> Priority: Major
> Fix For: 12.0.0.Final
>
>
> Add the following metrics to IRAC:
> * Queue size
> * Requests sent + response time (histogram)
> * Number of conflicts (3 counters?)
> ** merge policy discard update (local value wins)
> ** merge policy applies update (remove value wins)
> ** merge policy created a new value (merge remove value with local value)
> * Merge policy run time (user code? warning if it takes too long?)
> * Number of discards (old version updates)
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 1 month
[Red Hat JIRA] (ISPN-12477) Remove IRAC sender thread
by Pedro Ruivo (Jira)
[ https://issues.redhat.com/browse/ISPN-12477?page=com.atlassian.jira.plugi... ]
Pedro Ruivo closed ISPN-12477.
------------------------------
> Remove IRAC sender thread
> -------------------------
>
> Key: ISPN-12477
> URL: https://issues.redhat.com/browse/ISPN-12477
> Project: Infinispan
> Issue Type: Bug
> Components: Cross-Site Replication
> Affects Versions: 12.0.0.Dev05
> Reporter: Pedro Ruivo
> Assignee: Pedro Ruivo
> Priority: Major
> Fix For: 12.0.0.Final
>
>
> We have a dedicated thread in the background sending the updates to the remote site. We can get rid of it and use the blocking thread pool to send the update.
> Also, based on the last discussion, don't send the keys in batches. Just do continuous sending and let the Flow Control in JGroups manages the network.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 1 month
[Red Hat JIRA] (ISPN-11398) Change XSiteStateTransferProviderImpl to be non blocking
by Pedro Ruivo (Jira)
[ https://issues.redhat.com/browse/ISPN-11398?page=com.atlassian.jira.plugi... ]
Pedro Ruivo updated ISPN-11398:
-------------------------------
Sprint: DataGrid Sprint #29, DataGrid Sprint #30, DataGrid Sprint #33, DataGrid Sprint #34, DataGrid Sprint #35, DataGrid Sprint #36, DataGrid Sprint #37, DataGrid Sprint #38, DataGrid Sprint #39, DataGrid Sprint #53 (was: DataGrid Sprint #29, DataGrid Sprint #30, DataGrid Sprint #33, DataGrid Sprint #34, DataGrid Sprint #35, DataGrid Sprint #36, DataGrid Sprint #37, DataGrid Sprint #38, DataGrid Sprint #39)
> Change XSiteStateTransferProviderImpl to be non blocking
> --------------------------------------------------------
>
> Key: ISPN-11398
> URL: https://issues.redhat.com/browse/ISPN-11398
> Project: Infinispan
> Issue Type: Bug
> Components: Core, Cross-Site Replication
> Reporter: Will Burns
> Assignee: Pedro Ruivo
> Priority: Major
>
> When sending state xsite the transfer blocks at https://github.com/infinispan/infinispan/blob/d3093ed6ccbe2553a3dbde1d0d6... and a few other places.
> For now I have offloaded this to the blocking thread pool, but this should be fixed to be totally non blocking.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 1 month
[Red Hat JIRA] (ISPN-12570) REST server stop hangs when channel is open
by Dan Berindei (Jira)
[ https://issues.redhat.com/browse/ISPN-12570?page=com.atlassian.jira.plugi... ]
Dan Berindei updated ISPN-12570:
--------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request: https://github.com/infinispan/infinispan/pull/8942
> REST server stop hangs when channel is open
> -------------------------------------------
>
> Key: ISPN-12570
> URL: https://issues.redhat.com/browse/ISPN-12570
> Project: Infinispan
> Issue Type: Bug
> Components: REST, Server
> Affects Versions: 12.0.0.Dev07
> Reporter: Dan Berindei
> Priority: Major
> Fix For: 12.0.0.CR1
>
>
> {{NettyTransport.stop()}} calls {{acceptedChannels.close()}} after shutting down the both the {{masterGroup}} and the {{ioGroup}}. But if a channel is still open, closing it requires submitting a task to the channel's event loop, which is now shut down.
> {{AbstractChannelHandlerContext.safeExecute()}} hides the rejection exception, but the {{ChannelPromise}} returned by {{channel.close()}} never completes, and the server doesn't stop.
> {noformat}
> java.util.concurrent.RejectedExecutionException: event executor terminated
> at io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:926)
> at io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:353)
> at io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:346)
> at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:828)
> at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:818)
> at io.netty.channel.AbstractChannelHandlerContext.safeExecute(AbstractChannelHandlerContext.java:989)
> at io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:608)
> at io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:472)
> at io.netty.channel.DefaultChannelPipeline.close(DefaultChannelPipeline.java:957)
> at io.netty.channel.AbstractChannel.close(AbstractChannel.java:232)
> at io.netty.channel.group.DefaultChannelGroup.close(DefaultChannelGroup.java:342)
> at io.netty.channel.group.DefaultChannelGroup.close(DefaultChannelGroup.java:221)
> at org.infinispan.server.core.transport.NettyTransport.stop(NettyTransport.java:135)
> at org.infinispan.server.core.AbstractProtocolServer.stop(AbstractProtocolServer.java:202)
> at org.infinispan.rest.RestServer.stop(RestServer.java:100)
> at org.infinispan.rest.helper.RestServerHelper.stop(RestServerHelper.java:86)
> {noformat}
> {noformat}
> java.lang.RuntimeException: Test timed out after 300 seconds
> at java.base(a)11.0.9/java.lang.Object.$$BlockHound$$_wait(Native Method)
> at java.base(a)11.0.9/java.lang.Object.wait(Object.java)
> at java.base@11.0.9/java.lang.Object.wait(Object.java:328)
> at app//io.netty.util.concurrent.DefaultPromise.awaitUninterruptibly(DefaultPromise.java:274)
> at app//io.netty.channel.group.DefaultChannelGroupFuture.awaitUninterruptibly(DefaultChannelGroupFuture.java:178)
> at app//io.netty.channel.group.DefaultChannelGroupFuture.awaitUninterruptibly(DefaultChannelGroupFuture.java:41)
> at app//org.infinispan.server.core.transport.NettyTransport.stop(NettyTransport.java:149)
> at app//org.infinispan.server.core.AbstractProtocolServer.stop(AbstractProtocolServer.java:202)
> at app//org.infinispan.rest.RestServer.stop(RestServer.java:100)
> at app//org.infinispan.rest.helper.RestServerHelper.stop(RestServerHelper.java:86)
> {noformat}
> {{CacheV2ResourceTest.afterSuite()}} sometimes hangs this way. Initially I attributed the hanging to ISPN-12558, but it looks like a separate issue.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 1 month