mmodzelewski opened a new pull request, #4096:
URL: https://github.com/apache/iggy/pull/4096

   Every AsyncIggyTcpClient built its own event loop group with
   Netty's default of 2 x CPU threads. Its pool holds one channel,
   and a channel lives on one loop, so the other threads sat idle.
   Nothing let clients share a group. An application that opened one
   client per producer and consumer paid a thread count that grew
   with the client count.
   
   The group that a client creates for itself now has one thread by
   default, sized through ioThreads on the builder. eventLoopGroup
   registers the channel on a caller-owned group instead, and the
   client never shuts that group down. The builder rejects a group
   that cannot drive NIO channels or that already started to shut
   down, and ignores ioThreads when a group is supplied. The
   blocking builder forwards both options.
   
   The heartbeat ticks on the loop that owns the channel. A next()
   call per tick would rotate it across loops the channel never
   uses, and a next() call at construction would take a slot of the
   group's shared round-robin counter and push later channels onto
   the same loop. If a caller shuts a group down under a live
   connection, the heartbeat stops with a warning instead of dying
   in a swallowed exception.
   
   Refs #4021
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to