-
Notifications
You must be signed in to change notification settings - Fork 471
Closed
Description
Version: 0.14.2
Severity: Critical
Symptom: ApnsChannelPool cannot acquire Channel forever
Properties: concurrentConnections=1, eventLoopGroup=NioEventLoopGroup(1 thread)
Region: China(once every 2 days), Europe(once every 7 days)
Hi, Jon. I'm considering applying Pushy in the global environment. And I really appreciate your efforts.
Sadly I often faced a problem above with this so I'm trying to find the cause.
I believe these are the correct steps to reproduce in debug mode:
- Break at the last line of
io.netty.channel.nio.AbstractNioChannel#connect() - Down the network (ifconfig down or whatever)
- Resume application
- After few(<30?) seconds later, Netty calls
ApnsClientHandler#channelInactive() - Resume the network
- Then
ApnsChannelPool#pendingCreateChannelFutureshave 1createChannelFuturethat has not been done ApnsChannelPool#acquireWithinEventExecutor()can no longer create the proper Channel
Of course, we can reproduce this symptom in normal mode.
I think we must finish the createChannelFuture so I suggest inserting lines on ApnsClientHandler#channelInactive() to resolve pending createChannelFuture.
I look forward to hearing from you. Thanks.
Metadata
Metadata
Assignees
Labels
No labels