Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

akka http server shutdown expected #9432

Open
bovery opened this issue Jul 1, 2019 · 1 comment
Open

akka http server shutdown expected #9432

bovery opened this issue Jul 1, 2019 · 1 comment

Comments

@bovery
Copy link

bovery commented Jul 1, 2019

Play Version (2.6.x / etc)

API ( Java )

Operating System (cent os)

JDK (Oracle 1.8.0_72,)

Library Dependencies

mysql8 --- hikaricp

Expected Behavior

Please describe the expected behavior of the issue, starting from the first action.

  1. Normal operation of service

Actual Behavior

Please provide a description of what actually happens, working from the same starting point.

  1. after a actor finish,the http server sh Play Version (2.6.x / etc)

API ( Java )

Operating System (cent os)

JDK (Oracle 1.8.0_72,)

Library Dependencies

mysql8 --- hikaricp --- ebean

Expected Behavior

Please describe the expected behavior of the issue, starting from the first action.

  1. Normal operation of service

Actual Behavior

Please provide a description of what actually happens, working from the same starting point.

  1. after a actor finish,the http server shutdown this is logs:
019-07-01 00:17:01,431 [INFO]-[p.core.server.AkkaHttpServer]-[Thread-10]: Stopping server...
2019-07-01 00:17:01,466 [ERROR]-[i.e.s.t.TransactionManager]-[nioEventLoopGroup-2-3]: NotifyOfCommit failed. L2 Cache potentially not notified.
java.util.concurrent.RejectedExecutionException: Task io.ebeaninternal.server.transaction.PostCommitProcessing$$Lambda$878/1945541793@4ee198 rejected from java.util.concurrent.ThreadPoolExecutor@57c7d6b9[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 44824]
	at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2063)
	at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:830)
	at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1379)
	at io.ebeaninternal.server.lib.DaemonExecutorService.execute(DaemonExecutorService.java:41)
	at io.ebeaninternal.server.core.DefaultBackgroundExecutor.execute(DefaultBackgroundExecutor.java:36)
	at io.ebeaninternal.server.transaction.TransactionManager.notifyOfCommit(TransactionManager.java:418)
	at io.ebeaninternal.server.transaction.JdbcTransaction.notifyCommit(JdbcTransaction.java:957)
	at io.ebeaninternal.server.transaction.JdbcTransaction.flushCommitAndNotify(JdbcTransaction.java:1023)
	at io.ebeaninternal.server.transaction.JdbcTransaction.commit(JdbcTransaction.java:1070)
	at io.ebeaninternal.server.core.DefaultServer.commitTransaction(DefaultServer.java:805)
	at io.ebeaninternal.server.core.BeanRequest.commitTransIfRequired(BeanRequest.java:61)
	at io.ebeaninternal.server.persist.DefaultPersister.insert(DefaultPersister.java:431)
	at io.ebeaninternal.server.persist.DefaultPersister.save(DefaultPersister.java:417)
	at io.ebeaninternal.server.core.DefaultServer.save(DefaultServer.java:1630)
	at io.ebeaninternal.server.core.DefaultServer.save(DefaultServer.java:1622)
	at io.ebean.Model.save(Model.java:190)
	at models.station.StationData.save(StationData.java:33)
	at models.station.StationData.generateStationData(StationData.java:99)
	at services.ApplicationStart.dataReceived(ApplicationStart.java:215)
	at services.hj212.MessageHandler.parseEquipmentRealtimeData(MessageHandler.java:185)
	at services.hj212.MessageHandler.parse(MessageHandler.java:104)
	at services.hj212.MessageHandler.channelRead(MessageHandler.java:79)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:323)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:297)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1408)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:677)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:612)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:529)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:491)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:905)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:748)
2019-07-01 00:17:03,804 [ERROR]-[i.e.s.t.TransactionManager]-[nioEventLoopGroup-2-6]: NotifyOfCommit failed. L2 Cache potentially not notified.
java.util.concurrent.RejectedExecutionException: Task io.ebeaninternal.server.transaction.PostCommitProcessing$$Lambda$878/1945541793@7358b008 rejected from java.util.concurrent.ThreadPoolExecutor@57c7d6b9[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 44824]
	at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2063)
	at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:830)
	at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1379)
	at io.ebeaninternal.server.lib.DaemonExecutorService.execute(DaemonExecutorService.java:41)
	at io.ebeaninternal.server.core.DefaultBackgroundExecutor.execute(DefaultBackgroundExecutor.java:36)
	at io.ebeaninternal.server.transaction.TransactionManager.notifyOfCommit(TransactionManager.java:418)
	at io.ebeaninternal.server.transaction.JdbcTransaction.notifyCommit(JdbcTransaction.java:957)
	at io.ebeaninternal.server.transaction.JdbcTransaction.flushCommitAndNotify(JdbcTransaction.java:1023)
	at io.ebeaninternal.server.transaction.JdbcTransaction.commit(JdbcTransaction.java:1070)
	at io.ebeaninternal.server.core.DefaultServer.commitTransaction(DefaultServer.java:805)
	at io.ebeaninternal.server.core.BeanRequest.commitTransIfRequired(BeanRequest.java:61)
	at io.ebeaninternal.server.persist.DefaultPersister.insert(DefaultPersister.java:431)
	at io.ebeaninternal.server.persist.DefaultPersister.save(DefaultPersister.java:417)
	at io.ebeaninternal.server.core.DefaultServer.save(DefaultServer.java:1630)
	at io.ebeaninternal.server.core.DefaultServer.save(DefaultServer.java:1622)
	at io.ebean.Model.save(Model.java:190)
	at models.station.StationData.save(StationData.java:33)
	at models.station.StationData.generateStationData(StationData.java:99)
	at services.ApplicationStart.dataReceived(ApplicationStart.java:215)
	at services.hj212.MessageHandler.parseEquipmentRealtimeData(MessageHandler.java:185)
	at services.hj212.MessageHandler.parse(MessageHandler.java:104)
	at services.hj212.MessageHandler.channelRead(MessageHandler.java:79)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:323)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:297)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1408)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:677)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:612)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:529)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:491)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:905)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:748)
2019-07-01 00:17:04,230 [ERROR]-[i.e.s.t.TransactionManager]-[nioEventLoopGroup-2-12]: NotifyOfCommit failed. L2 Cache potentially not notified.

Reproducible Test Case

@bovery bovery changed the title this is akka http server shutdown expected Jul 1, 2019
@octonato octonato added the triage label Jul 9, 2019
@octonato
Copy link
Member

Hi @bovery, could you provide a reproducer for it?

I don't think this is related to akka-http tough. It looks more to a problem with the ebean integration. It is not shutting down properly.

@octonato octonato removed the triage label Jul 11, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants